Hardware Hacking

Tools

Tutorials

UART

A UART is a chip or sub-component of a microcontroller which provides the hardware to generate an asynchronous serial stream such as RS-232 or RS-485.

Common Use:
UART is widely used for serial communication between devices, such as between a microcontroller and a PC or between two embedded systems. It's frequently employed during development for debugging, allowing developers to monitor program execution through a serial console or send commands to the system in real time.

Why it's Found in Devices:

Frequency:

Typical Applications:

JTAG

JTAG: Joint Test Action Group, is an industry standard for testing and debugging electronic systems.

Common Use:
JTAG is primarily used for hardware debugging, programming, and boundary-scan testing of integrated circuits (ICs), microcontrollers, and FPGAs. It gives developers low-level access to the internals of a chip, allowing them to directly manipulate registers, step through code, and flash firmware. JTAG is a key tool during the development of complex systems and is heavily used in manufacturing for testing PCBs and chips.

Why it's Found in Devices:

Frequency:

Typical Applications:

JTAG pins

Here is an example of a router's PCB:
Pasted image 20240228162410.png|450

On this router's circuit board, the debug header is labeled (VCC, GND, RX, TX). They are often not labeled and are sometimes hidden amongst other headers. Identifying them can be done with a logic analyzer.

jtag-pinouts.png|450
In this case, some header pins were soldered onto the board to make it more accessible.