Improving Dead-Rail Range Performance with a Repeater

A simple repeater using two ProMini Airs. A ProMini Air receiver picks up DCC transmissions on a channel in the 433MHz ISM band, and its 5V logic level DCC/GND output is directly connected to an 869/915MHz ProMini Air transmitter’s DCC/GND input. The 869/915MHz ProMini Air’s wireless DCC transmissions are picked up by DCC receivers onboard a locomotive.
A DCC repeater in action. The transmissions from the repeater’s ProMini Air 869/915MHz transmitter are picked up by the ProMini Air receiver located in the tender of the Cab Forward. The Base Station’s 433MHz ProMini Air transmitter sends wireless DCC to the repeater’s 433MHz ProMini Air receiver that is directly connected by wire to the repeater’s 869/915MHz ProMini Air transmitter.

The Range Performance Problem in Dead-Rail

An often-heard complaint in Dead-Rail is wireless range performance. The regulatory limits on transmitting power in the unlicensed “ISM” (Industrial, Scientific, and Medical) bands used for Dead-Rail applications force dead-rail transmitters to emit at low power, usually in the few milliwatts range. By contrast, licensed amateur radios can transmit at tens of watts!

Many radio-control applications work well with low-power transmitters because of either short transmission range or unobstructed line-of-sight between the transmitter and receiver. However, we often do not have these luxuries in our Dead-Rail applications, where we have huge layouts and line-of-sight obstructions.

OK, enough of the problem. Let’s get to a reasonably simple solution: a repeater.

Making a Simple Dead-Rail Repeater

There are many ways to make a repeater. I’ll discuss a very simple (simple-minded?) repeater design that is easy for us to implement in Dead-Rail using ProMini Air transmitters and receivers that I have described in a previous post.

The idea for my design of a Dead-Rail repeater is straightforward: receive transmissions from an often-weak signal at one RF frequency and retransmit this signal at full power at another RF frequency to prevent interference with the reception of the weak signal at the received RF frequency. So, right off the bat, you see that you need a wireless receiver operating at one RF frequency, a wireless transmitter operating at a different RF frequency, and a wired connection between the two to send 5V logic-level DCC from the receiver to the transmitter.

Repeater Base Station

Before we get to the actual repeater, let’s discuss a tiny variation in the transmitter “base station” that will give us a better transmission range than typical Dead-Rail transmitters that operate in the 869/915MHz ISM bands. The idea is to initially transmit in the 433MHz ISM band, which is legal in many parts of the world, especially in Europe. Contrary to popular perceptions, it is legal to transmit in North America in the 433MHz band if the transmitted power is low enough.

Why bother with a 433MHz base station? You certainly get better obstacle performance at 433MHz than you do at higher frequencies, and you may get better direct line-of-sight performance as well. The downside to using the 433MHz ISM band is longer antennas are needed, roughly twice as long as in the 869/915MHz ISM bands. The longer length makes it impractical to mount a 433MHz antenna for a mobile receiver onboard a locomotive. For fixed transmit and receiver installations, the longer antenna is far less inconvenient.

The photo below shows the “base station,” which converts the track DCC from a standard DCC throttle to wireless DCC transmitted in the 433MHz (433.05MHz to 434.79MHz) ISM band. The design is almost identical to the ProMini Air transmitter described in my previous post. The only differences are the Anaren radio module (with its approved antenna) designed to operate at 433MHz rather than 869/915MHz and a tiny bit of specialized transceiver initialization data in the software. That’s it for the base station!

Transmitter “Base Station.” A standard DCC throttle provides track DCC to a “DCC Converter” that converts the track DCC to “5V DCC” and 5V power/ground for the ProMini Air transmitter, which in turn, transmits wireless DCC on a channel in the 433MHz ISM band.

The Repeater

The photo at the very top of the page shows the repeater that you place at some distance from the “Base Station.” The repeater consists of a ProMini Air receiver that is identical in design to the ProMini Air receiver described in my previous post. The only difference is the Anaren 433MHz radio module instead of the 869/915MHz radio module (you cannot easily tell the difference between the two because they have the same pinouts and form factor), and a tiny bit of transceiver initialization data in the software.

You directly connect the receiver’s 5V DCC/GND to a ProMini Air transmitter’s 5V DCC/GND inputs. The transmitter outputs wireless DCC transmissions on channels in 869/915MHz ISM band that are picked up by mobile 869/915MHz receivers on-board the locomotives. As described in my previous post, compatibility with CVP Airwire, Tam Valley Depot, GWire, and ProMini Air receivers is assured.

Close-up of pin connections
Pin connections showing the wired connection between the 433MHz ProMini Air receiver and the 869/915MHz ProMini Air transmitter.
Alternative repeater power connections. A battery-powered voltage regulator set to +5V powers the 433MHz receiver. The 3-wire connection from the 433MHz receiver provides ground (Blk), +5V (Red), and 5V logic DCC (White) to the 869/915MHz transmitter.

As a further option for the repeater, you can connect a second ProMini Air transmitter to the repeater’s ProMini Air receiver to wirelessly re-transmit DCC at a different frequency (channel) in the 433MHz band to other repeaters whose receiver is “listening” on the same 433MHz channel.

Some Possibly-Important Details

Below are possibly-important details.


