Perfecting the Open Source RC Controller

Over the last few months we’ve seen an influx of homebrew RC controllers come our way, and we’re certainly not complaining. While the prices of commercial RC transmitters are at an all-time low, and many of them can even run an open source firmware, there’s still nothing quite like building the thing yourself. How else are you going to get exactly what you want?

For this entry into the 2019 Hackaday Prize, [Vitor de Miranda Henrique] is working on his own version of the ultimate open source remote control. His design follows some of the trends we’ve already seen in terms of outward design and hardware expandability, but also branches off into some new territory with features such as dual integrated displays.

Why does your controller need two displays? The top 4.3 inch TFT is linked up to a 5.2 GHz video receiver, which makes it perfect for controlling vehicles in “first-person” view, such as drones. The lower screen is a 2.8 inch touch screen from Adafruit, which is intended to be used for navigating through menus and options once the firmware is fully fleshed out.

Powering the controller is a ESP32 and dual MCP23017 GPIO expanders to connect up to the array of input devices available to the user. The current iteration of the controller has ten switches, two encoders, some buttons, and a pair of scroll wheels for good measure. Oh, and of course there are a couple of joysticks in the mix as well. All the devices terminate at a custom PCB in the back of the controller which looks to make modifying and adding input devices simple and neat.

We’ve previously seen the Alpha V1, an open source controller with a fairly similar setup, albeit without the dual displays. If even that one is a bit more complex than you’d like, you can always just do it with an Arduino.

Developing The Ultimate Open Source Radio Control Transmitter

While we’ve come a long way in terms of opening up the world of radio control to open source software, a good deal of the hardware itself is still closed up. You can flash a cheap RC transmitter with a community developed firmware, in fact there’s a decent chance that’s what it ships with, but the hardware itself is still an immutable black box. That might be fine if you’re just flying an RC plane or quadcopter, but what if you’ve got something a bit more advanced in mind?

An in-development version of the hardware.

To address this issue, [Alireza Safdari] has spent the last several years working on a truly open source RC transmitter that can be modified and augmented to meet the user’s needs, called the Alpha V1. With the hardware and software nearing completion, he’s looking to get some community feedback on the system before the planned crowdfunding campaign kicks off.

From his personal experience, [Alireza] found that traditional RC transmitters have their limits when you start using them for robotics. You’ll often want input schemes or devices which would never occur to the remote’s designers, and you’ll almost certainly want to have more channels and functions than the original hardware will allow. One of the big advantages with the Alpha V1 is that the front and back of the controller are simple acrylic panels, meaning you can easily cut openings or drill holes in them to add more hardware without having to deal with the (relatively) ergonomic shapes of a traditional transmitter.

Of course, that’s only one half of the equation. When you add new hardware, you’ll need to make the software aware of it. To that end, [Alireza] says he and his team have developed a library of adaptable firmware modules which should make it very easy to add in new components without having to get bogged down with software configuration. In fact, he says the goal is to allow the user to add new hardware to the Alpha V1 without requiring them to write a single line of code.

The Alpha V1 communicates at 2.4 GHz using either XBee or Murata DNT24 radios, and supports as many as 72 individual channels as well as two-way telemetry. If your requirements aren’t quite so high, we recently covered a significantly less intimidating attempt at building an open source RC transmitter that might suit your needs.

DIY Six Channel Arduino RC Transmitter

It’s wasn’t so long ago that RC transmitters, at least ones worth owning, were expensive pieces of gear. Even more recently than that, the idea of an RC transmitter running an open source firmware would have been considered a pipe dream. Yet today buying cheap imported transmitters and flashing a community developed firmware (if it didn’t come with it pre-installed to begin with) is common place. It’s not much of a stretch to say we’re currently in the “Golden Age” of hobby RC transmitters.

