Zero Stretching

DCCWiki, a community DCC encyclopedia.
Jump to: navigation, search

Short Definition

Method of running a DC powered locomotive on DCC powered rails.

Also known as Zero Bit Stretching in the Digital Command Control specifications. May be informally referred to as Address 00.

In a segment of DCC-powered track, it may be possible to power a single analog (non-decoder equipped) model locomotive by itself or in addition to DCC equipped locomotives through a method known as Zero Stretching. Refer to the documentation for the the DCC system in use, as it is an optional feature.

This feature was created to make DCC appealing during the early days. It enabled migration while minimizing fears relating to the cost and installation work required to upgrade to DCC. Zero Stretching is not part of the NMRA DCC specification and as such, not all manufacturers support Zero Stretching.
Some manufacturers do not recommend operating a non-DCC decoder equipped locomotive on a DCC system. Refer to the instructions before trying your new locomotive on a DCC powered track.

Zero Bit Stretching

In this scheme, the zero bits (which have a longer period than those representing a "1") on the track can be extended to create a net effect where current appears to the motor to be flowing in one direction. The Rail A pulse's period can be made quite longer than Rail B's period. By making the one rail "more" positive for longer period than the other, direction can be established. In operation, the booster applies a pulse to rail A while holding rail B at ground potential, then grounding rail A and switching on rail B for a equal amount of time. This process repeats to create the DCC waveform seen on an oscilloscope. With Zero Bit Stretching, one rail's "0" pulse can be increased, for example, to a period 250mS instead of the normal 100mS while the next pulse (on the other rail) is reduced in time to less than 100mS.

DCC Waveform, illustrating zero bit stretching.

The DCC waveform has a DC value of zero (15V - 15V = 0), so when zero stretching or analog mode is not in use, a non-decoder equipped locomotive will not move. The DCC waveform normally consists of symmetrical pulses. To make zero stretching work, the command station will make the pulses on one rail longer than those applied to the other rail, causing the motor to turn. A normal DCC signal has symmetrical pulses of equal duration (period), causing the motor armature to rapidly oscillate, with little torque produced. The altered duration of the pulse applied to rail A or B causes the armature to turn further in one direction than the other, producing the torque needed for move the locomotive.

How Does it Work?

By replacing several bytes of data with single, longer pulses than is normal under DCC, the motor can be made to rotate.

By holding Rail A high for a longer period of time, current will flow through the motor, creating flux in the windings, and the resulting torque will cause the armature to rotate. The amount of time determines the speed of rotation, as the voltage is at track voltage. When the pulse ends, inertia will keep the armature turning until the next pulse comes along. To reverse direction, Rail B would be held high for longer periods.

This is the same method that the decoder uses to control the motor. By controlling the direction of the current flow, and the period of time, the speed and direction of the motor is determined.

Important Warnings

Caution: Because of the frequency of current flow changes as well as the harmonics present, many DC motors will heat much more quickly than they ordinarily would on an analog power source, and some motor types can be seriously damaged with only a brief encounter with DCC track. Many motors will buzz and hum when presented with this type of power. Don't leave locomotives that are not equipped with a decoder on the track if possible, to reduce the chance of heat damage to the motor. See note below about coreless motors.

Note: All direct current locomotives will respond to the signals created by Zero Stretching. Which may have unintended results.

As locomotive speed increases, more bandwidth will be demanded of address 00, which can have an impact on response times when more than 5 DCC equipped locomotives are also in operation. This technique is a bandwidth hog due to the need to constantly send packets addressed to 00.


  • Coreless motors and other low inductance types of motors should not be used on a DCC powered track (unless a DCC decoder is installed). Normally, current flow is limited by the back EMF that a motor generates when it is spinning, but the DCC waveform is full voltage all the time, even when address 00's throttle is closed, the zero stretching is at a minimum, and the motor is stopped. The waveform is not high enough in frequency for the low inductance to limit the current flow when there is no back EMF, so the windings look like a short. They lack the iron core to sink the heat generated by excessive current flow, which will kill them very quickly. Coreless motors are very expensive.
  • PSX Circuit Breakers are not compatible. The device relies on DCC power for operation, and may not work at some speed settings.
  • Signal corruption: It is possible that some motors may induce spikes and other noise into the system and cause problems.

See Also

DCC Power