ArSigDec is an Arduino sketch that acts as a DCC signal decoder for all light signals.

Arsigdec 2.0 is released

* Adjustable maximum brightness per led
* Adjustable on-off fading per signal
* Also available for MEGA2560 supporting 30 signals or 65 leds
* Putty speed set to 57600 baud
* Fixed French signals in database

Two modes of operation

ARSIGDEC runs in two different modes. A configure mode and a run time mode.
In configure mode you configure the signals that you want to use.
The Arduino is connected via USB to your computer. With only your keyboard and monitor you can easily, with a simple question and answer ‘game’,  specify all the settings that you want for your signals. Therefore ARSIGDEC uses one-character commands. See the manual for examples. It communicates with you by using a terminal emulator program called Putty.
No complex puzzling with CV’s!

With the E-command (Exit) you change to run time mode.
In run time mode ARSIGDEC ‘listens’ to the DCC signals on your track.
If an address passes by that you have configured for one of the signals, ARSIGDEC will set the signal according its configuration.

All ARSIGDEC features one by one:

  • Controlling a maximum of 8 signals per UNO or 30 on MEGA
  • Controlling 16 leds per UNO or 65 on MEGA
  • A signal may contain upto 8 leds. Parallel connected leds count for one led.
  • A signal can have upto 10 different aspects
  • A signal can be configured manually. You can specify for each aspect and for each led its action: on , off or flashing.
    In this way you can configure almost all signals in the world.
  • Support of Dutch ‘P-signals’ (red-green change with automatic intermediate yellow)
  • Contains a database with the most important signals. You don’t need to configure these signals. Just select a signal numner from the database.
  • Configurable on/off times when flashing.
  • Configurable on/off fading time per signal.
  • Configurable maximum brightness per led.
  • Suitable for signals with common anode and common kathode.
  • Interactive, via screen and keyboard, configuring of the signals. That is independant of your DCC Central and no puzzling with complex CV’s.
  • No need to use the Arduino IDE (development environment)
  • Assign a random DCC base address (1-2000) for each signal.
  • One(1) DCC address controls two different aspects.
    Subsequent addresses are used for more aspects.
  • A test option. All signals are showed
  • A documentation option shows all settings.
  • Assign an alpha numeric administrative code to a signal
  • A reset option that clears all settings from memory.
  • Option to correct the address offset of a Roco cental (MM, z/Z21)
  • A help options shows all commands.
  • A log option in which all configuration sessions are saved.
  • Independant of used bus structure (S88, LocoNet, XpressNet)
    But in operation mode it uses only DCC

Hardware requirement:

The standard DCC signal can’t be used directly to an Arduino.
A small electronic circuit is required to adapt the DCC signal for the Arduino:

DCC circuit

You can make this circuit yourself on a piece of veroboard.
But it is much more convenient to use a dedicated shield for the Arduino UNO:

This shield contains the DCC-circuit and also a 9 Volt power supply for the Arduino and an additional 5 Volt for e.g. the leds in the signals.
The same shield is used for the Mardec


A print and the components (only €4,25!) can be ordered here.

And of course you need an Arduino:  Get your Arduino’s here

Another option is to use the new DCCNext decoder!

How to connect:


Download here software and manual.

3 thoughts on “ArSigDec”

  1. To date I’ve used the software only. It’s easy to use and saved lots of time due to being able to mix types of signals on just one board. I’m using two head and three head searchlight signals both in common anode and common cathode configurations. Up until now I’ve kept each type on it’s own board but no longer.
    Looking forward to using the shield components and boards.


  2. Is one able to use the ArLoco sheild to interface with ArSigDec (or for that matter the MarDec) ? This would enable DCC signals to come from Loconet rather than the track.
    I see that some work would be required as the input pins are different.
    I ask because although I’m happy to use the DCC signal from the track on my home layout, we don’t allow that on the club modular layout that gets very large at times and (rightly or wrongly) we don’t want to interfere with the track signal.

    Thanks, Ted

    1. Hi Ted,

      No, you can’t use the ArLoco for that.
      You can use the LocoNet-B connector of the command station or booster and connect both outer wires 1 and 6 to the DCC input of Mardec/Arsigdec.

Leave a Reply

Your email address will not be published. Required fields are marked *