ORD-1 driver, booster


ORD-1 is a hardware interface for model train control. It is designed for use with Rocrail.


This do-it-yourself (DIY) command station module connects your computer to your model train setup. The computer generates the data stream needed to control locos and turnouts. ORD-1 amplifies this data stream. Also, the computer read sensors status back from S88 modules through ORD-1. The most unique ORD-1 feature is the opto isolation, minimizing the risk for computer hardware damage when playing with the relatively high model train voltages.

To run Rocrail in auto mode, with DDX as interface library, a minimal testing setup will use:

  • Ordinary PC with one standard serial port and one standard parallel port. Linux or Windows.
  • ORD-1 with cables and transformer.
  • NMRA DCC compatible and/or Märklin Delta/Digital compatible locos.
  • NMRA DCC compatible and/or Märklin Delta/Digital compatible accessory decoders for turnouts and/or signals (like ORA-1).
  • S88 feedback module with cables (like ORF-1).
  • Some tracks, turnouts and time…

Main features

  • Full Rocrail support
  • Full opto isolation, computer / model train
  • 2.5A Booster with current limit and short circuit detection
  • External booster control for LDT ® and Märklin ® Boosterbus and also for other Boosters like Tams B2
  • Programming track output with acknowledge feedback
  • S88 expander for four buses
  • 160x100mm PCB
  • Use transformer without center tap (standard model train transformer) or, for best performance, with center tap (typical a 2x15VAC Toroid)

Block diagram



All documentation: https://github.com/rocrail/GCA/tree/master/ord-1
Last version is 1.52; Older versions are not longer available.

Schematics and PCB artwork was created with KiCad, an Open Source (GPL) PCB Suite.


  • Please use DDX, not DDA or DDL.
  • Some computers may have weaker serial port drive strength, which may distort the track data signal. If you have such problems, try rise R42 value (330<R<2k2).
  • Status: Fully tested. Several units built.

Component notes

  • Resistors: For best result, use 1%, 1/4W, metal film resistors.
  • Power resistors: 0R33 for 2.5A output. 0R22 for 3A output (only if you have very good cooler). Use 4W types, max 17mm length. With creative mounting and soldering you may use longer types or even bundles of 2W metal film resistors, like 3pcs 1Ohm in parallel for 0.33Ohm.
  • Relay: FEME VMA 001 12 (Elfa part number 37-069-18) or Schrack PE014012 or (Fujitsu-)TAKAMISAWA VE12H-K. Any 12V, 5A, 29mm standard SPDT, single pole double throw, relay may be used, holes are defined in PCB but some copper cutting and solder bridging is needed. Also, with a 29mm relay the heat sink must be shorter. In 04.2013 provides a forum post a further alternative: http://forum.rocrail.net/viewtopic.php?p=49766#49766
  • Smoothing capacitors: Use either C13-C24, 16mm diameter, 7,5mm leg spacing, minimum 35V or C11 and C12, snap in type. If you plan to use a transformer without center tap, use largest possible capacitance, minimum 2x6000uF.
  • Rectifier diodes: The diodes must sustain full power usage, use for example the 1N540X series.
  • Heat sink: A spare PC CPU fan may be a simple and cheap solution. The box shaped fans AMD ships with their modern CPUs are perfect. Drill 2,5mm holes and thread with a M3 tap. Use nylon screws and insulating washers between TO220 tabs and the heat sink. Use P9 header to supply power to the CPU fan. The heat sink must be able to take away about 60W of heat in case of sustained overload or short circuit and computer doesn't recognize the SC and properly issues STOP. During normal operation, the heat dissipation is moderate. If you use a small heat sink, you may use a thermal fuse or thermal switch attached to heat sink, near the output transistors. The thermal fuse may break rail output or, when used with single tap transformer, input AC. If you use a model train transformer, it may include a bi-metal thermal fuse, which will trip in case of prolonged unattended short circuit.
  • Transformer voltage: 15VAC is working for most H0 and N scale locos. 12VAC is best for Z-scale, but can be used for N-scale too. 18VAC is probably to much for all indoor scales.
  • Fuse rating: If you use a transformer with two windings, use two fuses 1,5A (or smaller). If you use a transformer with one winding, use one fuse 3,25A (or smaller).


  1. Mount all jumpers. The longest jumper must have insulation, as it passes near the rectifier diodes.
  2. Mount all small components (mounting in “height” order is easiest). The resistor legs must be bent near the body (this is maybe not the best for high reliability electronics, but this is just a hobby…). Please note the polarity/direction for diodes (the marked side, anode, in the square pad), LEDs (the long leg in the square pad) and electrolytic capacitors (the minus sign in the round pad = positive side to square pad).
  3. Mount the power supply parts: J3, F1, F2, C13-24, R58, U5, U6, C9, C10, R28-30, D18-20.
  4. Test the power supply, it should give +5V, +12V, approx -20V and approx +20V and the according LEDs should be lit.
  5. Mount the remaining components.
  6. Mount the heat sink. Ensure that the cooling tabs are properly insulated, use a multimeter check for short circuit to heat sink. Remember that you must have proper cooling in case of prolonged short circuit .
  7. Test it!


Use standard straight cables with one male and one female connector.

9-pin D-Sub for the serial port (RS232) and 25-pin D-Sub for parallel port (printer port).

You may change the printer port bios settings if the relay does not work. Some PC's work well with standard setting, some must be set to ECP+EPP.

When the ORD-1 is connected to a com port and Rocrail server is running (and no com port errors was shown in log), the LEDs looks like:

