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.
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.
Attachments
Last edited: