DCC Train AutomationAn independent UK guide to automating a DCC model railway — home

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

Tick the settings you want

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

Shape

Values are 0–255 (255 = full voltage). This is a simple helper for a starting point, not a standard curve; fine-tune by running the loco. The three-point curve in CV2 (Vstart), CV6 (Vmid) and CV5 (Vhigh) is an alternative many decoders support.

Speed table CV67 to CV94
StepCVValue
1CV6710
2CV6816
3CV6922
4CV7028
5CV7135
6CV7241
7CV7347
8CV7453
9CV7559
10CV7665
11CV7772
12CV7878
13CV7984
14CV8090
15CV8199
16CV82109
17CV83118
18CV84127
19CV85136
20CV86146
21CV87155
22CV88164
23CV89174
24CV90183
25CV91192
26CV92201
27CV93211
28CV94220

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.

Common configuration variables
CVNameRequiredRangeWhat it does
1Primary (short) addressM1-127The loco's short address. Bit 7 must be 0. Used when CV29 bit 5 is 0.
2Vstart (start voltage)R0-255Motor drive at speed step 1. Raise it if the loco needs several steps before moving.
3Acceleration rateR0-255Momentum 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).
4Deceleration rateR0-255Momentum when slowing down; same formula as CV3.
5Vhigh (top speed)O0-255Motor drive at the top speed step; 0 or 1 = not used. Lower it to cap top speed.
6Vmid (mid speed)O0-255Motor drive at the middle step for a 3-point curve; 0 or 1 = not used. Keep Vstart < Vmid < Vhigh.
7Manufacturer versionMread-onlyFirmware/version information set by the maker.
8Manufacturer IDMread-onlyNMRA-assigned maker ID. Many decoders treat writing a value here as a reset (ESU: write 8). Check your manual.
11Packet time-outRHow long the decoder keeps its speed without valid packets.
15-16Decoder lockO0-255Lets 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-18Extended (long) addressOCV17 192-231, CV18 0-255Long address = (CV17-192) x 256 + CV18. Active only when CV29 bit 5 = 1.
19Consist addressO0-255Bits 0-6 consist address (0 = not in a consist); bit 7 = 1 runs this loco reversed in the consist (add 128).
21-22Consist function controlObit fieldsWhich functions answer to the consist address.
23-24Acceleration/deceleration adjustmentO0-127 plus sign bit 7Added to or subtracted from CV3/CV4, e.g. for a heavy train or consist.
25Speed table / mid-range cab stepO0-154Selects a factory speed table (2 = linear) on decoders that support it.
27Automatic stopping configurationObit fieldEnables stopping on asymmetrical DCC (ABC) or DC brake sections.
28Bi-directional communication configurationObit fieldRailCom options such as channel 1 address broadcast and channel 2 data.
29Configuration data #1M (if features provided)bit fieldDirection, speed-step mode, analogue running, RailCom, speed table, long address, accessory flag. See bits.
31-32Index high/lowOPage pointer for indexed CVs257-512.
33-46Output locations (function mapping)Obit fieldsWhich function keys drive which outputs (FL forward CV33 ... F12 CV46). Many makers use their own extended mapping.
65Kick startOExtra push when starting from rest.
66Forward trimO0-255 (n/128)Scales speed in forward; 0 = not used. Handy for speed matching.
67-94Speed tableO28 values 0-255Custom 28-point speed curve, used when CV29 bit 4 = 1.
95Reverse trimO0-255 (n/128)Scales speed in reverse; 0 = not used.
105-106User identifiersO0-255Free for you to store e.g. a fleet number.
513 / 521Accessory decoder address LSB / MSBM (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:

  1. NMRA S-9.2.2: Configuration Variables for Digital Command Control (PDF) (nmra.org)
  2. NMRA Standards and Recommended Practices index (nmra.org)

Also:

  1. NMRA S-9.2.2 Configuration Variables (July 2012) (nmra.org)
  2. 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.