À 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®.


9 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.

  3. I am using ArLoCo with RRTC and an Intellibox1.

    I have 25 sections equipped and everything is working perfectly.

    I also have 25 turnouts equipped with Mardec, the operation is perfect.

    I encourage everyone to use this solution which is simple, inexpensive, and without any problem.

    This is surely the best solution in DCC, especially since we have a real LocoNet which is much better than the S88.

  4. Hello!
    I’m Li from China
    I’m a beginner who just started to learn railway model. I learned to make your design project. For me as a beginner, your project is very helpful, especially when I can’t program.
    Thank you for all your work. Thank you from the bottom of my heart!

Leave a Reply

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