But what if even cheap hardware running customizable software isn’t enough? What if you want to take it to the next level? In that case, [Electronoobs] has an Arduino powered RC transmitter with your name on it. But this is no scrap of protoboard with a couple of cheap joysticks on it, though he has made one of those too. The goal of this build was for it to look and perform as professional as possible while remaining within the hobbyist’s capabilities. The final product probably won’t be winning any design awards, but it’s still an impressive demonstration of what the individual hacker and maker can pull off today with the incredible technology we have access to.

So what goes into this homebrew radio control system? Inside the back panel [Electronoobs] mounted the batteries, charging module, and the voltage regulator which steps the battery voltage down to the 3.3 V required to drive the rest of the transmitter’s electronics. On the flip side there’s an Arduino Nano, an NRF24 module, and an OLED display. Finally we have an assortment of switches, buttons, potentiometers, and two very nice looking JH-D202X-R2 joysticks for user input.

As you might have guessed, building your own transmitter means building your own receiver as well. Unfortunately you won’t be able to bind your existing RC vehicles to this radio, but since the receiver side is no more complicated than another Arduino Nano and NRF24 module, it shouldn’t be hard to adapt them if you were so inclined.

Low-cost consumer RC transmitters can be something of a mixed bag. There are some surprisingly decent options out there, but it’s not a huge surprise that hackers are interested in just spinning up their own versions either.
Continue reading “DIY Six Channel Arduino RC Transmitter”

Terrible RC Transmitter Made Less Terrible

It should probably go without saying that we’ve got nothing against the occasional bout of elaborate troubleshooting and repair, in fact it’s one of the most common things we cover here. As it turns out, people aren’t overly fond of being fleeced, and there are a lot of smart people out there who will put a lot of work in to keep from having to toss a favorite piece of gear into the trash. We can’t fault them for that.

But we have to say, we generally don’t see those kind of elaborate repairs for something brand new. Unfortunately, that’s exactly what [Marek Baczynski] had to do when trying to review the new iRangeX transmitter for his YouTube channel “dronelab”. He found a transmitter that was so poorly designed and constructed that he had to address a laundry list of issues to make the thing halfway tolerable. As you might expect, he’s not suggesting anyone go run and pick this one up.

The biggest problem is a fundamental flaw with how the gimbals are constructed. Due to poorly mated surfaces between the potentiometer and the stick itself, the accuracy of the controller is very low. The potentiometers don’t even return to zero when the sticks are released. Some tape was used to tighten up the connection and make the controller usable, but such poor tolerances are hard to forgive when accurate control is essentially the whole point of the device.

The other issues took a bit more debugging to figure out. The TX made an absolutely terrible screeching sound when turned on, but [Marek] was sure he was hearing a little bit of melody under the din. Putting the signal through the oscilloscope, he was able to confirm his suspicions. As it turns out, the buzzer used in the TX has a built in tone generator that was overriding the intended melody. Switching it out for a basic buzzer fixed the issue. Similarly, an issue where the radio wouldn’t turn on if it was recently turned off was tracked back to a resistor of the wrong value. Putting a higher lower value resistor in its place sorted that out as well.

It’s hard to imagine how this device made it out of the factory with so many wrong or unsuitable components, but here we are. Not that this would be acceptable at any price point, but as [Marek] points out in the video, it isn’t as if this radio is even all that cheap. For nearly $90 USD, it doesn’t seem unreasonable to expect something that actually works.

This isn’t the first time he’s put “cheap” RC hardware through the wringer. We recently covered his efforts to quantify latency in different transmitters. As the RC transmitter world gets increasingly competitive, detailed analysis like these help separate the real gear from the toys.

Continue reading “Terrible RC Transmitter Made Less Terrible”

RC Transmitter Hacked Into Music Player

Packed with an incredible amount of hardware, and increasingly likely to be running an open source firmware, the modern RC transmitter is effectively a little multi-purpose computer in its own right. Accordingly there is a small, but growing, community of developers coming out with software applications targeting these switch-festooned wonders. It’s only a matter of time until they are running DOOM.

