How to connect two different Receivers parallel for redundancy?

@RogerR I’d love to hear more about this setup! can I get the ardiuno code and an idea of what your hardware looks like?

… so how do you get PPM from the 900x to the APilot?

… are you flying via the MP interface?

Here’s a hardware schematic:

I used an arduino nano with long pins and a proto board between the pins to mount the NOR gate and connectors.

A little circuit card would be better (cleaner, easier to duplicate, lighter, and probably more resistant to damage than soldering wires to the pins). I’ve got the above schematic in TinyCAD and it’s dead simple, but I’ve never created a board design. If someone wanted to volunteer, it would be appreciate.

It’s not that difficult to wire up. I can dig into the plane and get a picture of the switcher. Or…I may just wire up another one since I’m building another plane.

Here’s a link to the Arduino code.

I am not very skilled at version control and such, so there’s a small chance that I don’t have the correct library…but I got the code to compile w/o errors on Arduino 1.8.5. with the attached library.

1 Like

Awesome! Thank you!

Jace McCown

NOR Gates… OMG I still had hairs the last time I saw thoses :joy::joy:

But it works !! Nice design Roger, it goes qualify as a redundant system with minimized single point of failure

1 Like

Definitely some “older” tech. I learned digital electronics from Don Lancaster’s TTL Cookbook around 1980 when I was trying to build a “home control” interface for an Apple-II computer. That lead to a Heathkit Oscilloscope…and eventually, a job assembling mini-computers. A few years later, I was an I/O architect for supercomputer systems (multiple Cray J-90s and C-90s).

But, that most basic old and simple function still has its place. I never want to be holding a transmitter that doesn’t work while the plane circles in RTL …waiting for the battery to run down and crash. :tired_face: The odds of a NOR gate failing are vanishingly small…and either of the two possible inputs connects a radio.

I am going to modify my setup. Currently, I connect to the RFD900 thru the FrSky trainer port and a cable. But, that’s a pain (the ground station has a tracker and is moving/rotating…plus I like to be able to walk around). I lost the XSR connection on one flight…and it took way too long to plug in the cable to connect up the RFD900 during my panic. So I’m going to try get one XSR to talk directly to the plane and another XSR in the ground station that connects to the RFD900x uplink.


1 Like

nice! I can’t wait to see that implemented too

Are you using ardupilot’s Antenna tracker? Our attempts haven’t panned out so well on that yet…

I mixed up my own antenna tracker. My requirements were a bit different.

My tracker has a continuous rotation pan servo. So it has no position feedback. The tilt servo does 90 degrees.
Since it’s continuous rotation, the heading must be determined from a compass. All the electronics and the battery are on the pan section of the tracker. There isn’t any need for slip rings, etc.

The software is fairly easy…the GPS on the plane is already sending a position in the telemetry via the RFD900. I just tapped off the RFD900 RX signal to grab it. The mavlink library code captures the bitstream and gets the plane’s position and altitude. The tracker gets it’s own position and altitude from GPS. The bearing and tilt angle to the plane are calculated. Then the tracker attempts to minimize the delta between its heading and the bearing to the plane…and commands the correct amount of tilt.

I’ve only flown with it once, but it seems to work fairly well. I have a raspberry PI in the groundstation and the telemetry is logged there…and sent via WIFI to my laptop.

Here’s a plot of RSSI/REMRSSI and the noise numbers during that flight. I’m still not perfectly happy with the REM Noise, but the margin is now pretty darn good.


1 Like

Awesome, thanks for all the info!

I finished my changes yesterday.

I now use 3 RF links. Receivers for link #1 and link #2 bind to the same TX channel.

  1. FRSky TX to R-XSR in plane (8 channel PPM)

  2. FRSky TX to R-XSR in ground station (12 channel SBus)

  3. Ground station to plane via RFD900x (12 channel PPM, I built a converter from SBus to CPPM for ground station)

Link #1, directly to the plane is a standard connection using 8 channel CPPM. Links #2 and #3 transport 12 channels of data. The first hop is on the ground. Since FRSky only supports more than 8 channels with SBus, I have to go SBus for link #2 and then convert it to CPPM (which is all that the RFD900x supports).

At the plane, the previously mentioned circuitry selects one stream or the other and provides it to the PixHawk.

Telemetry was disabled during the binding process for link#2. I currently have minimal FRSky telemetry for link #1 (just the built in RSSI) and plan to add MAVLink to FRSky telemetry on this link. This will give me a redundant telemetry link since the RFD900x implements full bidirectional telemetry back to a laptop (connected thru a Raspberry PI with WiFi on the groundstation).


I know this is old but I also have need of this.

I still don’t understand why this shouldn’t be implemented within the Pixhawk. Adding external hardware adds an additional single point of failure. Is it really so hard to make the failsafe logic check a secondary R/C for a valid signal while doing RTL? I am using a 433 system for both telemetry and PPM to get the range I need. When the 433 link is lost the Rx is set to produce no PPM pulses which triggers failsafe. I would really like to be able to use 2.4 as a backup. In fact I use 2.4 for relay from the controller to the 433 system in the ground station (failsafe set to no pulses also). When the aircraft flies back to home after a 433 failure, I would very much like to be able to land it. As it’s a fixed wing, and I’m operating on uneven ground, autoland is non-trivial or impossible. I wouldn’t even need an additional controller, just a Rx onboard the aircraft that was also bound to the controller, plugged into the SBUS port. This would be a very valuable safety feature for me.

I would like to implement a radio system with redundancy. I’m thinking of something like Herelink and using the LTE network.

Any suggestion ?

I too am very interested in multiple redundant receivers being directly supported on the Pixhawk by ArduPilot. I’d rather not have this happen…

1 Like

Indeed. And disturbingly the guy in that video is using the same 433 MHz system that I am.

Thanks Brandon. Do you know whether you can use PPM and a serial receiver? The long range link I’m using needs to use PPM i think.

I have tried this before.
But I use a module I made myself. receive two signals. Then choose to output a signal.
Because I used two receivers at the time, one was 2.4G with a high refresh rate, but the distance was very close. For takeoff and landing, the other is 433, low refresh rate, 5HZ. For long distance flight. When there is a signal at the same time, 2.4G has priority over 433.