This is a review, setup guide and comparison of the two Airwolf DIY FrSKY Receivers (F801 and F802), both paired with the DJT Transmitter module in my 9x. This article also takes a look at the Naked X4R receiver from FrSky.

Note that the DJT module will not bind with the X4R since it uses the newer D16 mode. You'll need to get the XJT module or a Taranis, both of which support D8 and D16 modes, to bind with the X4R. See the compatibility section for details.

Update Aug, 2016: There is a new, tiny DIY Frsky RX on the market and it works great. No problems binding with the DJT module.

Update Jan, 2017: There is now a new, tiny diversity DIY Frsky RX. I ordered a bunch of these to test out.

Update Feb, 2017: The best and best value FrSky RX is now the XM Micro diversity DIY Frsky RX, at around $15 for a full range diversity RX in a tiny package, this is definitely the way to go! Plus, it's FCC Certified, so you don't need a ham radio license to use it!

Update March, 2017: I just got a couple sample FrSky RX modules based on the STM32F1 by a company called SunRise Electronics. Their fulll range (diversity) FSR4-SB receiver is XJT compatible, has RSSI (PWM) and SBUS output.

This is what the XM Micro looks like, all wired up:

Comparison

Here is the less expensive of the Airwolf modules, the F801 DIY module, which runs about $11.50.

I have tested both the F801 and F802modules with updated firmware and found that the F801 performs significantly worse than the F802. With the F801 I get several fail-safes per flight, when flying only 50m up and 50m away laterally. The F801 and F802 appear to use the same wireless transceiver, however the F802 includes a RFX2401C. If you plan on flying more thank several meters away, you should definitely pay a few dollars more for the F802 or X4R.

If you're looking for something small, light, with diversity and ready to go without flashing, get a naked X4R instead. The X4R uses the more powerful STM32F1 processor, instead of the Airwolf modules' Atmega328p (8-bit) microcontroller. The downside of the X4R is that it costs about 30% to 50% more, depending on if you get the F801 or F802 DIY module, but the range and reliability is totally worth it.

As you can see from the above photo with the naked X4R on the top and DIY F802 on the bottom, the X4R is smaller and lighter, while adding diversity. You could also get the X4R with pins.

Here's the X4R-SB pinout:

Speaking of the F802, it breaks out a few more pins, including SBUS, and significantly improves the range over the F801. It runs about $18.00.

Compatibility

transmitter -> compatible receivers
Taranis -> F801, F802, X4R or any other FrSky reciever
XJT -> F801, F802, X4R or any FrSky reciever
DJT -> F801, F802 or any 8 channel receiver. No X-series recievers will bind with this module.

Note that the DJT module is compatible with the DIY F801 and F802 but not compatible with the naked XR4. You'll need to get the XJT to use the X4R.

Besides the compatibility as noted above, the difference between the DJT module and the XJT module is the number of channels. the XJT is 16 channels and the DJT is 8 channels.

Behind the scenes there are two different FrSKY protocols that the two modules use. The DJT uses the 8 channel D8 protocol and the XJT speaks the 16 channel D16 protocol or the D8 protocol. Just be sure you have the right firmware, the version I used is here https://www.dropbox.com/sh/341ycykh3fnrr0g/AAAchxBDsR7gFzQbdpCSadzma?dl=0 or download from the offical website here: http://www.frsky-rc.com/download/view.php?sort=&down=232&file=Firmware-XJT. If you need a transmitter, get the Taranis, which also supports both protocols and either D8 or D16 receivers.

If you need a receiver and don't want to shell out for a Taranis, it's also possible to modify the less expensive Devo 7e to bind with the F801 and F802 modules. The Devo does not support binding the XR4. Checkout these guides for modding your Devo 7e.

Form and Fit

First, let's fit the DJT module. It turns out, it doesn't quite fit in all the way into the back of my 9x.

If your radio doesn't have a module slot, get a Taranis.

To get it to fit, I removed the grill on the back of the module.

Flashing

To enable SBUS, you'll need to install the latest firmware. This will require a bit of work, so if you're looking for something a bit more plug and play, grab an X4R instead.

Download the latest firmware from here: http://www.rcgroups.com/forums/showpost.php?p=32959023&postcount=1147

or from my dropbox share here: https://www.dropbox.com/sh/4y5rp9gfloq0omc/AACV9dLz_KQ10WbdgFfsNNzga?dl=0

