Raspberry Pi Trading LTD

RP-003139-SP - 4

Raspberry Pi 3-pin Debug Connector Specification
Introduction
Raspberry Pi is standardising on using a small, keyed, 3-pin connector which can be used for either
UART or 2-wire serial debug interfaces. Future Raspberry Pi devices with dedicated serial debug orUART interfaces will, where possible, use this connector and follow this specification.

The oldest and most universal ‘debug’ port is a simple 16550-style UART. A UART requires 2
unidirectional pins, one to transmit data from the target to the host (TX) and one for the otherdirection (RX).

The 3-pin serial debug connector interface is designed to work with a single unidirectional clock pin
and a bidirectional data I/O pin. This arrangement can support ARM’s Serial Wire Debug (SWD) orthings like cJTAG, for example.

This document uses the words target and host to describe the debug target (e.g., a Raspberry PiPico) and debug host (the debug dongle, e.g., RP2040 running debugprobe) respectively.

*Note when talking about UART TX and RX, we are talking about these pins from the target
perspective. E.g., if the target is a BCM2711 SoC, then RX means the signal driving into the SoC andTX driving out from the SoC.

PinoutEach of the interfaces needs 2 pins and a ground, so a keyed 3-pin connector can be used for both:
Pin Number
12
3

UART Signal
RXGND
TX

Serial Debug Signal
SC (serial clock)
GND
SD (bidirectional serial data)

We specify the pinout such that the unidirectional SC (which is driven into the debug target) is on
the same pin as the UART RX signal that is in the same direction (this avoids contention as we areusing the same connector for both UART and serial debug so mis-plugging is possible).

We specify that SD and UART TX are on the same pin. Using the specified pinout If you plug a UART
into a serial debug interface it is ‘safe’ and no contention will occur. If you plug a serial debug
interface into a UART, contention is possible on the TX/SD pin but current will be limited by thetermination resistors.

Raspberry Pi Trading LTD registered in England and Wales. Company No. 8207441
1

Raspberry Pi Trading LTD

RP-003139-SP - 4

We further specify ‘source termination’ resistors on both pins at both ends of the link:-100 Ohm resistor on the SC/TX and SD/RX IC pins at the host-

100 Ohm resistors on the SC/RX and SD/TX IC pins at the target

These resistors must be placed very close to the IC pins of the debug host and the target device so
the serial combination of 200R only has to ‘drive’ the pin capacitance and shortest possible PCB
trace capacitance.
The resistors provide some slew limiting (better for signal integrity and EMC), short-circuit and ESD
current limiting. Note that the 100R resistors at the target are not strictly required but highly
recommended unless the platform is very low cost and/or space constrained.

The series resistors will limit the maximum speed of the interface, however over a few 10s of CM ofcable and PCB ~30MHz performance should still be achievable.

3 pin SH connectors
100R

100R
SC/TX
Debug Host IC

SD/RX

100R

123

123

HOST

SC/RX

100R

Debug Target IC

SD/TX

TARGET

Straight-through (pin 1 to pin 1) cableVoltages
We specify that the interface on the debug host should operate at 3.3V (+/- 10%). It is recommended
that targets use 3.3V I/O where possible but they can operate at IO voltages of between 1.8 to 3.3V(+/- 10%) as long as they follow the rules below.

Hosts and targets using these interfaces MUST have 3.3V failsafe pads. (Failsafe means that even if
the host or debug target is unpowered, the pins will survive 3.3V+10% being applied to themcontinuously and will not draw any current).

We allow a debug target to work at lower voltages, say 2.5V or 1.8V, but in this case, as before, thepins used MUST still be both 3.3V tolerant and failsafe to 3.3V (plus 10%). Note that the RP2040

Raspberry Pi Trading LTD registered in England and Wales. Company No. 8207441
2

Raspberry Pi Trading LTD

RP-003139-SP - 4

microcontroller pins satisfy the above tolerance and failsafe requirements when being used at any
voltage from 1.8V to 3.3V.

We further specify that debug hosts MUST be able to work correctly with IO voltages down to 1.8V
on their TX/SD pin (pin 3). This allows targets using 1.8V IO (which, as per the previous paragraphstill must have 3.3V tolerant and failsafe pins) to interface to the debug host reliably.

Connector
We specify the connector to be a 1.0mm pitch 3-pin JST ‘SH’ connector either BM03B-SRSS-TB (topentry) or SM03B-SRSS-TB (side entry) types, or compatible alternatives.

The following PCB footprints show the pin numbering for both top and side entry types and signal
direction from the target perspective. For clarity, the fact that we are showing UART on a side entry
type and serial debug on the top entry type is just for example – either type can use either interface:

Raspberry Pi Trading LTD registered in England and Wales. Company No. 8207441
3

Raspberry Pi Trading LTD

RP-003139-SP - 4

Further Requirements
Products should, where possible, clearly mark what interface the 3-pin connector is for, to avoid
users plugging in the wrong interface. If it is not possible to clearly mark the connector (e.g. if thePCB is too small and/or dense) then it should be clearly marked in the product documentation.
Mark ‘UART’ next to the connector for a UART.
Mark the type of 2-wire debug interface next to the connector for serial debug (e.g. ‘SWD’ or ‘cJTAG’)or alternatively mark as ‘DBG’, ‘DBUG’ or ‘DEBUG’.

Raspberry Pi Trading LTD registered in England and Wales. Company No. 8207441
4