Hacker News new | past | comments | ask | show | jobs | submit login
OpenTX is open source firmware for RC radio transmitters (open-tx.org)
87 points by zdw on May 6, 2014 | hide | past | favorite | 15 comments



For those of you interested in what might be a slightly lower level approach: I saw a talk from Andrew Trigell (of Samba/rsync fame) at linux.conf.au. In it, he was bemoaning the lack of Open Source firmware for radio transmitters, while pondering a UAV project hey were working on.

So, in typical tridge fashion, he and his friends created some, and given it is relatively simplistic, and the transmitters are quite tiny, the feature set seems pretty impressive (though I haven't had a need to use it... yet):

https://code.google.com/p/ardupilot-mega/wiki/3DRadio


Tridge also happily uses an earlier version of OpenTX called er9x I believe. I've worked with him on a bit of the firmware you're talking about here, but it's not the same stuff. The most impressive thing about the SiK firmware you're talking about is the stupid range you can get from them on a good day; line of sight can be tens of kilometers (say 40+), and could potentially be used to communicate with satellites, all while using a max of 5W transmit power at 900MHz. There's plenty of more info on both the CanberraUAV and 3D Robotics blogs from him and others about both these topics. The following talk as LCA was about such satellites, and there was some talk about using these radios for these open source satellites.


There's also OpenLRSng which is open source 433MHz hardware and firmware for control links.


That site says you should look at http://plane.ardupilot.com/ for documentation.


I wondered what this exactly was and it is what it sounds like. An open source firmware for the "box with joysticks" that you use to control miniature hobby model vehicles (or whatever else you want :).

Firmware running on device: https://lh6.googleusercontent.com/Z6Q2WtT2dhpgvCyrq4KEIDH0sd...


Firmware?! Last one of these I built had a simple multivibrator and a 4017 plugged into the RF front end which was pretty simple as well - just a crystal osc, mixer and antenna tuning and that was it. That was good for a 6 chan TX at least with a quarter mile range.

I know that's a neck beard comment but have things really got that complicated that computational power is required? I can understand mixing for helicopters but not much else.

There is some elegance left in simple solutions.


>I know that's a neck beard comment but have things really got that complicated that computational power is required? I can understand mixing for helicopters but not much else.

Mixing is needed for pretty much anything and it sure as hell beats mechanical setup. For anything of even medium complexity it's a must. For example in a simple three channel glider (aileron, rudder, elevator) it's so much easier to just have 4 servos (1 on each aileron in each wing) and then do the aileron mixing in software. Otherwise you'll have to arrange the linkage geometry to get differential travel in the ailerons (for aerodynamic reasons you want more up travel than down travel) and then make sure the end points and central trim are all correct. Much easier to just stick the servos in the wing, set the linkage roughly and then trim it from a software interface. In the old days you'd have crazy stuff like left and right servos to reverse the direction of travel, now it's a software setting away.

And that's a simple example. Still in gliders a competition F3F glider will need much more mixing. You're basically doing laps between two pylons 100m apart. The world record is below 30s, so that's 120km/h of average speed including 9 full U turns. To actually be able to do those fast turns those gliders will actually move all 6 surfaces (2 ailerons, 2 flaps, 2 V-tails) at once, dropping the ailerons and flaps to increase the lift of the wing during the turn and using the V-tails as elevators. Then to land the plane you'll put it in "butterfly mode" moving the flaps way down and both ailerons up to get it nice and slow for landing.

R/C airplanes are actually very advanced stuff. The jets and scale stuff will have complex sequencing for landing gear retract, the gliders will do insane stuff like do over 800km/h dynamic soaring, so you need to have exponential mapping between controls and outputs to have precision in the center of the sticks. So radios have evolved to match those capabilities. Radios have been mixing for decades now, and have had replaceable firmware for a long time. It used to be that to get a really flexible radio you'd need to spend 1000$. Now you can get a cheap Chinese made radio for 100-200$ and put an extremely flexible open-source firmware on it that will do all the things the high-end radios do and more. Software is eating the world indeed.


I was thinking that 800 km/h was a typo, but no, this is the world record: http://en.wikipedia.org/wiki/Dynamic_soaring

This is really impressive.


Dynamic Soaring is quite impressive. At the world-record speeds they were having problems because the radar guns they were using (the type police use) were not picking up the speeds anymore. I think there were only a couple of particularly good ones (particular specimens not particular models) that were still able to register something and not easily.

Initially they had issues with planes blowing up mid-air because they were using hollow-molded planes and as soon as a bit of air got into the seam at the wing leading-edge it would open the wing in half quite spectacularly. People tend to stand next to a large rock on the mountain in case they need some good cover. The DS world-records were done with some custom built, very large very heavy gliders. There's quite a bit of great engineering in the R/C hobby.


Great post and I understand now - thanks for taking the time to explain it.

I'd love to do it TX side with a couple of op-amps though :)


>I'd love to do it TX side with a couple of op-amps though :)

All of this is TX side. There are a couple of oddball mixing RXs but that's not common.

Initially it was done with op-amps! My dad did some early modifications in some non-mixing radios for the makeshift F3B national team to take to the world championships a long time ago. These days it's just much much easier and more flexible to do it in software.


For a toy, that would be enough. But most moderate to "prof" (geh) RC guys want stuff like: Gear up-down switches (for jets) - throttle cuts, channel mixers for flying wings and scale models, flap/butterfly switches, dual-rate and expo settings (for acrobatic flying) snaprolling, telemetry (for drones), RSSI levels, microtrims, etc.

And then there's the guys like Warthrox who are totally insane in reaction-speed: http://vimeo.com/92400774


Most RC transmitters are digital and use the 2.4 GHz spectrum. They do channel hopping, they do integrity checking (CRCs for the most part), have configurable channels and mixing. Some also do telemetry and support multiple profiles for the channel and mixing settings.


It just blows my mind that something like this exists. Really beautiful how diverse the world is and how computing snuck its way into every little nook and cranny.


I like Deviation[0]. It runs on commercial transmitters and the developer reverse engineered many communication protocols used by proprietary systems which are now supported (some require adding hardware to your transmitter).

[0] http://www.deviationtx.com/




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: