Open source, helping everywhere

Tue 28 April 2015 // posts

Last week I've built a small, 250mm sized, quad copter, using a KK2.1 evo flight controller. One great feature of this FC is the ability to tune flight performance on site, using it's built-in LCD display. It's really helpful, specially when you're learning PID tuning!

Besides the learning aspect, I plan to use this build to make experiments that I'm not willing to risk first on a bigger copter.

One thing I already did was to exploit the SPort interface on the FrSky X8R receiver (a physical port used to send telemetry) and used it to send my own data, in this case, battery voltage level (the most essential info when flying electronics). FrSky sells all these sensors that connect to the receiver (and not so cheap), but I felt obliged to make my own. Even better - there's already a public repository with code to interface an Arduino with the SPort! - check openXsensor. This is one reason why the open source community really shines.

More technically...

In order to keep the payload as compact and lightweight as possible I used the atmega328p alone, loaded with openXsensor, programmed to use its 8MHz internal oscillator (less 3 external components) and a simple resistor voltage divider circuit to read the higher voltages from the battery. It worked like a charm!

On the Taranis (remote control), I configured a logical switch that triggers when battery voltage hits a low threshold. When this happens, I start (literally) hearing readings of current voltage level every few seconds! Oh, and the Taranis firmware is also open sourced.

Can't get much better than this, can it?