Identify UART
Last updated
Last updated
This page should will teach you how to identify an UART interface. If you already confirmed the found debug connector is using UART you may continue with Connect to UART.
To interact with a UART interface, you would need:
A multimeter
an USB to UART TTL adapter
jumper cables
and in some cases: a soldering station
After opening the device follow the following steps to identify UART.
Checkout which chips are used
Google the datasheet of each chip you find (model should be printed on top of the chip)
It can be useful to take a picture of the PCB and label everything you can identify
Check for connector or test pads
For UART we need pins: TX,RX,GND often manufacturers also put a VCC pin next to power the device. So we are looking for 4 pads or pins on the PCB board, like here:
Even better if we find actual pins, where we can connect jumper cables to:
To verify if the identified pins are UART, we can use a multimeter. The simplest approach is to test for continuity between the suspected pins and the known UART pins on the MCU, as indicated in its datasheet. However, if the MCU has a BGA layout with pins beneath the chip, this method won't work. In such cases, measuring the voltage of the suspected pins can help make an educated guess to identify the correct ones.
The first step is to put your multimeter in continuity mode (often a "sound" symbol). This mode will check if there is a direct link between two points on the PCB
Next we need identify a reference point to check against. Luckily manufacturers provide us often with datasheets of their MCUs, which include the pinout of the chip. So google your chip and find the TXD, RXD pins in the datasheet, like here:
Now we can start our continuity test:
Put one probe on the connector pad you want to test
The other one should be on the exact pin on the chip (RX or TX).
It should look like this:
If you hear a BEEP, then there is a direct link between the pin and the pad you checked. You need to find the GND (ground), TX (transmit) and RX(receive) pins to communicate with UART.
If you could identify all the needed pins, you may now Connect to UART.
https://www.secureideas.com/blog/hardware-hacking-finding-uart-pinouts-on-pcbs
https://github.com/koutto/hardware-hacking/blob/master/Hardware-Hacking-Experiments-Jeremy-Brun-Nouvion-2020.pdf https://redfoxsec.com/blog/decoding-the-mystery-identifying-unlabelled-uart-pins/