Connecting to Pi Zero Using UART.

Connecting to a PI Zero via UART is, in my opinion, a much cleaner way of interfacing with a Raspberry Pi. All you need is: laptop to UART to Pi.

What is UART?

Universal Asynchronous Receiver-Transmitter – A UART is either; an individual unit or a part of a larger integrated circuit used for serial communication. This piece of gear is used to bridge from PuTTY (Windows) or a Unix command line TTY directly to the target device via a serial connection, in this case to a Raspberry Pi Zero.

To connect  to the pi we will only need to worry about 4 of these UART pins:
RXD – Receive Data | TXD – Transmit Data | 5V – 5 Volt power | GND – Ground

https://media.discordapp.net/attachments/422492927365742624/702094427199373312/IMG_20200421_093646.jpg?width=700&height=525
Figure 1 – USB to UART Serial Pin labels are displayed to the right.
https://media.discordapp.net/attachments/422492927365742624/702094428046622740/IMG_20200421_093824.jpg?width=700&height=525
Figure 2 – UART connected to PI zero headers using female jumper wires.
https://i.stack.imgur.com/yHddo.png
Figure 3 – Breakdown of PI headers.

Here you can see multiple Grounds and 5V, feel free to use any of those to connect to the UART.

Pin 8 you can see is GPIO14-UART0_TXD that is our UART TXD port. Connect this to the UARTS RXD port (notice that TXD and RXD are crossed over).

Pin 10 is GPIO15-UART0_RXD that is our UART RXD port. Connect this to the UARTS TXD port.

Connect these and plug the UART to a USB port on your Ubuntu machine then run dmesg and check the serial connection has been detected and assigned a tty.
The dmesg output should look something like the following:

Figure 4 – Output of dmesg command.

Now that we have an assigned tty we can use screen to connect to the serial device using the baud rate of 115200 using the following command:

sudo screen /dev/ttyUSB0 115200

Figure 5 – Raspberry pi shell through UART connection

And now you’re ready to go!