Understanding DCC Decoders and Configuration Variables (CVs)
What is a DCC Decoder?
A DCC (Digital Command Control) decoder is an electronic device installed inside a model railway locomotive, lighting coach, or accessory that receives digital signals from a DCC controller. These signals tell the decoder how to operate various functions such as motor control, lighting, and sound. Each decoder is programmed to respond to a unique address, allowing individual control of locomotives or accessories on the same track.

There are several types of DCC decoders:
- Locomotive Decoders: Control motor speed, direction, lights, and sometimes sound.
- Sound Decoders: In addition to motor control, they produce realistic sounds (e.g., engine, horn, brake squeal).
- Accessory Decoders: Control items such as points (turnouts), signals, and lighting accessories.
What are Configuration Variables (CVs)?
Configuration Variables, or CVs, are programmable memory locations inside a DCC decoder that determine how it behaves. Each CV has a specific number and stores a value that affects a particular function, such as how fast the locomotive accelerates or what address it responds to.
CVs are fundamental to customizing your locomotive’s performance and behaviour. For example, you can:
- Set the locomotive’s DCC address (CV1 or CV17/18)
- Adjust acceleration and deceleration rates (CV3 & CV4)
- Modify lighting effects (CV49–CV52)
- Enable or disable advanced features like Back-EMF, RailCom, or speed tables
Why Use CVs?
Using CVs allows railway modellers to tailor the performance of their models to match real-world railway operation, layout conditions, or personal preferences. Fine-tuning with CVs improves running quality, realism, and compatibility in multi-train operations.
How to Read and Write CVs
CVs are read and written using a DCC controller or programming tool. Most systems support two modes:
- Programming Track Mode: Isolates the locomotive for safe programming
- Main Track Programming (POM – Programming on the Main): Allows CV changes without removing the loco from the layout
More advanced CV programming is done using tools like:
- JMRI DecoderPro (a free graphical interface for CV editing)
- Manufacturer software (e.g., ESU LokProgrammer, Zimo ZCS)
Standard and Advanced CV List
You can download the table below as a .pdf from here.
CV Number | Name / Function | Description |
---|---|---|
1 | Short Address | Sets the locomotive’s primary (short) DCC address (1–127). |
2 | V Start | Sets the minimum starting voltage to get the loco moving. |
3 | Acceleration Rate | Sets how quickly the loco accelerates. Higher = slower acceleration. |
4 | Deceleration Rate | Sets how quickly the loco decelerates. Higher = slower deceleration. |
5 | V High | Sets the maximum voltage output at full speed. |
6 | V Mid | Sets the mid-range speed voltage. |
7 | Manufacturer Version # | Read-only: Decoder version ID. |
8 | Manufacturer ID / Reset | ID of manufacturer; writing 8 resets decoder (varies by brand). |
17 & 18 | Long Address | Combined to set addresses above 127 (128–9999). |
19 | Consist Address | Sets consist (MU) address if loco is part of a consist. |
21 & 22 | Function Mapping (F1–F12) | Map functions to outputs (e.g., lights, sounds). |
29 | Configuration Register | Sets multiple options (direction, speed steps, addressing mode, etc). |
33–46 | Function Output Mapping | Customize which outputs respond to F0–F12 (varies by decoder). |
49–52 | Lighting Effects | Set different lighting behaviors (strobes, ditch lights, etc.). |
55–56 | Load Control | Adjust BEMF (Back-EMF) settings for motor performance. |
61 | RailCom Enable | Enable/disable RailCom for feedback-capable decoders. |
66–95 | Speed Table (Optional) | Set custom speed curve in 28 steps (if enabled in CV 29). |
112–115 | Sound Slot Volume | Set volume levels for individual sound slots (varies by sound decoder). |
120–127 | User-Defined | Often left open for specific model tuning (e.g., lighting delay, smoke unit). |
Where to Find CV Information
Decoder Manual (Most Reliable Source)
Every DCC decoder comes with (or should have available online) a PDF manual or datasheet that includes:
- Complete list of supported CVs
- Default values
- Accepted ranges
- Descriptions of each CV
- Notes about interdependencies (e.g. CV29 must be set a certain way for others to take effect)
Where to Find Them:
- Manufacturer websites
- Retailer product pages (e.g., Rails of Sheffield, Hattons, ModelTrainStuff)
- Online forums or DCC groups
- Search e.g., “ESU LokSound 5 CV list PDF”
Decoder Programming Software (Graphical Interface)
JMRI DecoderPro (Free & Highly Recommended)
JMRI (Java Model Railroad Interface) is a free software suite that includes DecoderPro—a graphical CV editor and programmer.
What it does:
- Detects your decoder (most common brands/models)
- Displays CVs with plain-English names
- Allows you to change settings via sliders, checkboxes, drop-downs
- Shows only relevant CVs for your decoder
Supported Decoders:
- ESU, Zimo, Digitrax, Lenz, TCS, Hornby, and many others
Needs:
- DCC interface (e.g., SPROG, Digitrax PR4, NCE PowerCab with USB adapter, etc.)
Manufacturer Software Tools
Many decoder brands offer dedicated tools:
Brand | Tool/Program | Features |
---|---|---|
ESU | LokProgrammer | Full access to CVs, sound file loading |
Zimo | ZCS (Zimo Config Tool) | Advanced control, firmware updates |
TCS | TCS Desktop Programmer | Decoder setup and firmware |
Digitrax | SoundLoader + PR4 | Programming and sound loading |
Lenz | CV Editor via LZV200 | On-screen CV management |
NMRA Standards Documentation
The NMRA (National Model Railroad Association) publishes DCC standards, including the standard CVs (1–102).
- See: NMRA DCC Standards & RPs
- Download the S-9.2.2 document (Configuration Variables) for technical details
Read CVs Directly with a Programmer
If you don’t know what’s programmed already:
- Use your DCC system or a programmer to read CVs from the decoder
- Look for features like “Read All CVs” or “Read Sheet” (common in JMRI)
Decoder CV Lists & Comparison Charts
Several websites maintain curated CV lists for common decoders:
- DCCWiki: dccwiki.com
- Train-O-Matic, TCS, Zimo, ESU, etc. all host charts for each decoder line.
- Forums like RMWeb, Model Rail Forum, or ModelRailroadForums
Summary: Best Way to Get All CVs
You Want… | Best Tool |
---|---|
Beginner-friendly setup | JMRI DecoderPro |
Full manufacturer control | Manufacturer software |
Quick lookup or comparison | Manufacturer manuals |
Custom setups or speed curves | JMRI or Zimo/ESU tools |
Summary
DCC decoders are essential for modern model railway control, allowing precise and independent operation of locomotives and accessories. Configuration Variables (CVs) provide the flexibility to customize every aspect of decoder behavior, from basic addressing to complex sound and lighting effects.
Understanding CVs empowers modellers to take full control of their locomotives, enabling them to create more realistic, efficient, and enjoyable railway operations. Whether you’re adjusting acceleration curves, programming lighting patterns, or synchronising sound functions, CVs are the key to unlocking the full potential of DCC. By learning how to read, write, and interpret these variables, hobbyists can move from basic running to advanced railway modelling with confidence and creativity.