Why reinvent and why use 32 bit processor when a less than $2 eight or sixteen bit micro is more more than adequate? The model railroad “electronics” community is alive and kicking with a great DIY projects, software and support and provide great starting points. Since most of the software is Open Source we Geeks can hack to create that perfect system. Older efforts such as the Bruce Chubb designed Computer/Model Railroad Interface (C/MRI) System is alive an kicking with support from JLC Enterprises (http://www.jlcenterprises.net/). Newer efforts include the designs, kits and software from the Model Electronic Railway Group (MERG ) (http://www.merg.org.uk/) and the Local Control Bus (OpenLCB) (http://openlcb.org/).
C/MRI systems are based on 68xx series and other eight bit microprocessor based nodes communicating over RS232 and RW485 serial buses. MERG uses uses newer MicroChip PIC microprocessor based nodes with the original system communicating over a custom NMRA DCC bus with the latest designs communicating over a customized Controller Area Network* (CAN) bus. The initial OpenLCB (http://openlcb.org/) effort is based on Atmel AVR microprocessors with additional support for PIC microprocessors (http://www.youtube.com/openlcb). OpenLCB also communicates over CAN bus. All of these systems provide interfaces to PCs (e.g. RS232, RS485, USB, LAN, etc.) and also are supported by JMRI (http://jmri.sourceforge.net/). MERG also seems to be moving towards OpenLCB.
I am currently working on converting a Digitrax Loconet DCC N scale demonstration layout to a CAN bus connected OpenLCB layout. The layout is an oval / figure eight with one through and two dead end sidings. The layout includes eight switches with signaling, eight power blocks with current detection and auto reverse and sixteen detection sections. Most of the smart nodes are based on MERG designs and software but updated using sixteen bit PIC microprocessors which allows me more options and better support for programing in assembler and C. I am working on a CAN to Loconet interface, but currently use Android phone and Apple iPod touch apps through JMRI for wireless throttle control.
Besides the PC, the hardware will include one USB to CAN board, one DCC command station board, two quad block power controllers with , two switch driver boards, one signal board driving the eight Digitrax signal heads, a sixteen channel detector board for receiving the signals from the two eight channel section detection boards. For the garden layout with the moisture being a big issue I have modified a node to drive pneumatic solenoid valves to provide switch control. I have also started to look at modification of the block controllers to handle the higher currents. This system does represent a little overkill, but it is designed for demonstrating the capabilities of the system while autonomously running up to four train sets.
Although I am currently running the system with JMRI, I have also thought about using a board similar to the Raspberry Pi as a master controller. I am not against 32 bit processors, as I have a stack of ARM based boards on my bench including single, dual and quad+ core ARM SoC’s. But at the moment, due the availability of cheap PCs ( $0 - free from the scrap heap ) and the significant amount of programming and interfacing necessary to get a Rpi like system operating, I will stick with PCs for control. In addition both Atmel and MicroChip provide support for CAN with good CAN examples and software libraries. Now if one of you other Geeks will get the Linux distribution of JMRI running on an Rpi, I could very rapidly change my attitude.
*For those unfamiliar with CAN, when the technician hooks an analyzer into the interface under the dash of your vehicle they are plugging into a CAN bus. Many industrial control systems also communicate over this standardized bus. See http://en.wikipedia.org/wiki/CAN_bus and http://www.interfacebus.com/CAN-Bus-Description-Vendors-Canbus-Protocol.html.