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

DCC basics

How to set up a DCC programming track

Build a short isolated piece of track for setting up decoders, so programming commands reach only the loco you want and you can read CVs back.

Time
1 hour
Difficulty
Easy
Cost
Low cost
Steps
6
Checked
Report a problem

What you’ll need

As an Amazon Associate we earn from qualifying purchases. The Amazon links go to search results, so you can compare what’s available.

Before you start

  • Never connect the programming output to the main track bus – it can upset both outputs and every loco would be reprogrammed.
Programming track wiringCommandstationPROG APROG Bisolated programming trackonly one loco on it
Wiring diagram The programming output feeds an isolated length of track holding one loco.

Step by step

  1. Step 1: Understand why you need one

    Programming on the programming track (service mode) is a broadcast: every decoder on that track obeys it. So the programming track must be electrically separate from the main layout and hold one loco at a time (Digitrax DCS240 manual).

    Next: step 2
  2. Step 2: Find your system's programming output

    Check your manual. Some command stations have dedicated programming terminals (Digitrax DCS240: Program A/PA and Program B/PB). DCC-EX uses motor-driver output B as PROG and A as MAIN (reversed on the EX-MotorShield8874). Some systems switch the main output into programming mode instead – then you program with nothing else on the track.

    Next: step 3
  3. Step 3: Isolate the track

    Use a standalone length of track, or gap both rails at each end of a siding with insulated joiners or saw cuts.

    Next: step 4
  4. Step 4: Wire it up

    Run a pair of wires from the programming terminals to the two rails. If the programming track joins the layout, DCC-EX advises keeping it in phase: connect the PROG positive to the same rail as the MAIN positive.

    Next: step 5
  5. Step 5: Add a switch if it doubles as a siding

    If you want to drive locos onto it from the layout, a double-pole changeover switch can feed the siding from either the main output or the programming output. Make sure the loco is fully on the siding before switching to programming.

    Next: step 6
  6. Step 6: Test with a known-good loco

    Put one decoder-fitted loco on the track and read CV1 (short address) and CV8 (manufacturer ID). If the readback works, you are ready. Remember a loco will not run on the DCC-EX programming track – that's normal.

Tips

  • A clean track and clean wheels matter more here than anywhere: readback depends on the decoder pulsing the motor.
  • Label the programming feed wires so they never get joined to the main bus.

Questions people ask

Why won't my sound loco read back?

Some sound decoders draw more current at power-up than a programming track allows. Check your decoder and command station manuals; many offer programming on the main as an alternative.

Can I program on the main instead?

Yes, for most CVs, if your system supports POM. ESU notes long addresses can't be written by POM on its LokPilot decoders, so use the programming track for that.

Sources

Checked 18 October 2026. We wrote this guide in our own words, using:

  1. Digitrax DCS240 command station manual (digitrax.com)
  2. DCC-EX: initial assembly (DIY) (dcc-ex.com)
  3. DCC-EX: test your setup (dcc-ex.com)
  4. ESU LokPilot 5 instruction manual, Edition 7 (distributor copy) (intermountain-railway.com)

Tags: CVs programming track service mode wiring

Was this guide helpful?

Report a problem with this guide
What’s the problem?

Please don’t include personal details we don’t need. See our privacy notice.