Universal Asynchronous Receiver-Transmitter
- It allows two devices to communicate
- It requires only two wires
Plus a common ground
- It is a serial protocol
Data is sent serially on the same wire
- It is full-duplex
Data can flow in both directions at the same time
One of the devices uses a wire to transmit(TX) and the other to receive(RX),
the wires are crossed between the devices
Universal Asynchronous Receiver-Transmitter
(continues...)
- It is asynchronous
There is not an explicit signal to constantly synchronize the devices (see later)
- It supports a wide range of baud rates
From 50 bits/s to 921600 bits/s
- You probably know it with the name
RS-232
(one of its implementations)
- It is (probably) the dumbest protocol you can know
Arduino UNO R3 has dedicated hardware for UART which exposes RX on pin 0 and TX on pin 1
It uses UART both for serial communications with pc
(Serial)
and for uploading sketches* on it
* n.b. pay attention when you have two Arduinos connected using UART during the upload phase
UART is a simple protocol,
it does not require complex hardware to work,
and it can be easily implemented also as software (SoftwareSerial*)
* you can use it if your project requires multiple UART