Friday, September 6, 2019

Kato 7007-2 DF200-50 DCC Conversion

This Kato model has the same light board and structure than the EF66 that I already converted as described in this post. So I just followed the same instructions, but in this case using a Zimo MX616. There is no problem of space, putting the decoder in one of the sides the roof has space for this or even a bigger decoder.

Once you remove the light board, flip the motor plates in vertical position. When you insert again the light board these plates won't be under the board, but over it. You won't need neither any Kapton tape nor isolating any point.

In the following photo I'm showing how to prepare the light board:
  • Red arrow: you have to cut the track in this 3 points
  • Blue arrow: make a bridge between the cooper tracks. First remove the capacitor, and make a bridge instead.
  • Yellow arrow: soldering point, tin these 4 points and the motor plates

Here you can see the decoder soldered and in place:

And that's all, enjoy!!

Sunday, September 1, 2019

SVLocoIO firmware for Arduino updated

A new functionality has been released for SVLocoIO firmware. This is the Arduino program we use for all I/O Loconet modules. This means, it is the main Arduino software to manage sensors and outputs (street lights, layout illumination, ...).

It was missing a functionality that other boards do, which is to inform about the state of the inputs (sensors) at power on. When the command station is turned on, or the power on button of your software like Rocrail or iTrain is pressed, the module will send the current state of those ports configured as input.

With a bit more of technical detail, when a OPC_GPON command is sent throuth Loconet, the board responds a OPC_INPUT_REP message for each configured input.

If you want to deactivate this functionality, delete or comment the line in the top of the code:


I also corrected some errors when calculating the input number of a pin. It was affecting to the debug mode making the input numbers to be printed wrong. With this correction the maximum input number has been increased to 2048.

You can download it from:

If you use this firmware with GCA185 Loconet shield board, remember you don't need the pulldown resistors of the board as the program uses the Arduino internal pullup resistors.

Thursday, August 29, 2019

DIY Simple DCC Command Station for less than 20€

In our last exhibition we missed to have an independent command station to read and write CV. Normally we are managing trains in automatic mode, so command station and Rocrail are busy managing trains and we cannot stop if we need to program a new locomotive or read its data if we don't know the locomotive number it has.

So we decided to make a new module with two independent tracks and an independent command station so we can read, program and test locomotives. This module will be in the operator's side, connected to the "T" module that we use to enter or extract compositions to the main tracks.

We took profit of the fantastic DCC++ project, and just changed it to add a display, keypad and slider so we don't need the PC to perform any of the above operations before running a train in the main layout.


Before continue reading, please consider the following typical disclaimer for DIY projects that applies to all this blog:

DIY projects are purely “at your own risk”. As with any DIY project, unfamiliarity with the tools and process can be dangerous. Posts should be construed as theoretical advice only. I’m not a professional, but only a hobbiest passing on ideas and tips to other hobbiests. Information and techniques I show here can change, and there can be mistakes in the information I publish, so I’m not responsible if that happens. Please consider my instructions as a guide only.

Shopping List

Arduino MEGA 2560 R3, 5€

L298 Motor Shield, 5€

4x5 matrix Keypad, 1€

Slide Pot, or linear potentiometer, 1€
We chose a linear potentiometer, but it can be a regular button potentiometer or any other kind.

20x4 LCD display with I2C controller, 6€

A bunch of DUPONT cables for the connections, 1€

Two power sources, one for Arduiono and an independent one for the motor shield. We recomend a 16Vdc 3Amp power source for the motor shild, as we found with less voltage some decoders do not respond to CV commands, or sound decoders do not work properly.


Please check first my previous post about how to mount the original DCC++ command station here ( Motor shield needs some preparation (cutting a pad and making a bridge between pins 2 and 13).

After that you can connect the new elements (keypad, display and slider pot) as shown in the following scheme. Take into account that the keypad of the scheme is not the correct one (we are using the 4x5 keypad, see photo above these lines), but I couldn't find the Fritzing object for the right keypad:

  • Display needs 5V, GND and two wires to SDA and SCL pins of Arduino (pins 20 and 21)
  • Potentiometer needs 5V and GND in the same way, and the signal is connected to A8
  • Keypad is connected using 9 pins (from 22 to 30)
  • You will need one power source for Arduino, and an independent 16Vdc power source for the motor shield


You will find always the latest version of the program to upload to the Arduino in the following link, were you can freely download from ClubNCaldes github repository and upload it to the Arduino Mega board:

How it works

I tried to make it as much intuitive as possible, but this are the main keys:

"*" ON, tracks are feeded with current
"#" OFF, no current to tracks
"F1" RUN MODE, this is the mode to run and test trains
"F2" PROG MODE, this is the mode to read and write CV in the programming track

In RUN MODE the left and right arrow are used to set the direction of travel, while the numbers activate or deactivate the functions. Speed is controlled with the slide pot.

In PROG MODE you can see a little help in the last line of the display which tells you the meaning of each CV entered (just for the standard ones like address number, acceleration, break, config...)

I hope you enjoy this simple but useful DCC command station for you own projects.