OpenDCC

Well, after all these small projects, I decided I was ready to tackle a more serious project: the replacement of my Roco Multimouse system. I had the same reservations as before, since I had since been using the two 'Open Source' applications extensively, and they offered all the things I would also find in a commercial control box like an Intellibox or ESU Ecos. I had set up my computer with Linux and a big (22”) touch screen, and this gave me an amount of control no single system could offer. The computer was connected to the DCC system using the S88XpressNetLi interface mentioned above, so the system looked like this:

I had added the XnTCP interface as a a means to control the layout from my laptop wirelessly, but this was hampered by the fact that the feedback bus didn't get passed through; somehow the feedback messages were only reported on the RS232 interface, and not on the XpressNet bus. I think this was a limitation on the side of the Roco Command Station.

OpenDCC is an Open Source project that constitutes a base for building several sophisticated items:
  • a Command Station designed around an Atmel AVR processor, with a very flexible setup: it can emulate either an Intellibox or Lenz Command Station, or even a Littfinski HSI88 interface. It can be configured extensively, and since the code is public, it can be expanded and adapted endlessly. It even has an expansion board to connect to XpressNet, and this way the Roco or Lenz handsets can be used.
  • A Booster based on a Atmel ATTiny 8-bit processor, which is optocoupler-isolated from the DCC signal, and has nice features like automatic short-circuit protection and feedback, is RailCom compatible, and has an automatic watchdog function (it switches off the DCC signal if no input signal is received).
  • Decoders for several applications, also programmable for all kinds of functions (even professional DMX lighting control is an option!).
After building the Command Station and Booster, my setup is now as follows:


I use the original Roco MultiMouse handsets for direct control, and they work better than with the original Roco system: since the Z1 has a real programming track, I can now read the Cvs before setting them, and the system switches over to programming mode automatically. With the extra XnTCP module and an external relay, I can switch over a piece of track from 'normal' to 'programming' track when I enter programming mode, so it is as easy as driving a loco to a specific section, and then entering programming mode, the rest is done automatically.