À cette page en Français, veuillez cliquer ici.

New:  The DCCnext decoder is available! Read all about it here!


The use of an Arduino microcontroller in model railway is commonly known.
However, really applying it, is for most people much too complex.


An Arduino is actually a microcomputer. It has a lot of external connections (called ‘pins’). Each of these pins can be an input as well as an output. With these pins you can control all kinds of electronics around your modelrailway.
That includes servo’s, leds (signals/lightning), relays, led strips and turnout coils.

Like every computer it needs a program (called ‘sketch’) to do something useful.
Writing a sketch is normally done in the ‘Arduino Integrated Development Environment’.
That is a kind of dedicated text processor in which you create your code. You can upload your code via USB to the Arduino.

But programming an Arduino or making small changes to a sketch may be a big problem. That’s why the Arduino remains the domain of a small group of users with more technical knowledge. That’s too bad, because you can automate your model railway very cheap with an Arduino. To make the Arduino accessible for everyone I ‘ve made three programs for an Arduino. With these three programs you can automate your whole model railway.
Together they form the ArCoMoRa concept.

With ArCoMora, it is no longer necessary to write one letter of Arduino code.
Also you don’t need the Arduino Integrated Development Environment.

ArCoMoRa stands for Arduino Controlled Model Railway. On a digital controlled model railway based on the ArCoMoRa concept the whole automation is done with Arduino Microcontrollers without writing one single line of Arduino-code.
As protocols ArCoMoRa uses DCC and LocoNet®.
Each Arcomora program has its own specific task.

  • MARDEC is a multifunctional DCC decoder for servo’s and accessory’s.
    With Mardec you can control upto 12 servo’s and many accessory’s like e.g. leds, relais, led strips and coil turnouts.
    A Mardec has a maximum of 16 configurable devices. You can also define ‘inputs’. With an input you can control devices without a DCC signal but with e.g. a reed switch or current detection circuit
  • ARSIGDEC is a DCC signal decoder for light signals. It can control up to 8 signals per Arduino. Each signal can have a maximum of 8 lights and 10 aspects with a total maximum of 16 lights per Arduino.
    With Arsigdec you can create your own signal aspects. So you can use it for almost all light signals in the world.
    The Arsigdec also contains a database with many used signals.
  • ARLOCO is a feedback encoder based on LocoNet®. It supports up to 16 input channels for detecting a train. Each input can be optimized for pulse detection (e.g. a reed switch or infra red) and continuous detection (like current detection)

The most important feature of all ArCoMora programs is that they can be configured very easily without any programming knowledge. You configure ArCoMora with a simple ‘question and answer game’ on your PC.
You don’t need a digital command station or a complex setting of CV’s.
Configuring is usually mistakenly called programming. To avoid confusion, I use the term ‘programming’ for writing the Arduino code and the term ‘configuring’ for specifying the functions of the connected devices.
To make that possible all ArCoMora programs are using two different modes:
Configure mode. In this mode you can configure all the functions of the connected devices.
Operation mode. In operation mode Mardec and Arsigdec are ‘listening’ to DCC addresses and will respond as configured. ArLoco scans for trains on your track and reports that to your digital command station or computer via LocoNet®.


5 thoughts on “Home”

  1. Thank-you,
    This is what I need!
    I automated my railway some years ago with a now redundant “Oak Tree Systems – RCI” cards that used static decoders for each track block and runs DC locos.
    “Train Controller” software operates this railway well but I am now installing a DCC network in addition to the old RCI networks.
    I am installing Arduino decoders for additional signaling and accessories and will follow your guide.
    Would it be possible to develop an Arduino sketch for a 4 amp, bi-directional output suitable for use as a static decoder?

  2. Just found your page today via a Youtube video. I started last winter to use Arduino and Raspi for my modeltrain setup. You guys did really a great job putting this together. Looks like it works with Digikeijs as well.

Leave a Reply

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