Using the UART interface

Using the UART interface
Image from

UART (universal asynchronous receiver/transmitter) is a communication interface used between two microcontrollers. Data signals are transferred using two lines, one for transmitting signals (Tx) and one for receiving signals (Rx).

This is an ongoing post. Please suggest corrections, explanations, etc. in the comment section at the bottom of this page.

Most microcontrollers these days have built-in UARTs that can be used to receive and transmit data. Their UARTs are used for the programming, control, configuration and/or analysis/debugging. These connections are used for remote connections to the microcontroller. This allows access to a microcontroller, using another microcontroller controlled device containing an interface (third party interface). Commonly used interfaces include PC based software which utilises USB to TTL serial converters containing FT232 microcontroller chips (e.g. the FTDI USB to TTL serial converter module), but a direct connection can also be made.

Data signals are transmitted sequentially (in serial), over a single wire, 1 bit at a time. Data signals are received (Rx) from the communicating microcontroller’s transmit (Tx) line and is send/transmitted (Tx) to the communicating microcontroller’s receive (Rx) line.

TTL serial signal
TTL serial signals exist between a microcontroller’s voltage supply range – usually 0V to 3.3V or 5V. Image from

Each bit is represented by a ‘0’ or a ‘1’. The supplied voltage of the microcontroller is used to represent these bits. Microcontrollers use TTL (transistor-transistor logic) to send/receive bits. TTL serial signals exist between a microcontroller’s voltage supply range – usually 0V to 3.3V or 5V. 0V (GND) will represent a bit value of ‘0’ and Vcc will represent a bit value of ‘1’. A signal at the Vcc level can also indicate an idle line or a stop bit whereas a 0V signal can also represent a start bit.

Data characteristics

Data format and transmission speeds are configurable. The speed/rate at which data is transmitted is specified as bits per second, or bps. Common data rates used are 9600bps, 115200bps, etc.

Other data characteristics include the direction (“full duplex” will send and receive data at the same time and “half duplex” will take turns to send and receive data) and with or without parity.

RS-232 serial connections

Although there are many similarities, TTL serial connections are different from RS-232 serial port connections. Connecting TTL devices directly to a serial port (of, for example, a PC – 13V) may damage the device. PCs can, however, safely use TTL for serial communication by using USB to TTL serial converters (e.g. The FTDI USB to TTL serial converter module).

Related product links

Please support Behind The Scenes by using these links to purchase these related products online from our partner websites. Links will open in a new window...

About the author
Renier busies himself with improving his English writing, creative web design and his websites, photoshopping, micro-electronics, multiple genres of music, superhero movies and badass series.
Behind the Scenes is a free, informative website. If you find value in any of our content, please consider making a donation to our cause.
Donate via PayPal

Save, share & Disqus

Use the buttons below, on the left or the bottom of this page to share this post. Your comment is important, but don't be a knob. Keep it constructive and polite.

Comment via Disqus

Disqus is a worldwide comment hosting service for web sites and online communities. This secure platform ensures a pleasant commenting environment which is manageable from one account. Use the Login button to sign up.

More microelectronic related posts

Get WP Toolset – for custom WordPress development without programming
Get WP Toolset – for custom WordPress development without programming
18 August 2019
Ad: Extend the functionality of WordPress with regards to its ability to store data and publish it on your website. More…
Using the Arduino IDE to program the ESP8266
Using the Arduino IDE to program the ESP8266
12 October 2018
After several steps of preparation, the ESP8266 can finally be programmed. Fortunately this step has been made fairly simple by using, what is a familiar platform for many, the Adruino IDE. This post will show how to upload a few variations of the basic Blink sketch to an ESP-01 together with the wiring of LEDs. More…