Welcome to the ARM Railroad Controller Project!

ARC is a free Do-It-Yourself DCC command station for model railroads based on the DCC protocol.



Why ARC?

The ARC project wants to create a free, powerful and scalable DCC command station with a modern graphical user interface that gets part of the large family of DIY command stations. ARC is based on STM32 microcontrollers of the ARM Cortex-M4 family and uses off-the-shelf development boards of ST Microelectronics. This shall enable a cheap and easy way into building your own command station without requiring electronics skills and implementing complex circuit designs. Besides the development board, you won’t need a separate programming adapter for flashing the firmware files.

Right now, the ARC project provides two command stations – ARC1 and ARC2. While ARC1 is already published and continuously getting updated with new features, ARC2 is still under development. So stay tuned – more info about ARC2 coming soon! ARC is meant to be a free project, which means that you can download the firmware for free and start building and playing instantaneously! The source code is available on request for support on development, forking or porting to different hardware platforms.

ARC does not (yet) include a booster design, as boosters are very specific hardware components and there already is a whole bunch of commercial and DIY booster projects out there in the web.

I’m always happy about feedback of all kind, new ideas, requests for extensions and bug reports. As I don’t have a large scale model railroad available, I’m also glad if you share your experiences of ARC controlling multiple locomotives and boosters. If you have pictures or links of your ARC implementation, please feel free to submit it, so that they can be shared here!

If you want to support the ARC project besides the above-mentioned feedback, you can either help on translating the ARC user interface to new languages or donate to support development.


You can find a complete overview of currently implemented functionality as well as upcoming features at ARC1 features and ARC2 features.

The current version of ARC1 supports up to 200 locomotives in parallel operation with 14, 28 or 128 speed steps and a menu-assisted programming of the decoder Configuration Variables (CVs). Accessory decoders are not yet supported but this feature will be available in the upcoming updates. Similar to commercial command stations and the excellent OpenDCC project, ARC uses an advanced algorithm for optimal utilization of available DCC bandwidth and controlling multiple locomotives in parallel. You can find more information about that in the Firmware section. Support of the XpressNet interface for connecting external equipment and Bluetooth control of ARC1 via Android devices are amongst the upcoming features.

Have fun with ARC!