One such piece of software is TaraniTunes, developed by [GilDev]. This program allows you to load your OpenTX 2.2+ equipped Taranis Q X7 or Taranis X9D with music files which can be played on the transmitter’s built-in speaker. While it likely won’t win any awards for interface design, the large LCD display coupled with the radio’s numerous physical buttons and switches makes it relatively easy to navigate your music collection.

While the software [GilDev] has written for OpenTX looks straightforward enough, getting the songs on the radio is another story. For each track you need to merge the stereo channels into mono (as the transmitter only has a single speaker), and then convert it to a 32 kHz WAV. But don’t worry about the lack of ID3 tag information, TaraniTunes allows you to create a text file containing not only the filename of each track, but its name and artist.

We’ll admit this one should be filed away in the “Because I Can” category, but it’s still an impressive hack and a clever demonstration of the current state of RC transmitter technology.

Continue reading “RC Transmitter Hacked Into Music Player”

Quantifying Latency in Cheap RC Transmitters

For those just starting out in the world of RC, a low cost transmitter like the Flysky FS-i6S can be very compelling. But is buying a cheap transmitter setting yourself up for failure down the line? The general feel in the RC community has been that cheaper transmitters have higher latency or “lag” on their inputs, which is precisely the kind of thing you want to avoid when flying along at 40+ MPH. As such, the general wisdom has been that your transmitter is one area where you don’t want to cheap out.

Wanting to put that theory to the test, [Marek Baczynski] set out to compare the response time between the Flysky FS-i6S and the more established Taranis X9D. In the video after the break, he uses his Saleae logic analyzer to time how long it takes movement on the transmitter sticks to get interpreted as servo commands at the receiver.

[Marek] connects the logic analyzer directly to the gimbals of both transmitters, allowing him to see user input before any processing is done by the electronics. It’s particularly interesting to see how the smooth analog curves of the gimbals are converted to a “staircase” digital output.

The final results of the latency test end up being fairly surprising. To put it simply: the cheaper Flysky radio not only more accurately interprets the user’s input, but does it considerably faster than the Taranis. [Marek] says he was so surprised by these results that he re-ran the test three times to verify.

But even taking into account the apparently higher fidelity of the cheap radio, he cautions you shouldn’t swap out your gear just yet. Higher end transmitters have a number of other features which make them worth hanging on to, even if the newer generation of radios is slightly faster. The real takeaway from this video is that if you’re just getting into the RC game, these cheaper transmitters aren’t necessarily the kiss of death the community makes them out to be.

Experiments like this and the recent detailed analysis of common hobby motors show just how seriously people take the world of RC. It’s unlikely this single experiment will quell the debate about “cheap” RC transmitters, but perhaps it’s a start.

Continue reading “Quantifying Latency in Cheap RC Transmitters”

See This Slick RC Strandbeest Zip Around

Bevel gears used to mount motors vertically.

Theo Jansen’s Strandbeest design is a favorite and for good reason; the gliding gait is mesmerizing and this RC version by [tosjduenfs] is wonderful to behold. Back in 2015 the project first appeared on Thingiverse, and was quietly updated last year with a zip file containing the full assembly details.

All Strandbeest projects — especially steerable ones — are notable because building one is never a matter of simply scaling parts up or down. For one thing, the classic Strandbeest design doesn’t provide any means of steering. Also, while motorizing the system is simple in concept it’s less so in practice; there’s no obvious or convenient spot to actually mount a motor in a Strandbeest. In this project bevel gears are used to mount the motors vertically in a central area, and the left and right sides are driven independently like a tank. A motor driver that accepts RC signals allows the use of an off the shelf RC transmitter and receiver to control the unit. There is a wonderful video of the machine zipping around smoothly, embedded below.

Continue reading “See This Slick RC Strandbeest Zip Around”