Information Update on the ProMini Air Receiver and Transmitter

Introduction

Typical application. In some cases, such as the Airwire transmitters, the throttle and transmitter are combined. Also, the receiver and amplifier may be integrated, such as for Airwire and Tam Valley Depot receivers. The ProMiniAir transmitter and receiver require a “DCC Converter” or “DCC Amplifier” provided as part of the purchase.

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 new completely stand-alone ProMiniAir transmitter. Just plug in power, use your smartphone app to connect to the WiFI-equipped EX-CommandStation, and control your dead-rail 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.

The new ProMiniAir receiver and small amplifier (3.6A)

Feature Comparisons

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.

ChannelFrequency (MHz)Comments
0921.37
919.87 
2915.37 
3912.37 
4909.37 
5907.87 
6906.37 
7903.37 
8926.12
9924.62
10 (A)923.12
11 (B)918.12 S-Cab alternative frequency
12 (C)916.87
13 (D)913.62
14 (E)910.87
15 (F)904.87
16 (na)916.37 TVD interoperability w/ Ch. 17
17916.48S-Cab and older Tx/Rx
18869.85European operation
Unofficial channel designations

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.

NameAirwire Receiver
Compatible?
ChannelsPower
Level Adj
Any DCC
Input
TVD DRS1
Transmitter
NoCh 17
(or 18(E))
NoYes
Airwire
T5000
Yes0-16YesNo
NCE Gwire CabYes0-7YesNo
S-Cab ThrottleNo17NoNo
ProMini
Air Transmitter
Yes0-17, 18(E)YesYes
Comparison of wireless DCC transmitters

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.

NameChannelsDCC
Filtering?
Channel Auto
Search
TVD DRS1,
MK IV
0-17, 18(E)NoneYes
Airwire
CONVRTR
0-16Always
On
Yes (Limited)
QSI
Gwire
0-7NoneNo
S-Cab LXR
receiver
17NoneNo
ProMini
Air
0-17, 18(E)None or
On
Yes
Comparison of wireless DCC receivers

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.

ProMiniAir transmitter connections
Standalone ProMiniAir transmitter connections
ProMiniAir receiver connections for a DRV8871 (3.6) amplifier
ProMiniAir Receiver connections for a Cytron MD13S (13A) amplifier

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.

Documentation

The definitive source of information for the ProMiniAir transmitter and receiver is available here.

Kit Assembly

We no longer offer the ProMiniAir as a kit.

Firmware Installation

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.

How to download the GitHub zip file that will maintain the directory structure

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:

  1. Remove the transceiver daughterboard and the jumper (if inserted).
  2. 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.
  3. From the Arduino IDE, Select Tools → Programmer → “USBtinyISP” (or whatever ISP programmer you use).
  4. Select the AirMiniSketchTransmitter sketch.
  5. Select Sketch → Upload using a Programmer.
  6. 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!

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!

Data and power connections for PMA Rx
Data and power connections for PMA Tx

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.

ProMiniAir antenna connector (female RP SMA) and transceiver DCC input/output

The ProMiniAir has several connections that provide an AVR programmer, I2C display outputs, and 5V logic DCC inputs or outputs. See the photo below.

ProMiniAir connections for AVR programmer, I2C display output, and 5V logic DCC input or output

We will break down these connections for the ProMiniAir receiver and transmitter in the following two sections.

Receiver Connections

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.

ProMiniAir power connection options (for Rx only, the Tx receives power from the DCC Converter).

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.

ProMiniAir receiver powered by an external +5V power supply (older PMA version, but the connections are the same for newer versions)
Close-up of ProMiniAir receiver power connections to an external +5V power supply (older PMA version, but the connections are the same for newer versions)

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.

Close-up of the inputs to the DCC amplifier from the ProMiniAir receiver

As shown below, some DCC amplifiers have specialized connector configurations for a GROVE-compliant amplifier.

Example of another DCC amplifier’s connections to the ProMiniAir receiver

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.

ProMiniAir receiver integration with battery power, DCC amplifier, and antenna (older PMA version, but the connections are the same for newer versions)
Example Installation

Transmitter Connections

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.

