12 abril 2013


Category: — Manolo @ 20:53

Esta es la única página escrita en inglés, a fin de facilitar el intercambio de información – principalmente con el proyecto Rocrail. Si alguien necesita información en castellano, como siempre, que no dude en mandarme un correo.

This page is the only one written in english, in order to make easier the exchange of information. If someone needs information in Spanish, as usual, do not hesitate and contact me by e-mail


For the last version of the code, please visit the repository:


From the main repository (RailPIC)  you can access the main components of the project:

  • RPIC (HW and Firmware) WIP.
  • RPICD (Daemon to act as gateway with the external world)

Additionally, it is possible to find some additional developments:

  • RailBOOSTER (to generate cut-off signals sent from RPIC) WIP.
  • RailLOCO (some basic loconet boards).

Some dockers have also been produced, the easies way to access them is through dockerhub.

  • RPICD docker (further explanations can be found in the on-line manual).
  • RailHOME, to sync rpicd config files and any other config files from other control software. Again, further explanations can be found at the on-line manual

MANUAL in here: Setting up rpicd_v2.1.


The raspberry and PIC (RPIC) is a very basic electronic circuit to have a multiprotocol central station running in the raspberry pi.

Yes, it is yet another solution for managing model trains. The main difference with other solutions is that RPIC is born to be used jointly with an ARM device in order to have a self-supported platform to generate the right signals to the train layout. The objective was to complement the raspberry pi with the minimum pieces of HW to get a full control center.

RPIC is basically code running on a Microchip microcontroller (currently a pic16f1825 or a PIC16F18326)

I have developed different versions of it. The first one, hereafter, was designed for a RPI1, with four buttons to program different actions. I used this board for more than one year without any problem.

Current version (v2.53) includes in a single board the design for the processing of signals to the booster, supporting Motorola, NMRA (DCC) and MMX (MM4) protocols. In addition, it provides the necessary adaptors to handle the feedback from MMX and an S88 Bus – still not fully developed. The rpic board also offers a pin header to activate a program track and let the rest of pins at the GPIO available for a second board – not developed – offering I2C and CAN communications.

The current features included in the firmware are:

  • Support for MM1 and MM2 protocol
  • Support for NMRA (long and short addresses) – 14,28 and 128 steps
  • Support for MMX (MM4) (not yet reading responses, but with the UID of the loco, it is possible to register the loco and send commands to it.)
  • Support for NMRA accessories (no extended accessories so far)
  • Support for writing CV.

There are some other eastern eggs. The development is not completed and coming features include:

  • Full support to reading and writing CVs.
  • MM accessories, MM1Fx and the special protocols MM3, MM4 and MM5 available in ddx (under demand).
  • Complete the development to read MMX feedback.