Serial is used for communication between:
- An Arduino board and other Arduino board
- An Arduino board and other sensors/devices
- An Arduino board and computer. In this case, in detail, the Arduino board communicates with:
- Any Serial softwares on computer
- Serial Monitor of Arduino IDE
Among them, the communication between Arduino and Serial Monitor of Arduino IDE is the most common-used by Arduino learners.
All Arduino boards have at least one serial port (also known as a UART or USART), and some have several.
|Board||USB CDC name||Serial pins||Serial1 pins||Serial2 pins||Serial3 pins|
|Uno, Nano, Mini||0(RX), 1(TX)|
|Mega||0(RX), 1(TX)||19(RX), 18(TX)||17(RX), 16(TX)||15(RX), 14(TX)|
|Leonardo, Micro, Yún||Serial||0(RX), 1(TX)|
|Uno WiFi Rev.2||Connected to USB||0(RX), 1(TX)||Connected to NINA|
|MKR boards||Serial||13(RX), 14(TX)|
|Zero||SerialUSB (Native USB Port only)||Connected to Programming Port||0(RX), 1(TX)|
|Due||SerialUSB (Native USB Port only)||0(RX), 1(TX)||19(RX), 18(TX)||17(RX), 16(TX)||15(RX), 14(TX)|
On Uno, Nano, Mini, and Mega, pins 0 and 1 are used for communication with the computer. Connecting anything to these pins can interfere with that communication, including causing failed uploads to the board.
You can use the Arduino environment's built-in serial monitor to communicate with an Arduino board. Click the serial monitor button in the toolbar and select the same baud rate used in the call to begin().
Serial communication on pins TX/RX uses TTL logic levels (5V or 3.3V depending on the board). Don't connect these pins directly to an RS232 serial port; they operate at +/- 12V and can damage your Arduino board.
To use these extra serial ports to communicate with your personal computer, you will need an additional USB-to-serial adaptor, as they are not connected to the Mega's USB-to-serial adaptor. To use them to communicate with an external TTL serial device, connect the TX pin to your device's RX pin, the RX to your device's TX pin, and the ground of your Mega to your device's ground.