D10 unlit = no S88 data on bus 1
D12 unlit = no positive track voltage
D13 unlit = no negative track voltage
D14 unlit = no data
D15 unlit = STOP
D16 unlit = normal (not programming mode)
D17 lit = SC detected
D18 lit = +5V working
D19 lit = +12V working
D20 lit = negative voltage working

When power to track is on (the power lamp in Rocrail gui is pressed), the LED looks like:

D10 unlit = no S88 data on bus 1 (with no S88 bus connected)
D12 blinking very fast
D13 blinking very fast
D14 blinking very fast
D15 lit = GO
D16 unlit = normal (not programming mode)
D17 unlit = no SC detected
D18 lit = +5V working
D19 lit = +12V working
D20 lit = negative voltage working

Setting up Rocrail

Since Rocrail 1.1, use DDX as control station module. All parameters can be set in the GUI.

Functional description

Power supply

A three pole screw terminal, J3, accept incoming AC-power. Two fuses, F1 & F2, secures against fatal over currents. Four diodes, D6-D9, rectifies the voltage. Capacitors C11 & C12 or C13-C24 smooths the voltage. The smoothed voltage is expected to be +-20-24V with no load. Note about 1x16VAC supply: Only ground and one of the AC input terminals is used, and then only one fuse and two diodes. The circuit then becomes a half-wave rectifier. The smoothing capacitors stores charge between the AC-cycle pulses. With 1x16VAC transformer and half-wave rectifying, there is a half cycle gap between each power pulse and the smoothing capacitors must in this case be very much larger. At power off, the positive capacitors will discharge quickly through the linear regulators. The negative half can discharge through R58.

Two standard 7805 and 7812 linear voltage regulators, U5 & U6, creates voltage supply for the electronics. Two small capacitors, C9 & C10, decouple the regulated supplies.

Three diagnostic LEDs makes it easy to see if some voltage is missing. An optional fan output makes it easy to use a 12V CPU-fan for cooling.

Serial port interface

Data: PC sends serial data on TX, J2 pin 3. Nominal voltage is +-12V but most serial port outputs have limited drive strength, so voltage will drop when we load it with R42, C1, O9 and O10. O9 and O10 is anti-parallell and only one LED will be lit at a time.

GO: PC sends GO/STOP signal on DTR, J2 pin 4. Positive output > DTR low > O11 LED on > Booster GO. SC: PC receives short circuit signal on DSR, J2 pin 6. Short circuit > O12 transitor driven positive signal > DSR low PT: PC receives programming track ack on RI, J2 pin 9. Ack?? > transistor driven 0V??? > RI???

Booster bus data path

Data is sent through two opto couplers, O9 + O10. A flip-flop, U1A + U1B restores the signal. R39 + R40 pullup value, 1k, is chosen to give proper rise time. Data signal is sent to booster bus output and to ORD-1 booster. D23 + D24 prevents over voltage destruction of U1, due to wrong booster bus connectivity. R31 gives output over current protection.


DTR line from computer signals Power On/Off (GO/STOP). Optocoupler LED O11 is driven when Power is on (GO). When power is off (STOP) no booster output transistor is driven. This is achieved by forcing data input to booster high with U1D. The base voltage to Q2 and Q4 is forced to nearly the same as Q2 + Q4 emitter voltage, by saturating Q5, and neither Q2 or Q4, nor Q6 + Q7 will be driven.


The booster is unregulated. This means that the output voltage will be almost the same as the rectified and smoothed supply voltage. This is done by saturating the output transistors, one at a time. Two LEDs, D12 + D13, monitors the output voltage. If both LEDs are lit or flickers, both output transistors delivers their half of the output voltage. If both LEDs are unlit, booster is off and output voltage is near zero.

Short circuit detection

sc_det.jpg When running normal, the voltage over C2, 1uF capacitor will be about -4V (-20V+15V+1V=-4V), as every negative output part of the output cycle can sink a lot of current through the zener diode Z1 and the diode D4. To prevent over current, R23 100R limits the current through the diodes. The positive parts of the cycle can only charge through a 10k resistor, R16, and that current is not enough to rise the voltage over the capacitor. When short circuited to ground, then the zener diode and the diode can no longer sink current to negative cycles anymore, instead voltage over the capacitor will rise and when high enough, D5 + R17 will drive ch7 output low of U7, ULN2803A. This will make LED D17 and opto-coupler O12 signal short circuit detection (SC). If booster bus pin 5 is driven high, then ch8 of U7, ULN2803A, will be active and signal SC. The filter D21 + C27 ensures that noise from open booster bus port will not trigger SC detection.

Ack generation

When the loco do an ack it rises its own power consumption for a short period. The increased current gives a increased voltage over R51. OP U4 is configured as a comparator with different time constants for positive and negative input. This detects this quickly raised voltage and drives the ack opto coupler O13 for a short period (6-10ms).


Four S88 signals is read in parallel. Some model train software can only use channel 1. Signals are buffered with U2 and U3. One LED on ch 1 provides monitoring.

Connection Example

If you are unsure how to connect your ORD-1, take a look at the connections drawing:

Connection diagram

If you are unsure how to connect after reading the drawing feel free to ask the Forum.


3D-picture from KiCad, ORD-1 version 1.5:

The real stuff, ORD-1 version 1.3:


ORD-1, version 1.5, with AMD CPU cooler:


ORD-1, version 1.52, built from a kit:



ORD Prototype

PT Programming Track
SD Short circuit Detection (Booster dependent)
ID Inverter Driver

Personal Tools