Photo of ProMiniAir receiver connections to a “DCC Converter” PCB that supplies the ProMiniAir transmitter with Ground, +5V power, and 5V logic DCC. The ProMiniAir transmitter does NOT connect to a battery or use the jumper connecting +5V to +5V (Battery)!
Close-up of ProMiniAir transmitter connections to the “DCC Converter” PCB. The jumper connecting +5V to +5V (Battery) is NOT used! (older PMA version, but the connections are the same for newer versions)

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″).

Linx half-wave antennas. The ANT-916-OC-LG-SMA has a better gain than the ANT-916-CW-HWR-SMA at the expense of being 42% longer.

For the ProMiniAir receiver or the ProMiniAir transmitter, where a small, remotely-mounted antenna is needed, we again recommend Linx antennas such as the ANT-916-CW-RCS or ANT-916-CW-RAH.

The ANT-916-CW-RCS is an excellent choice for a small antenna with a 3.3 dBi gain. It is available from Digi-Key or Mouser and note the male RP SMA connector.
The ANT-916-CW-RAH is another excellent choice for a small antenna (2.2 dBi) available from Digi-Key or Mouser. The connector shown here is a male RP SMA, but male SMA connectors are also available from Digi-Key and Mouser.

 

Diagnostic Outputs

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 2-pin connector provides Ground and the RF transceiver’s transmitted or received DCC signals. An oscilloscope can monitor these signals.
ProMiniAir receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)
Close-up of ProMiniAir receiver/transmitter connections to an I2C LCD (older PMA version, but the connections are the same for newer versions)

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).

Receiver Testing

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).

Example of output from a ProMiniAir receiver. The yellow signal on the oscilloscope is from the T/R DCC output pin on the ProMiniAir receiver (the green PCB on the left with the red RF transceiver PCB mounted on the left end). The blue trace is the DCC signal produced by the DCC amplifier (the PCB on the right with the blue power/DCC out terminal) from inputs from the ProMiniAir.

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.

The ProMiniAir receiver’s outputs when receiving no valid RF DCC. The yellow signal is the RF receiver’s DCC, and the blue signal is one of the DCC outputs from the DCC amplifier that provides input to the onboard DCC decoder.

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.

Valid RF DCC received. The decoder DCC mirrors (blue) the receiver’s DCC (yellow).
No valid RF DCC. When DCC filtering is off, the PMA injects DCC IDLE messages (Filter: 0).
No valid RF DCC. The random pulses produced by the RF receiver are reproduced by the output DCC, and this is what Gwire and Tam Valley Depot receivers produce.

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: #”).

Set DCC filtering “on” by selecting the ProMiniAir’s address (9901 in this case). Note that the MSG address now matches ProMiniAir’s address.

Change CV246 to “1” in OPS mode, which will turn “on” the ProMiniAir receiver’s DCC filtering.

In “OPS mode,” setting CV246 to “1.” The display will indicate that you changed CV246.

The display now shows that DCC filtering is “on.”

In “OPS mode,” setting CV246 to “1.” The display will indicate that you changed CV246.

Exiting OPS mode and changing the throttle to the locomotive’s address now shows an updated “Msg Ad: #” with DCC filtering “on.”

Then change the address back to the locomotive’s address. The display now shows DCC filtering is “on.”

Below is the transceiver’s and DCC amplifier’s DCC output when transmitting valid RF DCC.

Again, the receiver and decoder DCC when a valid RF DCC signal is received.

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.

The waveforms when no valid RF DCC signal is received. With filtering on (Filter: 1), DCC A sent to the decoder is positive, and DCC B is zero, assuming that you set CV248 to “1”. If you set CV248 to zero, DCC A is zero, and DCC B is positive.

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.”

You can repeat selecting the ProMiniAir’s address and, in OPS mode, set CV246=0 to turn the filtering back off and then set the address back to the locomotive’s.
Changing the address back to the locomotive’s address indicates that the DCC filtering is off (Filter: 0).

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.

When no valid RF DCC is received, the ProMiniAir receiver injects DCC IDLE messages amplified by the DCC amplifier and sent to the decoder.

Transmitter Testing

We now focus on testing when using the ProMiniAir as a transmitter.