Make sure use use the right firmware, for the F801 or F802, depending on which hardware you have.

Use an Arduino Nano as an ISP programmer or get a USP ASP programmer.

You won't need to solder anything, since the PWM signal out pins are wired to the programming lines. Connect it like this:

RX - ISP
CH5 - MOSI
CH6 - MISO
CH7 - SCK
VCC - 3V3
GND - GND
RESET - SS

For example, the MOSI (pin 11 on the Arduino Nano) line should connect to Channel 5 on the DIY RX.

Here's how I wired mine:

The reset pad is is on the PCB here:

Touch the RESET pad to your ISP programmer during programming like so:

Now you have two options to flash, use the Burn-O-Mat gui or use the command line avrdude

Download Burn-O-Mat: http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php

I also needed a Java Runtime for my VM. I used 1.5 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase5-419410.html#jre-1.5.0_22-oth-JPR

For the F801:

avrdude -b 19200 -c avrisp -p m328p -P COM3 -u -U flash:w:FrskyRx_F801_TELEMETRY__PFS_SBUS_310116.hex

For the F802:

avrdude -b 19200 -c avrisp -p m328p -P COM3 -u -U flash:w:FrskyRx_F801_TELEMETRY__PFS_SBUS_310116.hex

Fuses

I read the default fuses from my F801 module, in case you need to reset them. If you don't know what these do, don't mess with them. It should work fine without changing them.

avrdude -b 19200 -c avrisp -p m328p -P COM3 -v
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as 5

Config

The latest version supports PFS and SBUS.

  • SBUS, bridge CH5 and CH7

    • SBUS is NOT inverted. If you're using CleanFlight or BetaFlight with an F3 flight controller, you'll need to set sbus_inversion=OFF in the CLI.
  • PPM, bridge CH1 and CH3

Note that you cannot use both at the same time. If you bridge both 5&7 and 1&3 at the same time, there will be no output.

PFS description on posts 1105 and first page second post.

RSSI

  • In SBUS mode: RSSI-PWM on CH3

    • the UART TX pin is the SBUS out
  • IN PPM mode: RSSI-PWM on CH5

    • channel 4 is PPM out

DIY Failsafe

On the DIY module, when signal is lost, the receiver waits about 1sec then the throttle is set to 960 and all other channels to neutral (1500).

DJT Binding

To bind to the DIY modules, switch both switches on the DJT module off (down).

Turn on your transmitter while holding the button on the DJT module.

It will start beeping

Plug in the bind plug on port 8 or hold the bind button and power on the receiver.

The transmitter should stop beeping shortly and it's bound!

Power off both the transmitter and receiver.

The DJT module will also bind to any 8 channel FrSky receiver. Simply use the same binding procedure as listed below for the XJT module:

XJT and FrSky RX Binding

To bind the XJT module to an XSR or X4R or X4R-SB FrSKY receiver, start with both the receiver and transmitter turned off. Turn on the radio while holding the bind button. The module will beep slowly.

Now power on the receiver with the bind button pressed down. The receiver's lights will flash and it's bound! Turn both off and you're ready to set the failsafe

FrSky RX failsafe

After binding the receiver, with the radio turned off, turn on the receiver. Press the bind button once and let go. You'll see the lights flash.

This will set the failsafe to "no signal" which will allow the flight controller to recognize a failsafe.

Design

Hardware design:

pinouts:

SI ; D5
SO; D6
SCLK ; D4
CS ; D2
GDO0;D3

***************************
Servo1_OUT 7 //Servo1(D7)
Servo2_OUT 8 //Servo2(B0)
Servo3_OUT 9 //Servo3(B1)
Servo4_OUT 10 //Servo4(B2)//PPM pin
Servo5_OUT 11 //Servo5(B3)//RSSI PWM only on PPM mode
Servo6_OUT 12 //Servo6(B4)
Servo7_OUT 13 //Servo7(B5)
Servo8_OUT A0 //Servo8(C0)//bind plug
************************************

LED ; C3(A3 promini)
Vcc ; VCC 3.3v
Gnd ; Gnd

Further Reading

Original Thread: http://www.rcgroups.com/forums/showthread.php?t=2124647

Wiring: http://www.rcgroups.com/forums/showpost.php?p=32756034&postcount=999

http://www.rcgroups.com/forums/showpost.php?p=33046356&postcount=1217

Naked D4R manual: http://imgmgr.banggood.com/images/upload/2014/07/D4R-II.pdf