All posts

Example: when the UART stays silent during bring-up

1 min read
  • Bring-up
  • Debugging
  • UART

This post is a placeholder. It shows how the different elements of a blog post look on the site: headings, lists, quotes, code blocks, logs and tables.

The situation

New board, freshly assembled, power is on. The supply rails are fine, but nothing comes out of the debug UART. No bootloader, not a single character.

The usual suspects at this stage:

  • wrong baud rate, or RX and TX swapped
  • the processor never starts, for example because of wrong boot pins
  • no clock, because the crystal doesn’t oscillate

First measurement

Check the obvious first: is there any activity on the TX line at all? A quick look with the scope saves a lot of guessing.

Tip: at 115200 baud one bit is about 8.68 µs long. If the shortest pulses on the scope look very different, the baud rate is wrong.

Open the console on the host:

picocom -b 115200 /dev/ttyUSB0

The cause

The device tree had the wrong pin mux for the UART:

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

After the fix, the first sign of life finally appeared:

U-Boot SPL 2026.01 (Oct 11 2026 - 20:14:02 +0200)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
Normal Boot
Trying to boot from MMC2

Measured values

Signal Expected Measured
VDD_SOC 0.85 V 0.85 V
VDD_DRAM 1.10 V 1.09 V
24 MHz XTAL running running

Images

Images are added in the editor with the image button. They are automatically resized and converted to a modern format when the site is built.