Product Search

Simple Programming

Simple Programming

If you have gone down the path of DCC, then you will want to make simple changes to the loco decoder. You will want to change the address, and perhaps make changes to the rate of acceleration, braking and to the top speed to make them more prototypical. You may want to change the sound volume. All these changes are done by programming the decoder.


What is a CV

Imagine the decoder as a set of small drawers. Some are the same size and some are different sizes. Each drawer is numbered and relates to different things in the decoder. The loco short address is drawer 1, the acceleration is drawer 3 and drawer 4 is the deceleration or braking. Drawer 5 is the maximum loco speed.

Inside each drawer is information in the form of a number or value. Change the value and you change how the decoder responds.

For example in this decoder, the value in the acceleration drawer can range from 0 to 64. It currently set to 8, so by changing the value from 8 to 15 will change how the loco accelerates, in fact, it will make it accelerate more slowly.  If drawer 5 has a value of 64, with a range from 0 to 64, then changing it to 45 will see the maximum speed reduce.

These drawers are known as Configuration Variables or CVs. Changes to the values in each CV is done by programming. Good news is that you may only need to change a few to achieve what you want.


What CV does what?

Following DCC protocol, each decoder manufacturer uses the same basic set of CVs for the same thing. They may label them differently but they will do the same thing. CV1 is always the short address, CV2 is the starting voltage, and CV8 is the manufacturer’s identification, CV17 & 18 the long address.

Lenz and NCE provide you with a booklet with each decoder with a list of each CV and what it will do. Others such as ESU refer you to a website where you will find the list.

This list gives you the range of values for each CV and the ‘default’ value, the value that has been set by the factory. The default setting in CV1, the short address is 3, meaning every decoder including factory fitted loco decoders are always on address 3.


Why so many CVs? 

Modellers just want more! More features in their locos. More working functions. They demand cab lights and marker lights, ditch lights that flash at road crossings when they blow the horn, they want sound and smoke and working couplers and want want want!!!

You aint gunner do this with a just a couple of CVs. One example is the ESU V3.5 sound decoder. It lists CV63 as the overall sound volume but also provides CV121 horn volume, CV122 bell volume and CV123 for the auxiliary sound effects such as the compressor, cooling fans and generator. However don’t be too concerned as you may never want or need to change any of these. But you can!


How do you change values in the CVs?

As stated before, you change CV values by entering new values in a programming mode using your DCC system. Most DCC systems have two programming modes. One is a ‘safe’ mode, using a separate program track with very low voltage and power. The other mode is ‘programming on the main’ using full track power. Both modes are useful.

Your system manual explains step by step the ‘program track’ and ‘program on main’ procedure.

I would suggest changing the address on the program track and if successful then other programming can be done on the main. This is a safe way to check the loco decoder is installed correctly and is talking to the system.

When the loco has been run in, you may need to adjust the starting voltage in CV2. Start voltage sets the minimum speed of the loco on the first speed step (speed step1). In step 1, the loco should just start to creep at a very slow speed. If it is not moving or moves too fast, changing the value from the default should fix this.

Then I would suggest you have a play with the acceleration or braking, or top speed to get a feel for programming. A good idea is to find the default value and the range and write it down. Then write down a new value and change it to that.


Test the loco and keep changing the CV until you get it running how you want. Small changes in value are probably best to start with. And keep a record of the CV values you finally decide on in the loco handbook, in case you need to reset it or you have a matching loco. 

Programming can also be done using a computer and an interface, a connection between the DCC loco and the computer. ESU have a Lokprogrammer for programming their decoders, Lenz and other manufacturers have interfaces for computer programming and there are also software programs that help you program too.

Their aim is to simplify the program function, making changes by using a keyboard and a mouse.


So what else can I change?

Some decoders have a large list of CVs that will give different effects. In some decoders you can change the brightness of the headlamps, make lamps flash or strobe or dim. You can alter the amount of smoke that a smoke unit makes, blow a short whistle or horn when starting off and give an air release sound as it stops.

When the headlamp switches on in one of my steam locos, you hear the generator start up and after a slight delay, the headlamp lights. When stationary, the light is dull but brightens as it begins to move. And turning the generator off, the lamp dies as the sound stops. Just like the prototype and all done with CVs.


And what if I muck it up?

All decoders have a reset feature in CV8 that restores the decoder back to factory settings, including back to address 3. You will find this value in the loco handbook or the decoder manual.


Sound decoders and addresses

Some systems in ‘program track’ mode don’t provide sufficient power to change the CVs in certain sound decoders. Broadway Limited realized this and came up with a DCC address calculator that gives values for CV17, CV18 and CV29 for any address that you want. It’s a handy tool and is found at


Finally, programming is not really difficult. In most cases changing the address and the start voltage is all you may want to do. But remember, you can do much, much more if you want!