Thread Tools
Aug 10, 2015, 04:09 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Mini-HowTo

DIY: Diversity Receiver - rx5808-pro-diversity


I saw this cool project a few weeks back called the "rx5808-pro" and decided it would be a fun test to see if I could add diversity to it. Turns out it was pretty simple modification to the circuit and code to accomplish this. The only feature lost from the original project was the dip switch mode (use manual mode instead)

I modified the code and designed the board and enclosure myself which have been included them in the repo. I added a few more features to make the UI more friendly for use with a navigation switch style switch.

Here is a quick video


I have committed everything to https://github.com/sheaivey/rx5808-pro-diversity

I still have a few documentation tweaks to make but for the most part everything is present to start making your own.


OLED Version is now completed and build information can be found here: https://github.com/sheaivey/rx5808-p...rduino-nano.md

OLED Video:




If you are unfamiliar with the original project you can check it out here.


Quick video of the two Fat Shark modules I made for a friend and myself.


Edit: Adding new screen shots and updating general information.
Edit 2: TV_Out version currently only works Arduino version 1.6.9 and earlier.
Last edited by crazyshea; Mar 13, 2017 at 12:58 AM.
Sign up now
to remove ads between posts
Aug 11, 2015, 01:27 PM
Registered User
So, in theory, with some minor modifications and arduino code change one should be able to do the same with with the Fatshark Nexwave RF Rx with raceband?
Aug 11, 2015, 01:57 PM
Registered User
Cool stuff!

I think you can get the parts for ~$30. I'm tempted to make one, what kind of SMA connectors would suit best in the Arduino Nano version?
Aug 11, 2015, 06:46 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Quote:
Originally Posted by lauka
Cool stuff!
I'm glad someone likes it!

Quote:
Originally Posted by lauka
I think you can get the parts for ~$30.
Thanks for pointing that out and you are correct. I'll add price to the BOM.

Quote:
Originally Posted by lauka
I'm tempted to make one, what kind of SMA connectors would suit best in the Arduino Nano version?
This is totally up to you, however I would personally go for something I know I could secure firmly to the rx5808 module.
(See the attached image for a example.)

You could even solder your antenna directly to the module and forget the SMA connector entirely. This would produce the least amount of signal loss from the connectors.
Aug 13, 2015, 10:41 AM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Does any one know much about the racing band and whether or not it can be added to the rx5808 channel scan?

In the code it appears to just be an array of values.

Code:
// Channels to sent to the SPI registers
const uint16_t channelTable[] PROGMEM = {
  // Channel 1 - 8
  0x2A05,    0x299B,    0x2991,    0x2987,    0x291D,    0x2913,    0x2909,    0x289F,    // Band A
  0x2903,    0x290C,    0x2916,    0x291F,    0x2989,    0x2992,    0x299C,    0x2A05,    // Band B
  0x2895,    0x288B,    0x2881,    0x2817,    0x2A0F,    0x2A19,    0x2A83,    0x2A8D,    // Band E
  0x2906,    0x2910,    0x291A,    0x2984,    0x298E,    0x2998,    0x2A02,    0x2A0C  // Band F / Airwave
};

// Channels with their Mhz Values
const uint16_t channelFreqTable[] PROGMEM = {
  // Channel 1 - 8
  5865, 5845, 5825, 5805, 5785, 5765, 5745, 5725, // Band A
  5733, 5752, 5771, 5790, 5809, 5828, 5847, 5866, // Band B
  5705, 5685, 5665, 5645, 5885, 5905, 5925, 5945, // Band E
  5740, 5760, 5780, 5800, 5820, 5840, 5860, 5880  // Band F / Airwave
};
Aug 13, 2015, 10:58 AM
Registered User
channelFreqTable array look like it is for UI purposes so it knows the values to display to the users. The bands/channels are set in the vTx. I was looking at the NexwaveRF Fatshark module. I don't think it would take too much to change this code. The Newave is not controlled via SPI. Band is selected via dip switches and channel via 3 of the pins.

