Programming Track

Many DCC systems claim they have a Programming Track.  However the term "Programming Track" in of itself is not specific as to what NMRA programming standard it refers to.  Even though term "Programming Track" seems self explanatory, unfortunately in reality it is wide open term and is used by various DCC system manufactures marketing people to cover any and all various implementations of it.   Stated another way, not all programming tracks are created equally.  They will all program a decoder, but how it does it and what features it offers along the way varies greatly.    Flipping this topic upside down, a programming track is just that, it programs decoders and nothing more is guaranteed.   Do not make any assumptions beyond that.   You need to do your homework on the specific DCC system to find out what the "Programming Track" actually does and compare it to your needs.

The purpose of this section is to explain what the NMRA DCC standard for the programming track covers and why AND how in the real DCC world not all "Programming Tracks" are created equal and why.


The source of the programming track term confusion are:

1) The term "Programming Track" is intentionally NOT USED by the NMRA in any of it two DCC decoder programming standards.  The term is to restricting since it implies it only covers hardware requirements.   The NMRA DCC decoder programming standards covers both software and hardware requirements.  

2) Further source of potential confusion is the fact the NMRA offers two ways to program a decoder.  The two NMRA DCC standards are:

a) Service Mode (S-9.2.3).   Those who have been around with DCC for a very long time know that NMRA Service Mode WAS the defacto definition of "The Programming Track".

b) Operations Mode (S-9.2.1 Extended Packet CV access instruction).   Operations Mode is called "Ops Mode" for short.  It is also known as "Programming On the Main" or "POM"  New DCC users often  do not know there is a difference or that there are two types.  "Track" can mean any track including the main line.

3) Finally the lower cost DCC systems have many more compromises involved in the implementation of the "Programming Track" blurring the definition of "Programming Track" even more.

Hence the term "Programming Track" has always been an "open definition" free to be defined by any DCC system vendor as to what it means.  Stated another way, there are many types of "programming tracks" and a lot of them do NOT FOLLOW the NMRA Service Mode standard which is the DCC specification for the "Programming Track".


The premium programming mode is Service Mode (S-9.2.3) since it offers many more features than Operations Mode.   It is a treasured feature to have if one because it has specific hardware support for helping you safely install your own decoders in locomotives that were not designed to support a decoder and be able to read actual CV value settings for any purpose including troubleshooting.

History Note:  Service mode suddenly got to be a problem when sound decoders were introduced in the late 90s.  Service mode power specification were written before sound decoders existed.  Compounding the problem was the NMRA was slow to update the Service Mode standard to accommodate the electrical "power" needs of sound decoders.   To solve the problem for existing DCC systems built using the old Service Mode standard, many "Programming Track Boosters" have been developed by 3rd parties to address this problem.   One specific DCC manufacture on a specific model has chosen to integrate the programming track booster function as part of its design.


A true NMRA Service Mode compatible "Programming Track" is a special track which allows the decoder to:

1) be electrically isolated from the rest of the layout.
2) be programmed unconditionally.  You do not need to know the decoder address.
3) have its CV's read and written to for configuration, control, debugging and/or record keeping.
4) be tested in an electrically safe environment.  The goal is NO damage to decoder if there is an accidental short in the wiring.

All 4 of these of these properties together define a true NMRA service mode programming track.  Any track claiming to he a "programming track" but not have all 4 properties present does not meet the NMRA definition of a programming track.

To learn more about the electrical and technical details NMRA Service Mode (S-9.2.3) go here:NMRA Programming Track


A) To Cut Cost. 
Low end DCC system either do not have a Programming Track or they have a defeatured versions of it.  Some required you to build one of some form.  Historically a NMRA Service Mode (S-9.2.3) compatible programming track was a distinguishing high end feature of a high end DCC system.  You get what you pay for.

B) To address sound decoder programming problems. 
The NMRA Service Mode (S-9.2.3) was written BEFORE Sound Decoders existed.  Sound decoders presented a new electrical challenge for the NMRA service mode specification.   Read on...


All Sound Decoders have a big problem when working with poor power pickup between the track and the wheels of the locomotive.  The motor has mechanical flywheels to keep the engine physically going down the track which them provides an opportunity to pickup power again.  However a sound system itself cannot take advantage of the flywheels since they do not generate electricity.  The sound system need the electrical equivalent of a flywheel which is called a capacitor.  But the sound system consumes lots of electricity,  the sound decoder must add large capacitors to store a lot of electricity.  In comparison, non sound decoders dependence on the flywheel eliminated the need for large capacitors.

Unfortunately large capacitors introduce a new problem in the form of a "high inrush" current upon powering up.  Like a rechargeable battery, capacitors need to charged up with current.   Once they get charged, they do not draw anymore current.  So the "charge current" does not last forever.

On the main line you cannot predict the amount of time "between" momentary loss of track power events.   So the sound decoder does not place any restriction on the amount of current used to charge up capacitor so it can become fully charged almost instantly.   To instantly charge a capacitor requires many Amps of current for very short duration.  We call this short but very high current "Inrush Current"   This is the same high current inrush problem that causes some boosters or DCC circuit breakers to fail to recover after there is a short on the track or on power up. 

To learn more about the DCC Circuit Breaker side of the inrush current problem, go here:DCC Inrush Current Problem

This same high inrush current problem also happens on the programming track creating programming problems with sound decoders.   To solve this problem, 3rd party DCC manufacture sold an accessory device called a "Programing Track Booster" which address this high inrush current problem.

The NMRA Service Mode standard has a limited amount of time allowed between the application of the Service Mode track power and when it expects the decoder to be ready to receive programming commands.  Simply put, it expects the capacitors to get charged quickly.  But unlike the main line track where the booster can provide lots of amps permitting fast capacitor charging, the programming track has intentionally limited the current to a very low value (0.25 Amps peak) which greatly increases the time it takes to charge the capacitor.  This causes problems in programming the sound decoder.

To learn more about the electrical details of NMRA Service Mode (S-9.2.3) go here:NMRA Programming Track

Some DCC systems with a NMRA Service Mode compatible programming track:

a) considered this high inrush current to be a short circuit and reported the sound decoder as a shorted decoder.

b) failed to talk successfully to the sound decoder declaring an communication error.  Why? The decoder had not completely powered up due to the slow capacitor recharge time.  In other words, the command station following the NMRA Standard attempted to talk to the decoder before the sound decoder was actually ready to listen.  If the command station had waited a bit more before attempting to talk, it would have succeeded in talking to the sound decoder.  But again there is no NMRA Service Mode guideline allowing for that.

To address this problem, a new accessory devices was invented called a Programming Track Booster came to the market quickly.  It's primary goal was to address the high inrush current issue while STILL maintaining a safe low current programming track as required by the Service Mode standard.  It had the ability to tell the difference between a high inrush current and a true short circuit.  It allowed high peak current to flow above the NMRA 0.250 Amp standard to charge the capacitor fast but no more once the cap was charged.  Other than the peak current issue, it was NMRA Service Mode (S-9.2.3) compatible.


1) Programming Track Booster Integration
Some limited number of newer DCC system have incorporated a Programming Track Booster feature and as such will program sound decoders directly.

2) Brand Specific Decoder Programmers.
Some brands of sound decoder now offer a more advanced programming track device which does not claim to be NMRA compatible but is guaranteed to work with its own brand of sound decoders.  The driving force is the fact these new sound decoders:

2a) have over a 1000's of CV's to program such that the traditional programming track is to slow.
2b) allow upgrading the decoders software which is well beyond the scope of what the NMRA Service Mode specification is designed to support.

It should be noted the NMRA also attempted to address the problem later with a revision of the Service Mode (S 9.2.3) standard.  It greatly extended the amount of time between the application of programming track power and when the command station needs attempts to talk to the decoder.  It other words it allowing a lot more time for the capacitors to get charge up fully at the existing low 0.25Amp current limit value.  In other words, it effect was limited to software changes, not hardware changes.  Unfortunately not all DCC systems have been updated to allow for this new NMRA service mode specification change.  So purchasing a programming track booster remains the recommendation for a given DCC system unless you hear otherwise about the programming track for that specific DCC system.


When DCC was brand new, engines did not come with DCC decoders built inside.   In fact they were not even wired to make it easy to install decoders.  DCC system manufactures recognized customers had to install their own decoders if DCC was going to succeed.   The big challenge or problem was that the customer installation skills would varied GREATLY and would be reflected in the quality of the wiring and/or electro-mechanical installation.   IF they failed, it would result in a damaged decoder, a warrantee support issue and potentially a unhappy customer.   This failure could cause the customer to lose faith or interest in DCC.  In practice some did while others kept trying.  If the number of stories telling of decoder install failures out numbered the stories of decoder install successes, the DCC business could would struggle and possibly die.  To attack this problem, there were two independent efforts.

DCC MANUFACTURE:  The DCC decoder manufacture offered No Fault guarantees of one form or another.  If you blew up you decoder, you could get a replacement decoder without having to buy a new one.  The point was minimizing the cost to the customer while standing by the product at the same time.

NMRA: The NMRA Service Mode.  This would help the installer protect themselves against wiring errors.  Major short circuit could be identified as part of the first install given the customer a fighting chance of getting the decoder installed correctly to the point the engine runs.

Even after you got the decoder installed correctly, the next challenge was programming the decoder.  To the new customers, programming decoders can be tricky and by having the ability to verify what you wrote to the decoder got into the decoder and/or debug programming problems is a major customer confidence building advantage.  

Bottom Line: If DCC is going to succeed, the customer is going to needs to tools to be successful while at the same time provide a way to reduce warrantee cost to the DCC vendor.  Solution: NMRA Service Mode to the rescue.