• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Arduino RC Link Repeater

jps1

Junior Member
#1
Hi. I've managed to put up an rc link repeater using an arduino uno. You can virtually use any arduino or any avr processor available. Just set the hardware up properly. I've been out 4km with this, but utilizing only 3 channels (delta wing).

This allowed me to use my stock turnigy9x 2.4ghz system to send signals to my 1watt dtf-uhf tx module. This way, I can place the uhf module virtually anywhere I wanted (up in a tall tree ;) away from my vrx and other hardware.

This is an adaptation of different codes from 2 different sources. Yeah, I'm a stealing bastard.

I didn't write the PWM->PPM encoding. You can find the original one here (http://www.rcgroups.com/forums/showthread.php?t=1808432). It's a simple approach. All it does is encode into ppm values stored in an array. But it doesn't read pwm. But it works. But not as fast as I wanted.

Now the problem is capturing pwm as FAST AS POSSIBLE!

The solution came from doughboy's (rcgroups.com/multiwii.com) PWM->PPM encoder (http://www.rcgroups.com/forums/showthread.php?t=1763334). I got it working once and somehow didn't work after that (most notably when I upgraded the openlrs firmware). But his example was an inspiration-it's really fast (no jitter at all). But the downside is that the implementation makes it difficult to do anything about the pwm. No failsafe. If it happens to interchange your channels, you have to reprogram your radio.

You can extend the software so that it can become your ground station data hub. For example you can use the repeater for telemetry at the same time. The loop function is 'open' for anything.

The output has occasional (almost unnoticeable) jitters. It's flyable on fixed wings but not recommended for multirotors. It's purely a software problem (timing). If you can suggest a simpler and faster alternative for reading pwm and encoding ppm then we can improve it. See attachment for the code.

Update: now trying to decipher codes from https://store.3drobotics.com/products/8-channel-ppm-encoder-version-2. It seems the timing on this is really good. I'll try to create a simpler arduino version. The product is really expensive though.

repeater.jpg repeater.jpg
 

Attachments

Last edited:

jps1

Junior Member
#4
Why do you hate the sun that much? :D Nice rig. How much range do you get with those umbrella antennas? Is that a 100mw orange openlrs?

I like to really separate my lrs from the video. I usually place the 'lunch box' on the car where it can connect to the laptop for telemetry and logging.
 

vk2dxn

Senior Member
#5
This pic was taken at night so that is why the blind is drawn.
The lrs is an orange 1w but it has not had the 6v mod to the PA as yet.
I run the lrs with a low pass filter and the av repeater has band pass filtering in the RX so it is not affected by the LRS. ATM I run 5.8 on the quad so I am not using the av repeater. I built the av repeater for the fixed wing fpv project I am building and I do plan to run 1.2 with that.
The Marconi antenna that is in the pic has been range tested to about 1km with rssi still in the 90's but that was line of sight.
I plan on running the mav telemetry from my apm through the lrs but that is another project for the future.
ATM I run my telemetry via a 900mhz tx from apm to the laptop for mission planner.
My build has taken a long time because I don't have a lot of free time because of the overtime at work but it am chipping away at it :)
 

jhitesma

Some guy in the desert
Mentor
#7
Update: now trying to decipher codes from https://store.3drobotics.com/products/8-channel-ppm-encoder-version-2. It seems the timing on this is really good. I'll try to create a simpler arduino version. The product is really expensive though.
Yep, $25 for what's $12 or so in parts bought in single quantities....easily <$10 bought in quantity and it wouldn't surprise me at all if their actual cost was <$5. And is itself just based off of an existing project: http://wiki.paparazziuav.org/wiki/ATmega_PPM_Encoder_Board so it's not like they had to put in a lot of R&D to recoup.

Basically all you're using the arduino for is PWM-PPM conversion or am I missing something else? Shouldn't be hard to adapt the code from either 3DR's version or paparazzi's so it runs on arduino.
 

jps1

Junior Member
#8
hi, I appreciate the reply. IMHO, the arduino can do a few other things after the pwm-ppm conversion. Right now im using it to fetch telemetry info from the uhf module. You can basically implement your own remote control system which can work hand in hand with your existing one. Btw, somebody already did(@rcgroups) using the pwm->ppm encoder i just used above. I could imagine adding joysticks. They control the predator drones like that in the movies. Or an IMU to control the plane. You can view the vid on a big screen and have the IMU mounted on your surf board and control the plane like your surfing. etc.

This might serve as a platform for some useful project later on. But really my initial motivation was to practice programming using it.
 

vk2dxn

Senior Member
#10
Yeah mate the orange is good. If I had to pick it all over again I would have got the hawkeye unit that already has the 6v pa mod and LPF in the output but it is not bad if you are up for doing the mod's
 

vk2dxn

Senior Member
#13
Inverted V is better at distance because it has a more concentrated radiation pattern with null points at each end so it does have some gain. The Marconi is a uni gain omni directional antenna and this is why I chose it. Because it sits on a tripod I wanted an antenna that had a more "donut" shaped lobe
 
Last edited: