Debugging the Logic


Since all of this is somewhat of a ‘black box’ kind of thing, I’ve written up some tips and hints below to help you understand what is going on a bit better and a way to see the signals.

First of all, DCC is not a big mystery as some have tried to make it. It can get a bit weird if you are wiring large layouts using track power as in the smaller scales, but we are driving a single decoder here at it’s default address with an on board power supply, so it is rather simple. DCC is an older technology (1990s etc) but if you remember the old 9600 baud teletype machines or early computer terminals, the signals are very similar. In the images above, this is DCC at a logic level (5v). I’ve put a little bit of time between the individual packets so you can see them better. The ones and zeros are designated by the different pulse widths.

Basically, you send ‘packets’ of information, 3,4,5 bytes per packet depending on what it is. There are packets to control the speed and direction of the locomotive and packets that are sent to trigger ‘functions’ Functions can be sounds, lights, actuators, fans, smoke units, etc. These are programmable things inside the DCC decoder.

The official documents for the DCC spec can be found at the NMRA official DCC site

All of the specs on DCC can be found Top Level NMRA site

Even with all the docs, you still need a way to see the signals so you know the timing is correct so you will need a logic analyzer. These used to be expensive but these days you can pick one up for about $10 off of Amazon. Using some free software you can see the signals and decode things like SPI and serial communications. Highly recommended if you are going to take a deeper dive into this stuff.

Logic Analyzer from smile.amazon.com

You can download the software for this unit here: Saleae Logic Analyzer Software