Back

DRAFT 10 March 2000

Here’s an attempt to describe how I implemented DCC into LEGO Trains:

Table of Contents:

What is DCC?
Disadvantages and Advantages of DCC with LEGO Trains
Equipment required for DCC
Command Station
Decoders
Decoder Installation
Parts Lists
Operation
Conclusion

What is DCC?

Digital Command Control (DCC) is a system where signals are transmitted through the track to decoders installed locomotives (or any device connected to the track). The decoders translate these signals into speed, direction, and on/off commands (e.g., headlights). DCC can also be used to control accessories, such sound effects and switch-machines.

Disadvantages and Advantages of DCC with LEGO Trains

Disadvantages:

Advantages:

Equipment required for DCC

DCC systems employ a few components such as:

Command Station

For a command station, I purchased the MRC (www.modelrec.com) Command 2000. This command station will handle about 2.5 amps (all trains). It requires an AC power supply of slightly more than that. MRC also sells an appropriate power supply, so I purchased both of these at my local Hobby Shop. Later, also at my local hobby shop I purchased the MRC Handheld (tethered) Controller for the Command 2000. All of this equipment is also available through mail-order and internet dealers.
mrc2000.jpg (28666 bytes) mrcpower.jpg (17937 bytes) mrchand.jpg (19269 bytes)
                                           (NEW)

This system allows me to run two groups of five trains simultaneously. Three throttles are built into the Command 2000, and the Handheld controller includes two throttles. However, to run ten trains I must switch back and forth between the two groups, and use the SAME five throttles to run another five trains.

There are other DCC systems which allow many more trains and more sophisticated controllers (e.g., radio control), but the controllers are sold separately. The added capabilities and extra throttles doubled my estimated cost, so I chose the MRC option (for now).

Decoders

As for the decoders, I chose the Digitrax (www.digitrax.com) DN140, N-scale decoder. I chose this decoder because it fits nicely into the LEGO train motor without any modifications, and supports functions such as Maximum Voltage and the Loadable Speed Table which allows you to set 28 throttle increments to a percentage of full throttle. This allows you to define a "speed curve", and it allows you to limit the voltage to the motor. HO and N scale DCC systems deliver about 12VDC to the motor at full throttle (G guage even more). I wanted to limit the LEGO train motor to about 9VDC, so I defined a curve with 0% at zero throttle and 75% and maximum throttle, and used a parabolic function to fill-in the remaining steps. This gives me finer control at the slow speeds and coarser control at the high speeds. (I’m still playing with this speed curve for optimum response).
DN140.jpg (23721 bytes)
           (NEW)

Decoder Installation

