• DCC Decoder Shield for Arduino

DCC Decoder Shield for Arduino



The ARD-DCCSHIELD is an optoisolated interface shield for connecting an Arduino (as a decoder) to a model railroad DCC control system.  The board has provisions for sending a DCC ACK pulse, connecting I2C accessories and general purpose I/O lines, as well as optionally powering the Arduino from DCC power and providing up to 400mA of 5VDC to connected circuitry.  The board is designed to be compatible with various DCC decoder libraries and Arduino boards.  We typically use Alex Shepherd's excellent NmraDcc library.

Note:  The board implements the functionality necessary for being a decoder.  It does not implement the ability to generate DCC signals (ie, act as a command station).


  • DCC interface for Arduino
  • Support DCC ACK pulse
  • I2C port and general purpose I/O lines
  • Can be powered from DCC power
  • Provides 5V, 400mA auxiliary power
  • Compatible with various DCC decoder libraries


2.7"(L) x 2.1"(W)


The complete gEDA design files are available on GitHub.

Schematic (v2.x - boards after 6/2022)
(v1.x - boards before 6/2022)

Hardware Reference

Note: Arduino is a registered trademark of Arduino AG.

  • $30.00

  • 7 in stock

Related Products

16-Channel I2C Relay Board Driver

16-Channel I2C Relay Board Driver

The I2C-RELAY16 is designed to piggyback on commonly available, Chinese-made, boards with 16 SPDT re..


40-Channel I2C Digital I/O Expander

40-Channel I2C Digital I/O Expander

The I2C-XIO is a 40-channel digital I/O expander with an I2C interface, based on the NXP PCA9698.&nb..


News & Application Notes

Introducing the ARD-DCCSHIELD v2.0!

The Arduino DCC interface shield (ARD-DCCSHIELD) was one of our oldest products still in production.  The original design was from 2015, when we were still fairly new at this and trying to figure out how to make a product. While the design itself was solid, all the fiddly jumpers and such made it a pain to manufacture and test.   As we’ve gained more experience as a company, we’ve learned how to optimize designs for better manufacturing.  

It’s not just a benefit for us.  As everyone knows, the cost of nearly everything is going up.  One key way that we can hold the lid on prices (at least for a while) is to reduce our manufacturing costs, allowing us to eat some of the parts cost increases and still hold our margins rather than just passing the cost along to you.

Plus, the world has changed in the 7 years since it was designed.  Our original attempt at a standard I2C peripheral connector – the RJ11 – has been long surpassed by the open Qwiic (Sparkfun) / STEMMA (Adafruit) 4-pin I2C connection standard.  By including this connector on the shield, we allow you easily to integrate hundreds of different I2C peripherals made by dozens of different companies (including us).

The new board keeps all the great features of the old one while adding a few new ones, like easy DIP-switch configuration rather than moving jumpers around, and the Qwiic-compatible expansion connector.  They should be in the store within a couple weeks.

The new ARD-DCCSHIELD v2.0
The new ARD-DCCSHIELD v2.0


High Current DCC Accessory Decoder

One of our customers was trying to build an accessory decoder using our I2C-RELAY16 to drive a bank of relays for high current loads, and they were having a bit of trouble.  So, I thought I’d sit down and work through the issues tonight, as I’ve always thought having an accessory decoder with isolated, high current relay outputs might be nice. 

[See image gallery at www.iascaled.com]

Controlling an SDX-1 with DCC

This is very much a “because I could” project, so keep that in mind…  I built the SDX-1 soon after it appeared in Model Railroader in 1991.   It served its purpose, both on my home layout and at several NTrak layouts with which I was involved.  However, it has sat dormant for many years.  A few months ago, I started to wonder what it would take to DCC enable it (it was originally intended to be used with DC throttles). So, with an Arduino and a little code, I now have a sound system that can make an N-scale diesel shake the room (literally!).

Keep in mind that the sound on the recording doesn’t do justice to the low frequency components. It’s much better to hear (and feel) in person.  And yes, there are many other ways (maybe even more practical) to do this.  This, however, was intended more as a fun application and test of the DCC Arduino Decoder Shield than any practical application.

As for the equipment seen in the video, from left to right, there is the SDX-1, an Arduino + DCC shield, a very crude level-shifting PWM DAC (i.e. a single transistor), and the Lenz DCC base station. The SDX-1 is driving the speaker itself (out of view below, sitting on the floor).


Write a review

Note: HTML is not translated!
    Bad           Good