Programming 101–Service Mode

There are two ways to program decoders, (1) service mode, and (2) ops mode. In the past I have talked a lot about ops mode programming so let’s focus a little on service mode. With service mode you can program all CVs without regard to the decoder address. Accordingly, all decoders in locomotives on the service mode programming track will be reprogrammed. This was an important feature for many years because with some decoders it was the only way to change the address–you couldn’t do it with ops mode. However because it indiscriminately programs any decoder on the programming track you need to be careful with some DCC systems. Some entry level systems such as the Digitrax DB150 and NCE PowerCab only have a single pair of track connectors that are used for both powering the track and for service mode programming. Because of this it is necessary to have an electrically isolated service mode programming track to prevent programming all your locomotives.

To make this possible you need to have some way to switch your track output from the main track to the service mode programming track. This is easily done using a double pole double throw switch set up with the single pair of wires from the command station connected to the two center switch contacts. Another pair of wires connected to two of the contacts at one end of the switch are run to the track power bus. Finally, a third pair of wires are connected to the two contacts at the other end of the switch and run directly to the programming track. When you want to run trains flip the switch to route power to the main tracks and when you want to use service mode programming switch it so power goes to the isolated programming track.

The problem is remembering to flip the switch—one forgettful moment could result in reprogramming all your locomotives. Because this is enough of a problem for users, NCE now offers a circuit, the Auto-Sw, which senses service mode programming commands and switches power to the programming track for you. This device is not system dependent so you can use it with the Digitrax DB150 or any other entry level system that does not have separate track power and programming outlets.

One useful feature of service mode programming is the ability to read the CV settings in a decoder–you can’t do that with ops mode. (To my knowledge only Lenz has offered a way to read CVs in ops mode and that requires installation of special feedback modules). Using this feature you can check the settings of particular CVs so you are not programming blind. For example it is helpful to know your current momentum settings when making changes just to give you an idea of how much of a change is needed. The same is true for sound levels and speed curves.

One downside to service mode is the current to the programming track is limited to about 250 milliamps. This is done to prevent damage to a newly installed decoder if it is not correctly wired. The downside is that with many sound decoders and when keep alive capacitors are installed, there may not be enough current to program the decoder. This is why Soundtraxx and DCC Specialties introduced the PTB-100 and PowerPax programming track  boosters. Ops mode offers a convenient work around for this which I will discuss next time.


  • Hi Larry – Good to go back over the basics again and again. Helps refresh my brain. Thanks :-). I have a CVP EasyDCC system with JMRI and a DCC Specialties PowerPax in-line with my programming track. I’m able to communicate with most all decoders. Last week when I was putting in several Soundtraxx Econami ECO-PNP Diesel decoders, I could only program on the main. I could not program or read back the CV values on the programming track. Digging thru the Troubleshooting section of the Econami manuals, I found where they recommend removing the PowerPax to allow for reading and writing of all CVs. I pulled my PowerPax and it worked like a charm. A buddy of mine also recommends backing the volume down on your sound so you don’t blow out those dandy little sugar cube speakers. Guess the new Econami decoders have more power, huh? I’m going to have to figure out how to put a switch in to use or not use my PowerPax for different decoders. Any suggestions?

    • Interesting, I had not looked at the trouble shooting section. That appears to be something new added in a later version. I’ll have to see what is going on with the way the PowerPax works to see why it is not working with the ECO-PNP. Since I do 99% of my programming in the main I have not run into it. I did notice that the PNP board has a higher 2W sound amp so yes the volume needs to be cut by more than half with 1W speakers and some of these sugar cubes are in the .5-.7W range.

    • Kwkelsey, on the Esu loksound yahoo group, we had a pretty lengthy discourse on your question. If you go to that group and search for “reed or other switch for keep alive disconnect”, you will find a lengthy discussion that started about December 9. The bottom line is, it was determined and tested to put a normally closed magnetic reed switch on one leg of your keep alive device. During normal operation, the switch is closed and the keep alive functions as intended. For programming, put a magnet in the vicinity of the switch to disengage the keep alive. A few caveats- you need to keep that switch away from any speakers and also away from the motor. Reed switches are cheap and small, so if your install allows room for a keep alive, it will likely allow room for the reed switch too. It helps to keep notes about your installs so you know where the reed is. This method helps especially to not have to disassemble your loco to pull the plug on a keep alive device.
      Hope this helps,
      Tom Wilson

      • Also, not only are the Eco and Tsu2 with keep alive devices prone to programming problems in program track mode, so are Esu v4 and Select decoders prone to the same issues. (And probably other modern decoders) It isnt always an issue, but if you are making lots of changes (especially with decoder pro – and you write all changes) the way the program track mode knows the change was accepted by the decoder is motor pulses. The keep alive interferes with the pulses as it is always pushing power back to the motor. Thus the need for disconnecting the keep alive.
        I use decoder pro. When I write all changes and it halts for errors due to the keep alive, I just keep writing all changes. It will eventually work its way through to the end and say ok. But I plan to put in reed switches from now on and go back and modify my previous installs as I can.
        Tom Wilson

  • Hi Larry, I have 6 locomotives on my layout. I use NCE power cab. I leave the locos on unpowered tracks ( a insolfrog turnout redirects the power) then I leave the locomotive I want to program (program track mode) on the live layout. This works as long as I make sure the other locos are on unpowered track. It also keeps the sound decoders quiet…as needed.

    • David—that works as long as you don’t forget to throw all those insulfrog turnouts. The Auto-Sw was designed specifically for the PowerCab to prevent unplanned programming. It detects the programming preamble and instantly switches from the main tracks to the dedicated programming track—slick.

  • I never have any problem with this. I bought a used throttle and command station with booster years ago. and put them in a separate hobby room, where I do all my working on loco’s. Actually, you don’t need a separate throttle. I just wanted to have an extra one in case something happened to the main one.
    Sometimes you can get a good buy on eBay for this stuff.