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

Reference

DCC wiring diagrams

Simple schematics of common layout wiring. They show the idea, not exact wiring for a particular product — always follow the maker’s instructions for your own command station, decoders and accessories.

Track bus and droppers

Track bus and droppersA command station or booster feeds two heavier bus wires that run under the layout, one for each rail. Short, lighter dropper wires join every length of rail to the bus wire for that rail, so rail A is always fed from bus A and rail B from bus B.Command stationor boosterBus wire A (heavier wire) → rail ABus wire B (heavier wire) → rail BDroppers (lighter wire) join every length of rail to its own bus wirerail joiners
Track bus and droppers A command station or booster feeds two heavier bus wires that run under the layout, one for each rail. Short, lighter dropper wires join every length of rail to the bus wire for that rail, so rail A is always fed from bus A and rail B from bus B.

Guides: How to wire a DCC track bus and feeders

Power districts

Power districtsA booster or command station feeds several circuit breakers. Each breaker feeds its own district of track, and the districts are separated by insulated gaps in both rails. A short circuit in one district trips only that breaker, so trains elsewhere keep running.Booster or command stationCircuit breaker1Circuit breaker2Circuit breaker3District 1District 2District 3gapgapEach district:own breaker,both rails gapped
Power districts A booster or command station feeds several circuit breakers. Each breaker feeds its own district of track, and the districts are separated by insulated gaps in both rails. A short circuit in one district trips only that breaker, so trains elsewhere keep running.

Reverse (balloon) loop

Reverse (balloon) loopA line runs into a turnout that leads into a balloon loop. Both rails are gapped with insulated rail joiners at each end of the reversing section. The section between the gaps is fed through an auto-reverser, which swaps the polarity of that section when a train bridges a gap, so the train can run round the loop and back out onto the main line without a short circuit.turnoutMain line (fed from the track bus)Insulated joiners in both railsReversing sectionAuto-reverserfeed from the track bus
Reverse (balloon) loop A line runs into a turnout that leads into a balloon loop. Both rails are gapped with insulated rail joiners at each end of the reversing section. The section between the gaps is fed through an auto-reverser, which swaps the polarity of that section when a train bridges a gap, so the train can run round the loop and back out onto the main line without a short circuit.

Guides: How to wire a DCC reverse loop with an auto reverser

Block occupancy detection

Block occupancy detectionThe track is divided into blocks by gaps in one rail; the other rail stays continuous. Each block’s gapped rail is fed through its own current detector from the track bus. When a locomotive or a carriage with resistor wheelsets is in a block, current flows and the detector reports “occupied” on the feedback bus to a computer or command station.Common rail: continuous, fed straight from the track busBlock 1Block 2Block 3Block 4DetectorDetectorDetectorDetectortrack busFeedback bus → computer or command station
Block occupancy detection The track is divided into blocks by gaps in one rail; the other rail stays continuous. Each block’s gapped rail is fed through its own current detector from the track bus. When a locomotive or a carriage with resistor wheelsets is in a block, current flows and the detector reports “occupied” on the feedback bus to a computer or command station.

Guides: How to install block occupancy detection on a DCC layout

Automatic end-to-end shuttle

Automatic end-to-end shuttleA single line runs between two stations with a buffer stop at each end. A sensor near each end tells the controller (a computer running layout software, or an Arduino) that the train has arrived. The controller slows and stops the train, waits, then sends the command to reverse, through the DCC command station that powers the track.Station AStation BsensorsensorControllercomputer or ArduinoCommand stationpowers the trackSensor signals in, speed and direction commands out
Automatic end-to-end shuttle A single line runs between two stations with a buffer stop at each end. A sensor near each end tells the controller (a computer running layout software, or an Arduino) that the train has arrived. The controller slows and stops the train, waits, then sends the command to reverse, through the DCC command station that powers the track.

Accessory decoder driving point motors

Accessory decoder driving point motorsAn accessory decoder takes its commands from the DCC track bus (and its power from the bus or a separate supply, depending on the model). Each output drives one point motor. Point motors differ — solenoid, stall-motor and servo types are wired differently — so follow the decoder and motor makers’ wiring instructions.DCC track busAccessory decoderone address per outputMotor 1Motor 2point 2point 1Wire each outputas the makers show
Accessory decoder driving point motors An accessory decoder takes its commands from the DCC track bus (and its power from the bus or a separate supply, depending on the model). Each output drives one point motor. Point motors differ — solenoid, stall-motor and servo types are wired differently — so follow the decoder and motor makers’ wiring instructions.

Guides: How to control points with a DCC accessory decoder

DIY command station with DCC-EX

DIY command station with DCC-EXAn open-source DCC-EX command station: a supported Arduino-type board with a motor shield on top. A suitable power supply feeds the motor shield. The shield has two outputs, one for the main track and one for a separate programming track. You control trains from a computer, phone app or handheld throttle connected by USB or Wi-Fi.ThrottlePC, phone or handheldUSB / Wi-FiArduino-type board+ motor shield (DCC-EX)Power supplyto suit the shieldMain trackProgramming track(kept separate from the main track)
DIY command station with DCC-EX An open-source DCC-EX command station: a supported Arduino-type board with a motor shield on top. A suitable power supply feeds the motor shield. The shield has two outputs, one for the main track and one for a separate programming track. You control trains from a computer, phone app or handheld throttle connected by USB or Wi-Fi.

Guides: How to build a DCC-EX command station with an Arduino · How to choose a DCC command station

Analogue DC compared with DCC

Analogue DC compared with DCCWith analogue DC, the controller varies the voltage on a section of track and every locomotive on that section responds together. With DCC, the command station keeps the track powered all the time and sends digital commands; each locomotive’s decoder obeys only the commands sent to its own address, so several trains can run independently on the same track.Analogue DCControllervaries the voltageEvery loco on the sectionresponds togetherDCCCommand stationpower + commandsaddr 3addr 47Each decoder obeys onlyits own address
Analogue DC compared with DCC With analogue DC, the controller varies the voltage on a section of track and every locomotive on that section responds together. With DCC, the command station keeps the track powered all the time and sends digital commands; each locomotive’s decoder obeys only the commands sent to its own address, so several trains can run independently on the same track.

Three-aspect colour-light signals

Three-aspect colour-light signalsThe line is split into blocks, each protected by a signal at its entrance. The signal behind an occupied block shows red (danger). The signal before that shows a single yellow (caution: the next signal is at danger). Signals further back show green (clear). Block detection tells the signalling logic which blocks are occupied.Green: clearSingle yellow: cautionRed: dangerBlock 1Block 2Block 3Block 4 (occupied)Trains run left to right; signals stand at the start of each block
Three-aspect colour-light signals The line is split into blocks, each protected by a signal at its entrance. The signal behind an occupied block shows red (danger). The signal before that shows a single yellow (caution: the next signal is at danger). Signals further back show green (clear). Block detection tells the signalling logic which blocks are occupied.

Diagram key: red and blue lines are the two DCC bus wires; ‖ marks an insulated gap; dashed lines are sensor or feedback wiring. Colours are only for telling wires apart on screen — use whatever wire colours your own layout follows.