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, with 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 ProMiniAir 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 re-transmit 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 perception, 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 at higher frequencies, and you may also get better direct line-of-sight performance. 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. The longer antenna is far less inconvenient for fixed transmit and receiver installations.
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 ProMiniAir 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!
The photo at the top of the page shows the repeater you place some distance from the “Base Station.” The repeater consists of a ProMiniAir receiver that is identical in design to the ProMiniAir receiver described in my previous post. The only difference is the Anaren 433MHz radio module instead of the 869/915MHz radio module (you cannot quickly 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 ProMiniAir transmitter’s 5V DCC/GND inputs. The transmitter outputs wireless DCC transmissions on channels in the 869/915MHz ISM band picked up by mobile 869/915MHz receivers onboard the locomotives. As described in my previous post, compatibility with CVP Airwire, Tam Valley Depot, GWire, and ProMiniAir receivers is assured.
As a further option for the repeater, you can connect a second ProMiniAir transmitter to the repeater’s ProMiniAir 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 ProMiniAir software (found on this GitHub site) and download the resulting “firmware” to the ProMiniAir’s Pro Mini MCU (micro-controller unit). The software the ProMiniAir uses to operate at 433MHz is the same software that you use for the ProMiniAir 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).
//////////////////////// // Set band of operation //////////////////////// /* Use ONLY ONE #define*/ /* For 896/915MHz EU/NA ISM bands*/ // #define NAEU_900MHz /* For EU-only 434MHz ISM band*/ #define EU_434MHz /* For World-Wide 2.4GHz ISM band*/ // #define NAEU_2p4GHz ////////////////////////////// // Set Transmitter or Receiver ////////////////////////////// /* Uncomment ONLY ONE #define*/ /* For receiver*/ #define RECEIVER /* For transmitter*/ // #define TRANSMITTER ///////////////////////////////////////////////// // Set the default channel for NA/EU 900MHz only! ///////////////////////////////////////////////// #if defined(NAEU_900MHz) /* Uncomment ONLY ONE #define*/ /* 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 #endif ////////////////////////////////////////// // Set the transceiver's crystal frequency ////////////////////////////////////////// /* Uncomment ONLY ONE #define*/ /* For 27MHz transceivers (e.g., Anaren 869/915MHz (CC110L) and Anaren 869MHz (CC1101) radios)*/ // #define TWENTY_SEVEN_MHZ /* For 26MHz transceiver (almost all other radios, including Anaren 433MHz (CC1101), 915MHz (CC1101), and 2.4GHz (CC2500) radios)*/ #define TWENTY_SIX_MHZ
We use a transceiver daughterboard with a surface-mounted Anaren “chip” 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 cannot use the same discrete components for multiple ISM bands. Your range performance will be inferior if you use these offerings. And, these offerings are NOT usually FCC/IC/ETSI approved as “intentional transmitters.” The transceiver daughterboard with the Anaren radio module we recommend is available from Blueridge Engineering, or you can contact me directly.
The best way to supply power to the two (or three) ProMiniAir receiver/transmitter(s) is battery power or a voltage converter using a battery power source. The ProMiniAir transmitter/receiver can accept direct B+/B- battery power connections, usually 14.8V LiPo batteries or 5V/GND inputs from a voltage converter. Power connections are described in my previous post on the ProMiniAir. I strongly recommend using the 5V/GND power inputs from a voltage converter (inexpensive) to prevent overtaxing a small 5V power converter onboard the ProMiniAir.
All that remains to do is connect the 433MHz ProMiniAir receiver’s GND/DCC output directly to the 869/915MHz ProMiniAir transmitter’s GND/DCC input. The GND and DCC Input/Output connection are the same pins on both ProMiniAirs. The three-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 ProMiniAirs UNLESS you are supplying a 5V/GND supply to one of the ProMiniAirs via the two-pin row marked left to right as GND/5V.
The ProMiniAir transmitter/receiver’s DCC address is, by default, 9000/9001, respectively. My previous post describes how to reconfigure the ProMiniAir using the DCC throttle’s “OPS” mode by sending changes to the Configuration Variables’ values. Important CVs are CV255 to set transmission power level (0-10) and CV254 to select channel #. The 433MHz ProMiniAir has eight channels (0-7) that can be used, and channel 0 (434.00MHz) is the default.
When you have multiple ProMiniAir transmitters and receivers “listening,” beware that sending OPS mode commands to either 9000 or 9001 will change the CV values on all listening ProMiniAirs 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 re-transmit 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 ProMiniAir’s DCC address as discussed here, or turn off all ProMiniAirs you don’t want to reconfigure. Giving a unique DCC address to each ProMiniAir is probably the safest strategy! Of course, you can “play” useful games by giving “groups” of ProMiniAirs 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 an even better range extension technique.