My previous post discusses how to compile the ProMini Air software (found at this GitHub site) and download the resulting “firmware” to the ProMini Air’s Pro Mini MCU (micro-controller unit). The software the ProMini Air uses to operate at 433MHz is the same software that you use for the ProMini Air receivers and transmitters operating in the 869/915MHz ISM bands. All that changes is the selection of the 433MHz band and the correct crystal frequency (26MHz for the Anaren radio module) in the config.h file. See the relevant part of the config.h file below, and note the “#define EU_434MHz” (operate in the 433MHz band), “#undef TRANSMIT” (compile for a receiver), and “#undef TWENTY_SEVEN_MHZ” (the crystal frequency is NOT 27MHz).

// #define NAEU_2p4GHz

// Set Transmitter or Receiver
// Uncomment ONLY ONE
// For receiver
#define RECEIVE
// For transmitter
// #define TRANSMIT

// Set the default channel for NA/EU 900MHz only!
// Uncomment ONLY ONE
// To set the default to NA channel  0 for 869/915MHz ISM bands only!
#define NA_DEFAULT
// To set the default to EU channel 17 for 869/915MHz ISM bands only!
// #define EU_DEFAULT

// Set the transceiver's crystal frequency
// Uncomment ONLY ONE
// For 27MHz transceivers (e.g., Anaren 869/915MHz (CC110L) and Anaren 869MHz (CC1101) radios)
// For 26MHz transceiver (almost all other radios, including Anaren 433MHz (CC1101), 915MHz (CC1101), and 2.4GHz (CC2500) radios)
// #define TWENTY_SIX_MHZ

// Set the LCD's default address
// Uncomment ONLY ONE
// The LCD display's default address. 
// The address range for TI serial drivers 
// PC8574:  0x20(CCC=LLL) to 0x27(OOO=HHH)(default) and
// PC8574A: 0x38(CCC=LLL) to 0x3F(OOO=HHH)(default)
// O=Open jumper (=High); C=Closed jumper (=Low), 
// addresses are A2,A1,A0 from left to right on the boards

//    ^^^ User Entry Area Above ^^^


We use a transceiver daughterboard with a surface-mounted Anaren “chip” that is designed to operate on multiple channels in the 433MHz ISM band instead of 896/915MHz ISM bands. The two chips have different discrete surface mount components optimized for the respective ISM band. Transceiver daughterboard offerings that claim operation at 433MHz and 869/915MHz are not credible – you simply cannot use the same discrete components for multiple ISM bands. Your range performance will be very poor if you use these offerings. And, these offerings are NOT usually FCC/IC/ETSI approved as “intentional transmitters.” The transceiver daughterboard with Anaren radio module we recommend is available from Blueridge Engineering or you can contact me directly.

Repeater connections

The best way to supply power to the two (or three) ProMini Air receiver/transmitter(s) is battery power or a voltage converter using a battery power source. The ProMini Air transmitter/receiver can accept either direct B+/B- battery power connections, usually 14.8V LiPo batteries, or 5V/GND inputs from some sort of voltage converter. Power connections are described in my previous post on the ProMini Air. I strongly recommend using the 5V/GND power inputs from a voltage converter (they are inexpensive) to prevent overtaxing small 5V power converter onboard the ProMini Air.

All that remains to do is to connect the 433MHz ProMini Air receiver’s GND/DCC output directly to the 869/915MHz ProMini Air transmitter’s GND/DCC input. The GND and DCC Input/Output connection are the same pins on both ProMini Airs. The 3 pin row for the connections from left to right is marked GND/+5V/DCC I/O (T/R). You can see the connecting wires in the photo at the top of the page. DO NOT connect the 5V pin in the 3-pin row between the two ProMini Airs UNLESS you are supplying a 5V/GND supply to one of the ProMini Airs via the two-pin row marked left to right as GND/5V.

Repeater power and data connections using battery connections
Repeater power and data connections using a +5V/GND voltage converter

Changing Configuration

The ProMini Air transmitter/receiver’s DCC address is by default 9000/9001, respectively. My previous post describes how to reconfigure the ProMini Air using the DCC throttle’s “OPS” mode by sending changes to the values of the Configuration Variables. Important CV’s are CV255 to set transmission power level (0-10) and CV254 to set channel #. The 433MHz ProMini Air has eight channels (0-7) that can be used, and channel 0 (434.00MHz) is the default.

When you have multiple ProMini Air transmitters and receivers “listening,” beware that sending OPS mode commands to either 9000 or 9001 will change the CV values on all listening ProMini Airs that have one of these default addresses. Global changes are probably NOT what you had in mind and will disable any “two-step” repeaters if they retransmit to other repeaters since the repeater’s 433MHz transmitter must transmit on a different channel from the repeater’s 433MHz receiver.

You have two strategies for preventing inadvertent reconfiguration using OPS mode: change the ProMini Air’s DCC address as discussed here, or turn off all ProMini Airs you don’t want to reconfigure. Giving a unique DCC address to each ProMini Air is probably the safest strategy! Of course, you can “play” useful games by giving “groups” of ProMini Airs the same DCC address so that they are all reconfigured at the same time, but other “groups” at a different DCC address will ignore these commands.


With a simple repeater that requires no new hardware or software, I hope you will agree it is simple to extend the range of wireless DCC! Perhaps these ideas will inspire you to develop even better range extension techniques.