First I had to overcome the horror of cutting the tabs off the train motor. After that, I used an X-acto knife, wire strippers, a soldering iron, solder, and the steps below to install the decoders:

  1. Using a sharp X-acto knife, carefully slice all eight tabs flush with the bottom of the train motor. Now pull the bottom off from the main unit. Rocking the axles helps break it loose.
    dccStep02.jpg (24672 bytes)

  2. Remove the wheelsets; then the metal wipers. After that, remove the motor. Now all that is left inside is the small conductive disk. Removed it also. Nothing but the LEGO cable metal connector and the intermediary gears are still attached.

  3. Remove the two metal plates and diode which are attached to the motor. This will isolate the motor from the electrical pickup wipers. Now everything is separated and ready for DCC implementation.
    dccStep03.jpg (20895 bytes)

  4. Cut the green and purple accessory wires to about ¼ inch to get them out of the way, unless you will be using them for some accessory.

  5. Cut the red and black wires (track pickup) of the decoder to about 1 1/4 inches long and the orange and gray wires (motor drive) to about 1 ½ inches long. Also cut the headlight wires, blue, white, and yellow, to about 1 ½ inches long. Then cut a 1 inch piece of white wire from the leftover scrape. This will be used for the headlight.

  6. Wipe the lubricant from the wiping surface for better conductivity (Hobby Shops sell a conductive lubricant that could be used instead).

  7. Assuming the LEGO cable connector is on the FRONT of the LEGO train motor, solder the red wire to what will be the LEFT hand metal wiper and the black wire to what will be the RIGHT hand metal wiper.
    dccStep07.jpg (29257 bytes)

  8. Carefully so as not to melt the plastic, tin and solder the 1 inch white wire to the inside of one of the LEGO cable connector plates.

  9. Bend the lower motor connector to the side so it will not accidentally touch the metal wiper when installed. Then solder the orange wire to the lower motor connector and gray wire to the upper motor connector.

  10. To get the headlight to stay on in both forward and reverse, solder the white and yellow wires together and then solder them to a 75 - 82 Ohm ¼ Watt resistor. This drops the voltage of the headlight circuit down to about 9V when used to light a LEGO train lamp. Then soldered the other end of the resistor to the 1 inch piece of white wire.
      dccStep10.jpg (24252 bytes)

  11. Now the only wire left is the blue headlight common. Tin the remaining LEGO cable connector plate and solder the blue wire to it.
    dccStep11.jpg (30387 bytes)

  12. (OPTIONAL) There is a noise reducing circuit to help keep the motor quiet at slow speeds. This circuit is not required for DCC to work, and therefore is optional. The circuit evolved from a discussion within the National Model Railroad Association (NMRA) (www.nmra.org) DCC Special Interest Group (SIG) and may be found here (jdb.psu.edu/nmra/anitbuzz.htm). I used five 22 micro Farad capacitors instead of the one 100 micro Farad capacitor as shown in the circuit diagram. I did this because the single capacitor will not fit inside the LEGO train motor and the five individual capacitors will. I followed the following steps to install this circuit.
    a. Cut two 2 ¼ inch pieces of wire from the leftover scrap, one orange and one gray, since they will be connected to the motor.
    b. Solder the 2.2 Ohm ½ Watt resistor to the lower motor connector and the orange wire to the other end of the resistor.
    dccStep12b.jpg (21341 bytes)
    c. Solder the gray wire to the upper motor connector.
    d. Solder the five capacitors in parallel.
    dccStep12d.jpg (22689 bytes)
    e. Solder the gray wire to one lead and the orange wire to the other lead of the capacitor array.

  13. Everything is now soldered in place and ready to be installed. Isolate the metal wipers from the inside of the LEGO cable connector with tape or a small piece of cardstock. You could cut off the tabs, but I chose not to, so as to minimize "damage" to the original LEGO train motor.
    dccStep13.jpg (31895 bytes)

  14. Again, assuming the LEGO cable connector is on the FRONT of the motor, insert the metal wiper with the red wire attached, into the LEFT side of the motor housing. Then insert the metal wiper with the black wire into the RIGHT side of the motor housing. It really does not matter which wire go to which side, I just do this for consistency.
    dccStep14.jpg (25388 bytes)

  15. Replace the two wheelsets.
    dccStep15.jpg (25388 bytes)

  16. Place the motor into the housing.
    dccStep16.jpg (29500 bytes)

  17. Place the decoder on edge and insert it into the FRONT of the LEGO train motor housing.

  18. (OPTIONAL) Place the capacitors in a similar manner in the other end of the LEGO train motor housing.
    dccStep18.jpg (29920 bytes)

  19. Reattach the bottom plate onto the housing being careful to route the wires so they not to get pinched. I have not done anything to "hold" the bottom plate on yet. I have run these modified motors for hours without any problems, therefore I probably will not do anything until a problem presents itself.

  20. The modified LEGO train motor is now ready to be programmed.

Programming Decoders

Since the MRC Command 2000 will not program special functions, I purchased the Digitrax PR-1 computer programmer. This device plugs into a standard RS-232 serial port and comes with software to program decoders. The PR-1 also requires a DC power supply to operate, so I purchased a simple wall transformer from Radio Shack. I also soldered a jack to the PR-1 input wires, so I could plug the wall transformer output into the PR-1. Additionally, I soldered alligator clips to the two other wires of the PR-1 so I could connect it to any track easily.
pr-1.jpg (18509 bytes)

Using the PR-1 software, I entered the following 28 speed step values to obtain a parabolic function and wrote them to the decoder:
pr-1spd.jpg (94972 bytes) dcc.ht1.gif (10771 bytes)

Next, I set the options as follows and wrote them to the decoder:
pr-1cfg.jpg (84173 bytes)