I am not an electronics expert but one could de-solder the dipswitches. And then use a digital switch or opto-isolator to act like a dip switch and to control the three channel pins. So it would be a matter of updating the arrays with the Nexwave bands and channels. The channelTable array looks like it is the spi commands to change the channel. Instead of that you have two bytes that you combine with a bitmask to determine which switches to turn on. Replace the code that does the spi communications with code that turns on and off the switches.
Last edited by SirPoonga; Aug 13, 2015 at 11:08 AM.
Aug 13, 2015, 12:04 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Quote:
Originally Posted by SirPoonga
channelFreqTable array look like it is for UI purposes so it knows the values to display to the users.
This is partially correct. There are two arrays listed in the code snippet one for display purposes and the other for the SPI command to send to the rx5808 module. Both would need to be updated to include the new band if it is supported by the module.

I'm hoping someone has already experimented with the race band and this module.

As far as using NexwaveRF Fatshark receiver module it would need and entirely different fork of the project.
Aug 13, 2015, 12:06 PM
Registered User
Oh right, it would need an entirely different fork. It's one of my plans in the future if no one else does it first. Too many other projects on the plate need to be finished first though
Aug 13, 2015, 03:39 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Good news, an awesome reddit user pointed me in the direction of this german form where they have implemented the Immersion race band on the rx5808. I'll see if i can get that in the diversity project in the next few days.

Quote:
FieserKiller
I did no work on race band yet, I'm waiting for my race band receiver first. But others did: http://fpv-community.de/showthread.p...d-TV-out/page6 I hope you know some german.. If not, the last codeblock on this page. its a version with race band support..
Aug 15, 2015, 05:42 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
I have implemented the Immersion race band bringing the total supported channels to 40.

Next up on the list of features I'll be implementing is backward compatibility with the original schematic. (the non-diversity version)
Aug 17, 2015, 11:41 AM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Quote:
Originally Posted by crazyshea
Next up on the list of features I'll be implementing is backward compatibility with the original schematic. (the non-diversity version)
The code is also now backward compatible with the original rx5808-pro schematic minus diversity and dip switch mode. For details on updating click here.
Aug 17, 2015, 01:16 PM
Registered User
Cool. I think I will be ordering parts soon One modification I am looking at is getting 4 port 4066 switch and adding a push button to the arduino to switch the video. Push buttons is a little bit easier interface when you can't see the controls when using goggles.
Aug 17, 2015, 03:28 PM
www.laforgefpv.com
crazyshea's Avatar
Thread OP
Quote:
Originally Posted by SirPoonga
Cool. I think I will be ordering parts soon One modification I am looking at is getting 4 port 4066 switch and adding a push button to the arduino to switch the video. Push buttons is a little bit easier interface when you can't see the controls when using goggles.
Funny you should say that... I started working on that last night in a new branch.

The goal of the branch will switch to the GUI any time a button is pressed and then back to the video out from the receiver after a duration of inactivity. (Probably around 5 seconds).

My original circuit was switching video and audio with the 4066 however the audio is less important to me and removing that from the 4066 frees up the two switches that can be used for swapping the GUI on key press.

Hopefully I'll have this all figured out and ready for you to build by the time your parts arrive.
Aug 17, 2015, 05:21 PM
Registered User
Quote:
Originally Posted by crazyshea
The goal of the branch will switch to the GUI any time a button is pressed and then back to the video out from the receiver after a duration of inactivity. (Probably around 5 seconds).
That sounds good at first and I assume you would go that route so you don't have to add a button thus redesign the case. This is a tough one because that's too short for the band scan screen.

I assume most people will use the band scan to either tap into an existing channel to watch it or find an empty channel they can use. So most likely they will go to the channel select screen afterwards. Thus maybe disabling the timeout on that screen is the best then.
Aug 17, 2015, 05:22 PM
Registered User
Quote:
Originally Posted by crazyshea
My original circuit was switching video and audio with the 4066 however the audio is less important to me and removing that from the 4066 frees up the two switches that can be used for swapping the GUI on key press.
That's a good point also. Those using antenna trackers might want it. There is an 8 port 4066 switch or opto-switch.

You could do the audio through the arduino. You have three analog pins left. Two for input, the person would have to wire the appropriate left or right channels to it. Usually antenna trackers are mono and only on one channel. Then mirror the appropriate one to an output pin.

You wouldn't get sound if one flies using sound, however, you would get antenna tracking without modifying the circuit too much. Though it might be tough, the arduino would have to sample faster than the baud rate of the data.
Last edited by SirPoonga; Aug 17, 2015 at 05:32 PM.


Quick Reply
Message:

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Mini-HowTo DIY: Diversity Receiver - rx5808-pro-diversity - clone badzz FPV Equipment 133 Sep 25, 2018 09:56 AM