Tool
DCC CV calculator
Work out the configuration variable (CV) values for a long address, build or decode CV29, make a 28-step speed table and see what momentum settings mean in seconds. The answers update as you type; without JavaScript, press the button under each box.
CV1 · CV17 · CV18 Address → CVs
- Short address CV1
- 3
- Long address CV17
- 192
- Long address CV18
- 3
For a short address write CV1 and leave CV29 bit 5 off. To use it as a long address instead, write CV17 and CV18 and turn bit 5 on (add 32 to CV29). Many command stations do this for you when you choose “long address”.
Addresses 1–127 can be short (CV1) or long; 128 and above must be long. Some command stations only accept long addresses from 128 up — check your system’s manual.
CV17 + CV18 CVs → address
- Long address
- 1234
Useful when you read back a decoder and want to know its long address.
CV29 Configuration builder
- CV29 value
- 6
- Binary
- 00000110
- Hex
- 0x06
- bit 0 Direction: Normal direction
- bit 1 Speed steps: 28/128 speed steps (NMRA’s name for this bit is “FL location”)
- bit 2 Analogue (DC) running: Power source conversion on — the decoder can run on analogue DC
- bit 3 RailCom / bi-directional: Bi-directional communication off
- bit 4 Speed table: Use the three-point curve in CV2, CV6 and CV5
- bit 5 Long address: Use the short address in CV1
- bit 7 Accessory decoder: Multi-function (loco) decoder
Bit 6 is reserved by the NMRA and left off. Many decoders add their own meanings or settings elsewhere — your decoder manual has the final say.
CV67–CV94 Speed table helper
| Step | CV | Value |
|---|---|---|
| 1 | CV67 | 10 |
| 2 | CV68 | 16 |
| 3 | CV69 | 22 |
| 4 | CV70 | 28 |
| 5 | CV71 | 35 |
| 6 | CV72 | 41 |
| 7 | CV73 | 47 |
| 8 | CV74 | 53 |
| 9 | CV75 | 59 |
| 10 | CV76 | 65 |
| 11 | CV77 | 72 |
| 12 | CV78 | 78 |
| 13 | CV79 | 84 |
| 14 | CV80 | 90 |
| 15 | CV81 | 99 |
| 16 | CV82 | 109 |
| 17 | CV83 | 118 |
| 18 | CV84 | 127 |
| 19 | CV85 | 136 |
| 20 | CV86 | 146 |
| 21 | CV87 | 155 |
| 22 | CV88 | 164 |
| 23 | CV89 | 174 |
| 24 | CV90 | 183 |
| 25 | CV91 | 192 |
| 26 | CV92 | 201 |
| 27 | CV93 | 211 |
| 28 | CV94 | 220 |
Turn on CV29 bit 4 (add 16) so the decoder uses this table instead of CV2/CV6/CV5.
CV3 · CV4 Momentum in seconds
- Per speed step
- 0.320 s
- Stop to full speed
- 9.0 s
That’s the NMRA formula; real decoders may scale momentum differently, so check your decoder’s manual.
CV3 sets acceleration and CV4 braking (deceleration); 0 means no momentum.
S-9.2.2 How it works
- Long address: CV17 = 192 + (address ÷ 256, whole part); CV18 = the remainder. CV17 is always 192–231, which is why long addresses stop at 10239.
- CV29: add up the value of each bit you want on (1, 2, 4, 8, 16, 32, 128).
- Momentum: seconds per speed step = CV value × 0.896 ÷ speed steps, so stop to full speed takes CV × 0.896 seconds.
- Speed table: 28 values in CV67–CV94, used when CV29 bit 4 is on.
Always write CVs on a programming track (or with programming on the main, if your system and decoder support it) and keep a note of the old values.
Common CVs at a glance
The main configuration variables defined in NMRA S-9.2.2 Configuration Variables (July 2012). “Required” is the NMRA’s rating: M = mandatory, R = recommended, O = optional. Decoders add many of their own CVs, and factory values differ between makers.
| CV | Name | Required | Range | What it does |
|---|---|---|---|---|
| 1 | Primary (short) address | M | 1-127 | The loco's short address. Bit 7 must be 0. Used when CV29 bit 5 is 0. |
| 2 | Vstart (start voltage) | R | 0-255 | Motor drive at speed step 1. Raise it if the loco needs several steps before moving. |
| 3 | Acceleration rate | R | 0-255 | Momentum when speeding up. NMRA formula: CV3 x 0.896 s / number of speed steps = time per step. 0 = none. ESU LokPilot units differ (value x 0.25 s stop to full). |
| 4 | Deceleration rate | R | 0-255 | Momentum when slowing down; same formula as CV3. |
| 5 | Vhigh (top speed) | O | 0-255 | Motor drive at the top speed step; 0 or 1 = not used. Lower it to cap top speed. |
| 6 | Vmid (mid speed) | O | 0-255 | Motor drive at the middle step for a 3-point curve; 0 or 1 = not used. Keep Vstart < Vmid < Vhigh. |
| 7 | Manufacturer version | M | read-only | Firmware/version information set by the maker. |
| 8 | Manufacturer ID | M | read-only | NMRA-assigned maker ID. Many decoders treat writing a value here as a reset (ESU: write 8). Check your manual. |
| 11 | Packet time-out | R | How long the decoder keeps its speed without valid packets. | |
| 15-16 | Decoder lock | O | 0-255 | Lets you change CVs in one of several decoders sharing an address (CV16 = 1 motor, 2 sound, 3+ other; write the target to CV15 first). |
| 17-18 | Extended (long) address | O | CV17 192-231, CV18 0-255 | Long address = (CV17-192) x 256 + CV18. Active only when CV29 bit 5 = 1. |
| 19 | Consist address | O | 0-255 | Bits 0-6 consist address (0 = not in a consist); bit 7 = 1 runs this loco reversed in the consist (add 128). |
| 21-22 | Consist function control | O | bit fields | Which functions answer to the consist address. |
| 23-24 | Acceleration/deceleration adjustment | O | 0-127 plus sign bit 7 | Added to or subtracted from CV3/CV4, e.g. for a heavy train or consist. |
| 25 | Speed table / mid-range cab step | O | 0-154 | Selects a factory speed table (2 = linear) on decoders that support it. |
| 27 | Automatic stopping configuration | O | bit field | Enables stopping on asymmetrical DCC (ABC) or DC brake sections. |
| 28 | Bi-directional communication configuration | O | bit field | RailCom options such as channel 1 address broadcast and channel 2 data. |
| 29 | Configuration data #1 | M (if features provided) | bit field | Direction, speed-step mode, analogue running, RailCom, speed table, long address, accessory flag. See bits. |
| 31-32 | Index high/low | O | Page pointer for indexed CVs257-512. | |
| 33-46 | Output locations (function mapping) | O | bit fields | Which function keys drive which outputs (FL forward CV33 ... F12 CV46). Many makers use their own extended mapping. |
| 65 | Kick start | O | Extra push when starting from rest. | |
| 66 | Forward trim | O | 0-255 (n/128) | Scales speed in forward; 0 = not used. Handy for speed matching. |
| 67-94 | Speed table | O | 28 values 0-255 | Custom 28-point speed curve, used when CV29 bit 4 = 1. |
| 95 | Reverse trim | O | 0-255 (n/128) | Scales speed in reverse; 0 = not used. |
| 105-106 | User identifiers | O | 0-255 | Free for you to store e.g. a fleet number. |
| 513 / 521 | Accessory decoder address LSB / MSB | M (accessory decoders) | Accessory decoder address (S-9.2.2 Table 3). Maker-specific locations also exist (ESU SwitchPilot uses CV1/CV9 and CV35/CV36). |
ESU states long addresses 128-10239 on LokPilot 5 and that long addresses cannot be written by POM on its decoders.
Sources
Checked 18 October 2026. The formulas and bit meanings come from the NMRA standard for decoder configuration variables:
- NMRA S-9.2.2: Configuration Variables for Digital Command Control (PDF) (nmra.org)
- NMRA Standards and Recommended Practices index (nmra.org)
Also:
- NMRA S-9.2.2 Configuration Variables (July 2012) (nmra.org)
- ESU LokPilot 5 manual (decoder example) (intermountain-railway.com)
The calculator is checked against worked examples. Manufacturers sometimes extend or change CV meanings, so check your decoder’s manual before writing values.