By programming a decoder you create a value in a specific memory location called a CV (Configuration Variable) that controls an aspect of a decoder's performance. Write programming is a creating a value in a CV. Read programming is a reading back the value from a CV.

TYPICAL CVs

  • Locomotive Address - 2 digits (CV1), 4 digits (CV17, 18)
  • Momentum - acceleration and deceleration rates (CV3, 4)
  • Volatage to the motor - MIN, MID, MAX (CV2, 5, 6)
  • Consist Address (CV19)
  • Configuration - 14/28 speeds, brake on DC (CV29)
  • Speed tables (CV67-94)
  • Manufacturer and version (CV8, 7)
  • Extra lights effects (depends on manufacturer)
  • Load compensation (depends on manufacturer)
  • PWM period/frequency (high numbers, low frequency, CV9)

There are several ways to program your decoders. Most DCC Command Stations have built in programmers that send programming information as a broadcast message to any decoder that is listening. This means that you could reprogram all the locomotives on the track with one simple keystroke. To prevent this, it is useful to add an isolated programming track to your layout and program decoders as follows:

  1. Run the decoder-equipped locomotive you want to program onto the programming track.
  2. Throw the switch to disable the rest of the layout.
  3. Switch your command station to program mode and follow the manufacturer's instructions for programming the decoder.
  4. Switch the layout back on and drive away.

Some DCC Command Stations offer a separate programming output so that you can program decoders without shutting down the rest of the layout as described above. Also some systems offer operations mode programming which allows you to send programming information to a specific decoder on the layout. Another programming option is a stand-alone programmer or a computer based programmer.

Adapted from "Digital Command Control: The Wave of the Future", by Zana and A.J. Ireland, and "DCC for Novices" by Stefano Curtarolo.