With the same ProMiniAir, the Pro Mini was re-flashed with the transmitter firmware. The “DCC Converter” PCB (the PCB on the right) converts any throttle’s DCC to Ground, +5V power, and 5V logic DCC for input to the ProMiniAir transmitter (the PCB on the left).

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.

Note the ProMiniAir transmitter’s ID.
The LCD alternately displays the throttle’s address and the ProMiniAir’s address and shows the Channel number and Power Level.

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.

The DCC sent out (yellow) will not precisely match the throttle DCC because of slight timing delays and the occasional insertion of DCC “IDLE” messages that are required to keep Airwire receivers “happy.”
A shorter time scale than the previous photo

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.

Setting the throttle’s address to 9900 allows the throttle to reconfigure the ProMiniAir in OPS mode.

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: #”).

The display now indicates that the message address matches ProMiniAir’s address.

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.

In OPS mode, setting CV254 to 0-10 changes the output power level, as indicated here.

After exiting the “OPS” mode, we see that the display reflects the new Power Level (“PL: #”).

The Power Level is now 6.
Note that Msg and My Address are the same.

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.”

Changing the throttle’s address back to the locomotive’s allows the ProMiniAir to insert occasional DCC “Idle” messages, indicated by a message address of 255. The IDLE message keeps Airwire receivers “happy.”

A display refresh (every 4 seconds) will most likely display the locomotive’s DCC address, 1654. The “(L)” means “long” address.

The display will alternately show the locomotive address and the ProMiniAir’s 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.”

 

Author: Darrell Lamm

I earned my Doctorate in Physics from the Georgia Institute of Technology in 1982, and before retiring in 2019 I worked for 37 years at the Georgia Tech Research Institute. My last position was Chief Scientist of the Electro-Optical Systems Laboratory. Like many people, my love for model railroading began at an early age, and I rekindled that interest starting in 2017.

11 thoughts on “Information Update on the ProMini Air Receiver and Transmitter”

  1. Hi is the mini Pro Air still available as ready built?
    Do you have current costings?

    I have been experimenting modifying dcc boosters and changing the front end to make them wire less, with moderate success I’ve then used a picaxe to police the signals and should the dcc signal get lost the pic shuts the system down to stop runnerway’s.
    This was before I found your post.
    My main reason for wanting dcc over air is so I can use dcc sound. All the experiments I have tried so far with mp3 players results in a good sound but I have to use 3 or 4 addressable mp3 players to get over the mp3 decoding delay then fun and games timing ppm signals to sound it would be easier to use a digitrax decoder and dcc over air.
    I might have a go at building yours but work presses on my time. Is there any issues with different Arduino modules? One other design mentioned problems with crystal speeds causing issues.
    Thank you for making this it solve a lot of problems.
    Just a thought on boot up jerk couldn’t you just disable the H bridge during boot up?

    1. Hi James! Thanks for dropping in.

      There is nothing to build now. You can buy a ProMini Air transmitter ready-to-go for EU operation for $50 US + shipping. The ProMini Air receiver for EU operation is also $50 US + shipping ready-to-go. The transmitter connects (via the included DCC converter) to any DCC throttle Track R/L outputs, and it will transmit the throttle’s DCC wirelessly. On the other end, the ProMini Air receives the wireless DCC amplified by the DCC amplifier I provide as part of the package.

      I love the combination of battery-power/radio-control + DCC! I have successfully tested my ProMini Air transmitter and receiver with Zimo, ESU, MTH PS-3 (in DCC mode), QSI, and TCS Wow Steam decoders. (It’s getting expensive to test with these decoders, but compatibility testing is essential!)

      Regretfully, I’m not sure about your comment regarding crystal speeds. Maybe you are referring to the different crystals for various transceivers: 27MHz for Anaren and 26MHz for many others, including the Ebyte that I paid to have FCC/EC-approved. Dead-rail DCC is the way to go.

      Most PWM amplifiers (the “DCC amplifier”) do NOT have enable/disable logic, so even if you send out a zero DC signal to these amplifiers, one output is zero, but the other is at max DC voltage.

      I’m always open to questions and ideas!

      1. Thank you for your quick reply.
        I’m in the UK so would like to order at least two recievers and one transmiter. Probably beginning of July still paying off an Aristo Craft class 66 she cost a fair bit but worth every penny. Do you have a web site where I can order? I’ve searched the Web for mini Pro dcc an there is only the two articles.
        The DCC booster I’ve been playing with is here. Sorry if it’s old news just trying to catch up
        http://www.circuitous.ca/Booster3Amp.html
        It has a great bit that stops the H bridge output in the event of an overload. Sending a signal at start up seems to stop jolts and twitches. Some of my DCC decoders don’t seem to ignore dc even when the cv is changed.
        Again thank you very much for the quick reply and making these devices available.
        Let me know how to buy and I can run some un glitchie trains lol

        1. Hi James,

          Just let me know when you want to order by contacting me on my email darrelllamm0@gmail.com. You can make payment at this email address on PayPal. Any clean DCC track output should work with the ProMini Air transmitter if you go the dead-rail route. CV setting for handling DC can be tricky and frustrating! Are you using Digitrax decoders? If so, I’ll look into their CV settings.

      2. Hi Darrell,
        How would I order a pro Air from you?
        Does it come already programed ready to go (if I order a transmitter and two recievers)
        Thought I sent you another message but I must have buggered up sending it lol

        Just a query on a no dcc signal received it sounds like the system outputs dc ??
        I’m experimenting using digitrax sound decoders and I have had issues on my own system where when the signal changes to dc the loco would have taken off at full power (haven’t fitted to a loco yet not brave enough) I know there’s a couple to stop this but it doesn’t seem to work or I’m doing something wrong
        On the mine I kill the power if this happens but this is also not desirable as I’ll bugger up some gears. I’d rarther a more controled stop. Can the pro air help?
        I’d give it a try probably anyway and see

        It’s a shame we can’t buy a dcc chip that takes in ppm signals from an rc handle and changes it into a combination of dcc settings.
        Thanks in advance
        James

        1. Hi James,
          Your previous message came through, and I responded with some purchasing information.

          The PMA Rx and Tx comes fully programmed, including the defaults for EU operation.

          If there is no valid RF DCC received, the ProMini Air receiver (PMA Rx for short) has two options for you:
          1) Set CV246=0 (default) => the PMA Rx will output DCC idle messages. I like this setting because the decoder continues as is without the potential for any crazy loco speed-up.
          2) Set CV246=1 => the PMA Rx will output a DC level as set by CV248. CV248=0 => Tk R = 0, Tk L = +Battery or CV248=1 => Tk R = + Battery, Tk L = 0. Then you have to fool with decoder CV values to define decoder behavior when receiving DC.

          When I say “set,” I mean going into PoM mode at address 9901 (the PMA Rx’s default DCC address) to reset CV values.

  2. Hi Darrell,
    How would I order a pro Air from you?
    Does it come already programed ready to go (if I order a transmitter and two recievers)
    Thought I sent you another message but I must have buggered up sending it lol

    Just a query on a no dcc signal received it sounds like the system outputs dc ??
    I’m experimenting using digitrax sound decoders and I have had issues on my own system where when the signal changes to dc the loco would have taken off at full power (haven’t fitted to a loco yet not brave enough) I know there’s a couple to stop this but it doesn’t seem to work or I’m doing something wrong
    On the mine I kill the power if this happens but this is also not desirable as I’ll bugger up some gears. I’d rarther a more controled stop. Can the pro air help?
    I’d give it a try probably anyway and see

    It’s a shame we can’t buy a dcc chip that takes in ppm signals from an rc handle and changes it into a combination of dcc settings.
    Thanks in advance
    James

      1. Hi Darrell,
        Sorry for many emails thought some thing had happened or I had not sent them 😕
        Be in contact soon to buy.
        Sounds like your chosen setting is the best option.

        I use digitrax decoders mainly because the sound ones are programmable with your own sounds. If I could program a radio control decoder to output dcc then the digitrax would be great for rc truck sounds.

        1. Hi James,
          Comments do not show up until I moderate it, delaying things a bit.

          Just let me know via personal mail when you are ready to buy. Sorry for addressing you incorrectly in my last response.

          The ProMini Air receiver will indeed pick up transmissions from a ProMini Air transmitter connected to a DCC throttle’s track output, CVP handheld throttle, etc., and “reconstitute” the track DCC that is directly fed to the decoder, bypassing the track.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.