If you are willing to let the motors run up to 12V and do not care about the speed curve function, you do not need to program the decoders in this manner. You can just use the MRC 2000 as is. Leaving the decoder at the default 12V maximum may give the desired boost when the voltage drops when under heavy load. However, you will need to be careful when running these motors without a load, because they will travel incredibly fast.

Programming is now complete.

Parts Lists

The following chart lists all the equipment I used to implement DCC:

Quantity Item Manufacturer Possible Source Source Part No.  Unit Price
1 Command 2000 AD090 MRC Standard Hobby Supply M14-AD090 $108.99
1 Twin Power Box AH800 MRC Standard Hobby Supply M14-AH800 $31.99
1 or 2 (optional) Walk-Around 2000 AD300 MRC Standard Hobby Supply M14-AD300 $29.99
1 LEGO cable LEGO Shop at Home (800-453-4652) 5111 $4.50
1 LEGO track connector LEGO Shop at Home (800-453-4652) 5303 $6.75
1 for each motor Decoder DN140 Digitrax Springhaven Shops DN140 $40.00 
1 (optional for speed table) Computer Programmer PR-1 Digitrax Springhaven Shops PR-1 $40.00
1 (optional with PR-1) Wall Transformer Any Radio Shack 273-1662 $12.99
1 (optional with PR-1) Jack Any Radio Shack 910-0908 $1.99
2 (optional with PR-1) Alligator Clip Any Radio Shack 27-378 (set of 10) $2.79
1 Lamp Cord Any Radio Shack ???
2 Spring Clip Any Radio Shack 27-349 (set of 4) $2.49
1 for each motor with headlight Resistor, 1/4 W, 78.7 W Any Digi-Key 78.7XBK 5 for $0.54
1 for each motor (optional) Resistor, 1/2 W, 2.2 W Any Digi-Key 2.2H 5 for $0.27
5 for each motor (optional) Capacitor, 22 mF, 25 V, bi-polar Any Digi-Key P1177 10 for $2.71

Operation

To setup the MRC DCC system, I first cut the LEGO connector off one end of a LEGO cable, and then stripped the insulation from the wires and connected them to the "Track" terminals on the MRC Command 2000.  Next, I used a piece of lamp cord (2 conductor) to connect the power supply to the MRC Command 2000.  I stripped the wires on one end of the lamp cord and connected them to the 18V output of the Power Supply.  For the other end of the lamp cord, I attached spring clips so I could easily disconnect the the Power Supply from the MRC Command 2000.  Now all that is necessary is to connect the spring clips to the MRC Command 2000 input, plug-in the Power Supply, and attach the LEGO connector to a standard LEGO track connector wire.
mrcsetup.jpg (29775 bytes) mrcset01.jpg (33045 bytes) mrcset02.jpg (40541 bytes)

To operate the DCC equipped LEGO train motors, I hook up the Command 2000 to the track, set it to Program mode, and place one motor on the track and program the desire channel. Only program one motor at a time. If more than one motor is on the track when you set the channel, all of those motors will be reprogrammed too. I use a separate piece of isolated track to program the motors so I do not have to take all the other motors off the track. Setting the channel with the Command 2000, I must remember to ONLY change the channel. Otherwise I will reprogram all settings to the default values and the motor will no longer use the speed curve. Programming of decoders is only required once. Each decoder will remember its last settings until reprogrammed.

Once I have all the motors programmed, I change the Command 2000 to Run mode and begin operating the trains.

Conclusion

This system in not yet perfected.  I am currently investigating using the Digitrax command station with radio control throttles.  This will allow wireless operation, virtually unlimited locos, and true MU capability, but the cost will be significantly higher.  Soon (I hope) I will attempt to use one of the Digitrax decoders which reads back EMF and can boost the output when the loco is drawing a load.  Hopefully, this will help the locos maintain a more constant speed. I am also investigating additional ways to reduce the buzzing noise at slow speeds.  I have discovered that certain models amplify the noise, such as hollow diesels.  Solidly built locos, on the other hand, seem to run more quietly.

I hope this information was useful to you. Please feel free to contact me with any questions, comments or constructive criticisms at cook_thomas@csi.com.

Back