I was inspired to fully develop a wireless DCC transmitter and receiver by two sources: Martin Sant, who runs the BlueRidge Engineering website, and an article by Mark and Vince Buccini titled “Build Your Own Wireless DCC System” that appeared in the April, June, and August 2014 editions of Garden Railways magazine. These back issues are still available.
The Buccinis showed that it was possible to home-build a wireless DCC system. And Martin became a great collaborator who concretely started me with the initial version of the “ProMiniAir” wireless DCC transmitter/receiver hardware and the wireless DCC software for the Pro Mini microcontroller board. I am deeply indebted to these people.
Note: Some photos may show older versions of the ProMiniAir. Also, previous versions of the ProMiniAir receiver and transmitter used 9000/9001 for their DCC address, respectively, which we changed to 9900/9901. Photos and examples may use the now-obsolete addresses.
Update for New Versions of the ProMiniAir Transmitter and Reciever
Please see this post on an important update on the ProMiniAir transmitter. It is now completely stand-alone; just plug in power and use your cell phone app to control your locomotive.
The ProMiniAir transmitter and receiver have been significantly reduced in size: 1.1″ x 0.8″, making it possible to mount the ProMiniAir receiver and a tiny DCC amplifier in tighter spaces and some HO locomotives.
My goal for offering the ProMiniAir receiver/transmitter is to provide those interested in “dead-rail” (radio control, battery power of a model railroad locomotive) inexpensive wireless, DCC compatible transmitters and receivers for radio-control of model railroad locomotives in the US/Canadian 915MHz ISM band – the same band and protocol as used by Tam Valley Depot (TVD), CVP Airwire, NCE/QSI Gwire, and Stanton Cab. Also, you can operate the ProMiniAir transmitter and receiver in the European ISM band at 869.85MHz, and we have verified interoperability with Tam Valley Depot European DRS1 transmitters and receivers.
A note about channels: modern CVP Airwire transmitters and receivers can all operate in the Airwire channels designated 0-16 using current Anaren AIR transceiver chips. Older wireless transmitters and receivers from Tam Valley Depot and Stanton Cab used the Linx ES series transmitter or receiver chip that only operated at 916.48MHz with slightly different specialized radio settings from the Airwire channels. I call this channel 17. In most but not all cases, these Channel 17 devices are interoperable with Airwire Channel 16 @ 916.36MHz. Also, European versions of these older transmitters and receivers operated on 869.85MHz; I call this Channel 18. Here’s my unofficial Table of channels and frequencies.
|11 (B)||918.12||S-Cab alternative frequency|
|16 (na)||916.37||TVD interoperability w/ Ch. 17|
|17||916.48||S-Cab and older Tx/Rx|
The “ProMiniAir” receiver is compatible with the Tam Valley DRS1 transmitter (Channel 16 or 17), both the CVP AirWire T5000 and T1300 wireless throttles (Channels 0-16), the no longer manufactured NCE GWire CAB (Channels 0-7), and the Stanton Cab Throttle (Channel 17).
The ProMiniAir transmitter is compatible with the Tam Valley Depot DRS1 receiver (Channels 0-17, Channel 18(E)), the CVP Airwire CONVRTR receivers (Channels 0-16), the QSI Gwire Receiver (Channels 0-7), the Stanton Cab LXR-DCC receiver (Channel 17), and the NCE D13DRJ wireless decoder (Channel 16 or 17). Of course, the ProMiniAir transmitters and receivers are compatible!
The ProMiniAir has some features that may be more interesting than commercial offerings. See the Comparison Tables below.
|No||Ch 17 |
|NCE Gwire Cab||Yes||0-7||Yes||No|
In fairness, the manufacturers of the Airwire T5000, the NCE Gwire Cab, and the S-Cab Throttle hand-held throttles never intended to interface with standard DCC throttles. But, as Tam Valley Depot recognized, it is advantageous to use any device that supplies DCC to the rails and transmit this DCC wirelessly to DCC-compatible receivers.
A notable limitation of the Tam Valley Depot DRS1 transmitter is that it does not provide DCC “IDLE” packets that the Airwire receivers require unless the original DCC throttle does so (most, if not all, do NOT). Also, the Tam Valley Depot DRS1 transmitter can only broadcast on one Channel (near Airwire Channel 16, which I have designated Channel 17 @ 916.48MHz).
Shown in the Table below are the comparisons for wireless DCC receivers.
|TVD DRS1, |
|0-17, 18(E)||None or|
The most notable difference among the receivers is “DCC filtering,” i.e., how the receiver behaves when losing a valid RF DCC signal.
When the TVD DRS1 or QSI Gwire receivers lose a valid RF signal, they output random pulses to the decoder. I have discussed the pros and cons of this in another post.
On the other hand, the Airwire CONVRTR outputs constant-level DC when it loses a valid RF signal or doesn’t receive enough DCC “IDLE” packets. Again, as discussed in another post, the DCC decoder may halt the locomotive dead in its tracks when it receives this constant-level DC, which may or may not be what the user wants.
The Airwire CONVRTR performs “DCC filtering” by periodically evaluating whether it’s receiving DCC “IDLE” pulses. So, even if a stream of completely-valid DCC packets is received, but there are few or no “IDLE” packets, the Airwire CONVRTR will become inactive and output constant DC to the decoder.
These characteristics of the Airwire receivers are why Tam Valley DRS1 transmitter will usually NOT work with Airwire CONVRTR receivers because the DRS1 will not insert additional DCC “IDLE” packets! The Tam Valley Depot DRS1 transmitter is a passive participant: if the input DCC throttle doesn’t produce frequent DCC “IDLE” pulses, then the Tam Valley Depot DRS1 will not transmit frequent DCC “IDLE” pulses.
Stanton designed the S-Cab LXR-DCC receiver specifically for the S-Cab Throttle’s intermittent DCC transmissions. Like the Airwire CONVRTR receivers, the LXR outputs a constant DC voltage when a valid RF signal is lost.
Via OPS mode (by default at address 9901), you can reconfigure ProMiniAir’s output behavior when a valid RF signal is lost. The first option (CV246 -> 0) selects the output of DCC IDLE messages (which the decoder is “comfortable” with, rather than random pulses that might “confuse” the decoder). The second option (CV246 -> 1) selects the output of constant-level DCC.
This reconfigurability makes the ProMiniAir receiver a versatile wireless DCC receiver. The ProMiniAir receiver’s RF DCC detection technique is more sophisticated than Airwire’s. The ProMiniAir receiver detects how long it’s been since it received ANY valid DCC packet. And, after a preset time interval (which is reconfigurable via OPS mode, changing the CV252 value in 1/4 second multiples), the ProMiniAir receiver will output either the DCC “Idle” messages (DCC filtering “off”) or output constant-level DC (DCC filtering “on”). When DCC filtering is “on,” and there is no valid RF signal, the DC level output is reconfigurable via an “OPS” mode setting of CV248 (-> 1 for positive DC, -> 0 for 0V DC) at the ProMiniAir’s DCC address.
Once a valid RF signal is received again, the ProMiniAir receiver detects this condition. It outputs these valid DCC packets to the “DCC amplifier” that sends “track-level” DCC to the decoder.
Another important feature of wireless DCC receivers is Channel selection and searching.
IF YOU SET SOME JUMPERS, the TVD DRS1 receiver will “listen” on a fixed Airwire Channel. Otherwise, the DRS1 will automatically search the Airwire Channels for a valid RF signal if you do NOT insert the jumpers. This behavior may or may NOT be a good idea if multiple wireless DCC transmitters transmit simultaneously on different Channels. And changing the Channel selection behavior (fixed Channel or auto-scan) requires physical access to the receiver to connect or disconnect jumpers.
On startup, the Airwire CONVRTR “listens” for a valid RF signal on its “startup” channel (which is reconfigurable by accessing a CV using the wireless throttle’s “OPS” mode). If the CONVRTR finds no valid RF signal after a given time, the CONVRTR will switch to Channel 0. This behavior is usually a good idea.
Like the Airwire CONVRTR, on startup, the ProMiniAir receiver will “listen” for valid RF on its “startup” Channel (default, 0) stored in EEPROM memory. This startup channel is changeable using the transmitting throttle’s “OPS” mode by setting CV255 to 0 through 18 at the ProMiniAir transmitter’s DCC Address (default, 9901). Like the TVD DRS1 receiver, if the ProMiniAir does not find a valid RF signal on its startup channel, the ProMiniAir receiver will then auto-scan Channels 0(A), 18(E), 17(S), 1(A), 2(A), …, 16(A) (in that order) for valid RF signal (A=Airwire channels, E=European channel @869.85MHz, S=S-Cab Channel @ 916.48MHz). This scan sequence guarantees that a wireless DCC transmitter (if one is available) is selected, but only if the ProMiniAir does NOT find a valid RF DCC signal on its startup Channel from another wireless DC transmitter.
Once “locked on” to a Channel. The ProMiniAir Receiver will continue to “listen” on this Channel, even if the transmitter is turned off or the signal is lost. This allows the ProMiniAir Receiver to pick up signals on the “locked on” Channel once the transmitter is turned back on or the signal is re-established.
If the ProMiniAir receiver finds no valid RF DCC signal on any Channel on startup, it will select Channel 0 and wait for a valid RF DCC signal. Also, upon reset, the ProMiniAir’s Channel search process will be unchanged: it will try the “startup” channel stored in EEPROM memory, then try auto-searching Channels, and if all else fails, wait on Channel 0.
So, in summary, we are offering the ProMiniAir DCC transmitter and receiver to provide a low-cost alternative with features not entirely found in commercial offerings.
You are provided with a few additional components when buying a ProMiniAir receiver or transmitter. In the case of the ProMiniAir transmitter, we include a simple “DCC Converter” PCB that converts DCC output to the track into Ground, 5V power, and 5V logic DCC. These outputs supply the ProMiniAir transmitter with power and DCC packets to transmit, so no additional power supply is necessary.
For the ProMiniAir receiver, we include a low-cost “DCC amplifier” that converts the ProMiniAir receiver’s 5V logic DCC back to DCC. In its typical configuration, the onboard DCC decoder would pick up from the track (again, discussed in detail below). The ProMiniAir receiver can be powered directly from the battery or a small external 5V power supply.
This modularity keeps costs down, allows for easy replacement of components rather than the entire assembly, and enables the use of commodity components less susceptible to supply-chain disruptions.
And you will need an antenna of your choosing! I love antennas, but your antenna requirements are too diverse to offer a “one size fits all” antenna solution. We provide an FCC/IC-approved Anaren “whip” antenna that connects to the U.FL connector on a 10-pin transceiver daughterboard. This antenna should work well for most transmitter applications and is FCC/IC-approved for “intentional radiators.”
For the ProMiniAir receiver, some can use the small whip antenna without modification; others will need to run an antenna connecting cable to a small, externally-mounted antenna. We discuss several excellent antenna options below.
The definitive source of information for the ProMiniAir transmitter and receiver is available here.
We no longer offer the ProMiniAir as a kit.
The ProMiniAir Tx and Rx are provided with the firmware already loaded. These instructions are only for advanced users who want to update the firmware.
The source code is available from this GitHub site. Locate the source code in a directory where the Arduino IDE can find it. You should retain the subdirectory structure to access the “project” with the Arduino IDE.
If you want a transmitter or receiver, edit libraries/config/config.h to select the “define” for the transmitter or receiver.
For a receiver (Rx), config.h should look like this:
... // #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 18 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 ...
If you want a transmitter (Tx), then config.h should be
... // #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 18 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 ...
Two further options are available. The first option selects the crystal frequency of the FCC/EC-approved transceiver: 27MHz (Anaren) or 26MHz (Ebyte). The second option specifies North American or European default use.
After you complete downloading the firmware into the Pro Mini, please do not remove the USB connection from the computer until the “secondary” LED, which indicates attempted communication over the SPI (serial peripheral interface), flashes on (it will not be bright). This step ensures you properly initialize the EEPROM!
You load the firmware into the Pro Mini MCU using an “AVR ISP,” such as the Sparkfun Pocket AVR Programmer or a less-expensive clone. This “ISP” downloading mode will bypass and erase the bootloader to directly load the firmware into the Pro Mini MCU. On boot-up with the bootloader now erased, the Pro Mini MCU will almost instantly supply “5V logic DCC” to the DCC amplifier, which provides the DCC decoder with standard DCC waveforms. There is no “boot-up DC” or need to set CV29, bit2=0. (I set it anyway.) With this solution, all DCC decoders I’ve tried (ESU, Zimo, MTH) startup without the “boot-up jerk.”
This “ISP” form of loading firmware is not as extensively used by folks using the Arduino IDE, but ISP loading is easily accessible within the Arduino IDE. The overly-brief method of ISP programming steps is the following:
- Remove the transceiver daughterboard and the jumper (if inserted).
- Connect the USBtinyISP (or other) Programmer (with power switch ON to supply 5V DC to the ProMiniAir PCB while programming) to the 6-pin connector on the ProMiniAir.
- From the Arduino IDE, Select Tools → Programmer → “USBtinyISP” (or whatever ISP programmer you use).
- Select the AirMiniSketchTransmitter sketch.
- Select Sketch → Upload using a Programmer.
- The Arduino IDE will compile the sketch and download the resulting firmware to the Pro Mini via the USBtinyISP, bypassing (and erasing) the bootloader.
Once the ProMiniAir receiver or transmitter firmware is installed in the Pro Mini and inserted into the ProMiniAir PCB, the ProMiniAir is ready for integration!
You must establish several connections to complete the ProMiniAir receiver (Rx) integration or transmitter (Tx).
Overview of Connections
See the picture below for an overview of the connections to and from the ProMiniAir. Which connections you use depends on whether the ProMiniAir will act as a receiver (Rx) or a transmitter (Tx). THERE IS NO PROTECTION AGAINST INCORRECT BATTERY OR EXTERNAL POWER CONNECTIONS!!! You will destroy the ProMiniAir immediately if you reverse the GROUND and POSITIVE POWER SUPPLY connection!
The Anaren and Ebyte transceiver daughterboards have a versatile
U.FL plug for antenna connections. You can plug in either the
Anaren whip antenna we provide or a U.FL-to-SMA or U.FL-to-RP-SMA
cable that screws into a remotely-mounted antenna. Also, a two-pin
output provides Ground and the DCC input to (Tx) or output from
(Rx) the RF transceiver board, serving as signals to an oscilloscope for
waveform review. See the figure below for details
on these connections.
The ProMiniAir has several connections that provide an AVR programmer, I2C display outputs, and 5V logic DCC inputs or outputs. See the photo below.
We will break down these connections for the ProMiniAir receiver and transmitter in the following two sections.
Several options exist for providing power, starting with the ProMiniAir configured as a receiver (Rx). The first option is to use external battery power and jumper the +5V and +5V (Battery) pins to use the onboard 5V regulator to provide board +5V supply.
Since you may not like the heat generated by the onboard 5V regulator when you supply power with external battery power and install the jumper, as an alternative, you may use an external +5V power supply, as shown below, where the external power supply provides Ground and +5V. Of course, you do NOT install the jumper.
The ProMiniAir receiver must connect to an external DCC amplifier that converts the 5V logic DCC from the ProMiniAir receiver to DCC A/B that a DCC decoder requires. This DCC amplifier uses battery power and the inputs from the ProMiniAir receiver to provide the power and DCC messages, coded as a bipolar DCC waveform, to the decoder for both power and DCC messages. These “DCC amplifiers” are usually medium to large amperage amplifiers that accept pulse width modulation (PWM) input to provide precision output control for electric motors. The maximum PWM frequency of these amplifiers is usually high enough (> 20kHz) to reproduce DCC packets accurately.
Depending on the particulars of your installation, the author will provide an appropriate DCC amplifier as part of your PMA Rx purchase.
As shown below, some DCC amplifiers have specialized connector configurations for a GROVE-compliant amplifier.
Integration of the ProMiniAir Receiver into a Locomotive
Of course, the real purpose of the ProMiniAir receiver is to integrate it into a locomotive for wireless DCC control using an onboard battery as power. An excellent high-power (13A continuous) DCC amplifier may be purchased here, as shown below. Unless determined otherwise for size constraints, this Cytron MD13S amplifier is the one we provide with the ProMiniAir receiver. You can successfully use more expensive high-amperage amplifiers (about $30 US as of 2020) found at Pololu here or here. These amplifiers are smaller (0.8″ x 1.3″) than the Cytron.
Let’s turn the ProMiniAir used as a transmitter (Tx) of DCC messages from any DCC-compatible throttle.
The photo below shows the connections between an interface board that takes throttle DCC A/B inputs (“track” DCC) and rectifies these inputs to provide Ground and +5V power supply output. This “DCC Converter” PCB also “taps off” the DCC A input and converts it to a 5V logic DCC output suitable for the ProMiniAir transmitter. These outputs provide the ProMiniAir transmitter with Ground, +5V power, and 5V logic DCC input.
We provide the “DCC Converter” PCB as part of your PMA Tx purchase.
The user can change the ProMiniAir transmitter’s Channel (Airwire channels 0-16, S-Cab channel 17, and EU channel 18) and Power Level (0-10) by setting the DCC throttle’s address to that of the ProMiniAir transmitter’s (9900 by default). Then, using the throttle’s OPS mode, change the value of a configuration variable (CV255 for Channel: 0-16, and CV254 for Power Level: 0-10), exit OPS mode, and change the throttle back to the locomotive’s DCC address.
Receiver/Transmitter Antenna Connections
For the ProMiniAir transmitter, we strongly urge you to use the FCC/IC-approved Anaren “whip” antenna supplied with the surface-mounted transceiver to a 10-pin interface daughterboard. This whip antenna/transceiver combination is FCC/IC-approved as an “intentional radiator.” You can purchase antennas for the ProMiniAir transmitter online from many sites for experimentation purposes. For fixed installations of the ProMiniAir transmitter, we suggest reputable products from Linx, such as their SMA one-half wave antennas with an internal counterpoise. You can find these antennas at Digi-Key, e.g., ANT-916-OC-LG-SMA ($10.55) and ANT-916-CW-HWR-SMA ($12.85). The former antenna has a slightly better gain (2.2dBi versus 1.2dBi) but is somewhat longer (6.76″ versus 4.75″).
The ProMiniAir receiver or transmitter provides diagnostic outputs that are not required for operation but are helpful for troubleshooting or just for fun:
- You can monitor the transceiver’s output (in Rx mode) or input (in Tx mode) on the output DIP pins described above.
- “I2C” outputs can drive an inexpensive two rows 16 columns I2C LCD.
The ProMiniAir software automatically searches for a valid LCD I2C address on boot-up. Please make sure you connect only ONE display to the ProMiniAir.
You can also change the ProMiniAir’s DCC address using the throttle’s “OPS” mode. For the transmitter, you use the DCC throttle that connects to the ProMiniAir transmitter (by default at DCC address 9900 (previously 9000)). For the ProMiniAir receiver, you use the wireless DCC throttle transmitting to the ProMiniAir receiver (by default at DCC address 9901 (formerly 9001)). The EEPROM permanently stores the changed address, but this new address is not operative until you power cycle the ProMiniAir.
Configuration and Testing
We default-configured the ProMiniAir receiver and transmitter to operate on Airwire Channel 0. This default can be changed by setting the DCC address to 9901(Rx)/9900(Tx) (the default, which can be changed as described in the Users Manual) to access the ProMiniAir transmitter and in OPS or Programming-on-the-Main (POM) mode setting CV255 to the desired Channel. Valid channels are 0-17 for North American operation or Channel 18 (869.85MHz) for European operation.
Should the ProMiniAir receiver fail to detect valid DCC packets on its default channel during startup, it will cycle through all Airwire Channels to find a Channel producing valid DCC packets. If this cycling fails to find a valid Channel, the ProMiniAir receiver will change to Channel 0 and wait for a valid RF DCC signal. This channel change is not permanent, and on a restart, ProMiniAir will revert to its default channel.
Several other configuration options are available through “OPS” mode programming, as described in the ProMiniAir Users Manual.
We strongly urge the user to test the ProMiniAir before the final deployment. At the least, an inexpensive I2C LCD can be purchased here or here (and numerous other locations) to gain insight into the ProMiniAir’s state. This display is particularly beneficial when using the ProMiniAir as a transmitter.
Examples of Testing (Advanced)
This section is only for the advanced or adventurous. In the examples below, the Yellow waveform is the signal from/to the RF transceiver for Rx/Tx, respectively. The blue waveform is one Channel of the resulting DCC (Rx) sent to the decoder, or DCC received from the throttle via wireless transmission (Tx).
The photo below shows the ProMiniAir operating as a receiver. Of course, an RF transmitter wirelessly sends DCC packets. This transmitter may be a dedicated wireless DCC throttle, such as the Airwire Tx5000. Or, it may be a transmitter that converts standard “track DCC” to wireless DCC, such as the Tam Valley Depot DRS1 transmitter or the ProMiniAir used as a transmitter (as discussed in the next section)!
On the LCD, “My Ad: #” is the DCC address of the ProMiniAir itself. The “(L)” means “long” address. Displayed on the second line is the Channel number and whether DCC “filtering” is “off” (Filter: 0, as shown) or “on” (Filter: 1).
The photo below shows the oscilloscope waveforms with no valid RF DCC signal. With filtering off (Filter: 0), the DCC sent to the decoder reproduces the random pulses generated by the receiver.
These two photos show the ProMiniAir’s transceiver and DCC amplifier output when valid RF DCC is received and no valid RF DCC is received. DCC filtering is off, so the PMA outputs DCC Idle messages. The Tam Valley Depot and Gwire receivers simply reproduce the random pulses received by the transceiver.
The user can reconfigure the ProMiniAir receiver using the throttle’s “OPS” mode. Setting the wireless throttle DCC address to 9901 now shows that the Msg address (“Msg Ad: #”) matches the ProMiniAir receiver’s address (“My Add: #”).
Change CV246 to “1” in OPS mode, which will turn “on” the ProMiniAir receiver’s DCC filtering.
The display now shows that DCC filtering is “on.”
Exiting OPS mode and changing the throttle to the locomotive’s address now shows an updated “Msg Ad: #” with DCC filtering “on.”
Below is the transceiver’s and DCC amplifier’s DCC output when transmitting valid RF DCC.
If we turn off the wireless transmitter/throttle sending RF DCC, now the transceiver outputs random pulses (yellow). Since filtering is “on,” the ProMiniAir receiver firmware detects “bad” waveforms that do not appear to represent a valid DCC packet. The ProMiniAir receiver then outputs a constant-level signal that causes the DCC amplifier to output a high level on DCC A (blue) and zero Volts on DCC B (not shown). This behavior is similar the that of the Airwire receivers. However, the detection mechanism for Airwire receivers is simply the lack of a sufficient frequency of DCC “IDLE” packets, not an analysis of the transceiver’s pulse train.
Repeating the process of changing the wireless throttle’s DCC address to 9901, going into “OPS” mode, changing CV246 to “0”, exiting “OPS” mode, and switching back to the locomotive’s DCC address will now set DCC filtering to “off.”
So, when we turn off the wireless DCC throttle/transmitter, the DCC amplifier’s output (blue) again displays the DCC IDLE messages output by the ProMiniAir receiver.
We now focus on testing when using the ProMiniAir as a transmitter.
The display will alternate between showing the ProMiniAir transmitter’s DCC address (“My Ad: #”) and the transmitted DCC packet’s DCC address (“Msg Ad: #”). The transmitting Channel (“Ch: #”) and Power Level (“PL: #”) display on the second line.
Below is an oscilloscope trace of the input DCC from the throttle (blue) and the DCC transmitted by the RF transceiver on the ProMiniAir transmitter. Since the wireless DCC must keep the Airwire RF receiver “happy” with numerous DCC “IDLE” packets, the ProMiniAir transmitter evaluates the incoming DCC from the throttle. When the throttle outputs frequent, redundant DCC packets, the ProMIni Air transmitter occasionally inserts DCC “IDLE” packets instead of one of the redundant packets. So, the input DCC and the transmitted DCC will not precisely match. Since DCC throttles send many redundant DCC packets, the locomotive will receive sufficient DCC packets to operate correctly.
You can reconfigure the ProMiniAir transmitter by setting the throttle’s DCC address to 9900 (which can be changed) and then going into the “OPS” mode to set configuration variables (CV) to new values.
Once we have changed the throttle’s DCC address to 9900, note that the message address (“Msg Ad: #”) now matches the ProMiniAir’s address (“My Ad: #”).
For example, changing CV246 to “6” while in OPS mode will reset the ProMiniAir transmitter’s Power Level to 6, as indicated by the below display.
After exiting the “OPS” mode, we see that the display reflects the new Power Level (“PL: #”).
Changing the throttle’s DCC address back to the locomotive’s address will sometimes show “Msg Ad: 255(S)”, which means that the ProMiniAir transmitter sent out a DCC “IDLE” packet to make the Airwire receiver “happy.”
A display refresh (every 4 seconds) will most likely display the locomotive’s DCC address, 1654. The “(L)” means “long” address.
Conclusion and Further Information
The ProMiniAir is an inexpensive and hopefully fun introduction to wireless DCC control of your model railroad locomotive!
Please get in touch with the author on this site to purchase the ProMiniAir receiver or transmitter. The ProMiniAir transmitter or receiver (with their additional DCC Converter or DCC amplifier and wiring harness) is only $39.99 + shipping. You can also purchase my offerings on eBay by searching for “ProMiniAir.”