Building A Better Multiprotocol Module

If you have many toy quads or if you are into Silverware, you probably know about or even use the IRX6 or MTX9D multiprotocol modules.

These modules allow you to bind to and control many toy quads. And they’re quite cheap. But they have a major limitation: poor range. So we will build a better but still-affordable NRF24 multiprotocol module.

You will need an Arduino Nano to control the RF module. 


You will also need an NRF23L01+PA+LNA RF module. PA is power-amplifier and LNA is low-noise amplifier

But the most important component is the excellent NRF24 multiprotocol firmware for the Arduino by Goebish. This project wouldn’t have been possible without his firmware and his help and guidance. Thanks, Goebish!

Additionally, the 3.3V out pin of the Arduino nano does not have enough power for this RF module so you will need a separate 3.3V power module to power the RF module

Finally, the PPM signal voltage output from some transmitters may be too high for the Arduino Nano, so to be safe you need a 10k ohm resistor in-line with the PPM signal wire. This give you input voltage protection up to +15.5VDC and down to -10.5VDC. More info here.

  1. Wire according to the diagram below.
  2. Upload the NRF24 multiprotocol firmware to the Arduino Nano.
  3. Connect the power, ground, and PPM lines to your TX.
  4. Create a model on your TX with PPM output
  5. While holding the appropriate stick pattern, power up your TX. Last used protocol is automatically selected if stick is in neutral position so there’s usually no need to do this every time.
  6. Release the stick(s).
  7. Arm if necessary
  8. Fly!

That’s it. You now have a budget multiprotocol module with longer range.

DIY Lap Timer


When you start thinking (fantasizing?) of being a drone racer, you will want to know how fast you are around your home track: You need a lap timer to record the time elapsed from the time you leave the starting gate to the time you pass it again. There are usually two ways of doing this: attaching a transponder (additional equipment) or using the RF signal of the VTX (no additional equipment). Needless to say, we will be doing the latter approach.

The key component is the RX5808 module which is the heart of most, if not all, video receivers in the market. The module receives the VTX signal and converts it to audio and video. It also measures and provide the signal strength (RSSI value). What the lap timer does is to compare the RSSI with a set threshold. If the RSSI value is above the threshold, the corresponding drone is considered passing a finish gate and the time elapsed is recorded.

There are two maybe three active lap timer projects online: Chorus RF Laptimer and PIDFlight Lap. For this project, we will adopt the schematic and use the software and firmware of PIDFlight Lap. However, to keep things simple for now, we will simplify the schematic and use connected mode where the lap timer is connected directly to and powered from a computer or  Android phone (via OTG).

Parts and Equipment

  1. Arduino Nano V3 or compatible
  2. RX5808 FPV Receiver Module
  3. Buzzer
  4. Breadboard (or PCB)
  5. Header pins (and optional header sockets if using PCB)
  6. Arduino Nano FTDI driver (or CH340/341 driver for clones)
  7. Arduino IDE

If you’re working with the PCB, you’ll need the following:

  1. Soldering iron
  2. Soldering wire
  3. Desoldering pump
  4. Flux
  5. Wire snips

Procedure

  1. Review revised schematic
  2. Prepare header pins for the RX5808 module. You need 9 pins
  3. Solder header pins to RX5805 receiver module

  4. Prepare buzzer. The short leg is ground, the long leg is positive. This is also indicated on the top of the buzzer body.
  5. Following the schematic, insert the components to the breadboard
  6. Install Arduino Nano driver
  7. Install Arduino IDE
  8. Install the appropriate firmware.For Chorus RF Laptimer, you can download the Arduino sketch, load it on the Arduino IDE, and upload to the Arduino nano. For PIDFlight Lap, you will get a .hex file and you will need to upload manually. You can use XLoader on Windows or Hex Uploader on the Mac. Or use avrdude directly:

    /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.wchusbserial410 -b57600 -D -Uflash:w:pidflightlap_2.2.0_PDFL.hex:i

  9. Install and run the appropriate software.
  10. Connect
  11. Activate and calibrate lap timer device for target VTX
  12. Set threshold. The higher the threshold, the less sensitive and more precise. The lower, the more sensitive and less accurate.
  13. Race!