Debug interface pinout, schematics and technical details.
DCD stands for Dronecode Debug, and the letters LZ stands for the NXP design partner Landzo and uniquely differentiate it from DCD-M and DCD-S. The DCD-LZ interface used on RDDRONE-FMUK66 is similar to the normal Dronecode debug interface (DCD-M or DCD-S), but with the following changes:
It is 7 pin instead of 6 pin, the RST line for the MCU is added.
It uses the same JST-GH connector as the other interfaces instead of the smaller JST-SH or JST-SUR.
Details on the original interfaces can be found here:
Pin
Signal
Voltage
1
VCC
+3.3V
2
UART TX
+3.3V
3
UART RX
+3.3V
4
SWD DIO
+3.3V
5
SWD CLK
+3.3V
6
MCU RESET
+3.3V
7
GND
GND
Rev. B (and older boards) are not supported anymore. This information is left for reference.
One of the two interfaces on the DCD-LZ connector is the ARM SWD interface. SWD stands for Serial Wire Debug and is an ARM processor alternative to the JTAG interface. It is what is used to program the board "from scratch" even when there is nothing in the microcontroller memory. This is in contrast to the USB bootloader, which relies on the fact that valid PX4 software is already running.
Note - While the RDRONE-FMUK66 uses NuttX RTOS and the PX4 flight stack by default, any other RTOS and flight stack could be loaded. In fact ANY software compiled for the NXP Kinetis K66 MCU could be loaded including ARM MBED, FreeRTOS, MQX RTOS, or BareMetal code using MCUXpresso and KSDK (Software Development Kit peripheral libraries).
The UART is typically used to access the primary serial console of the target which can be helpful while debugging. Note that this should not be confused with the fact that when PX4 is running a second and third instance of the serial console that are available via the USB interface and telemetry UARTs on board. (Technically the console can be routed to multiple locations). The difference with the primary serial console is that it will show the NuttX bootup sequence of the board and can be used to identify lower level issues before PX4 is even running.
Breakout board that exposes the different interfaces from the DCD-LZ connector.
In order to work with the DCD-LZ interface you will need a small breakout board which allows you to easily plug in each connector for all devices. The HoverGames kit includes a small board made by NXP which has a 10 pin SWD connector for Segger J-Link debuggers, a USB-TTL-3V3 header. There is also an unused "Landzo" 4 pin serial connector.
Pin 1 (black) of USB-TTL-3V3 is marked with a black dot on the DCD-LZ-ADAPT board. There is a corresponding dot marking pin 1 on top of the 3D printed case.
DCD-LZ pin
Signal
Voltage
USB-TTL-3V3 pin / color
J-Link EDU Mini pin
1
VCC
+3.3V
1
2
TX
+3.3V
5 / Yellow
3
RX
+3.3V
4 / Orange
4
SWDIO
+3.3V
2
5
SWCLK
+3.3V
4
6
RST
+3.3V
10
7
GND
GND
1 / Black
3
Note that FTDI USB-UART cable presents 5V on pin3. There were originally two forward dropping diodes installed to feed this forward to the rest of the PCB. They have subsequently been removed in newer revisions and therefore it should be noted that JP1 pin 3 does not connect to 3V3 nor to to Pin1 of the DCD-LZ connector. An updated schematic is below.
The 10 pin connector is small 0.050" pin spacing connector. This is found on the J-Link EDU Mini.
Note that this is officially referred to as a 9 pin connector since the specification calls for a keying plug to be used to block pin 7, over time this seems to have become less common.
A small case for this board has been created that can be 3D printed. The case includes an orientation mark for the ground pin of the FTDI cable and a shape which helps correct orientation of the Landzo serial port. The case should be included with the HoverGames kit, and the model is available on its own page.
The cable is just a 7 pin JST-GH straight through cable.