What's special about Open Source?I expect most of you have heard of it, but open source software means you can get a copy of the sources and modify them to meet your own needs. An open source version of a firmware controller means - well, you can change it to add functionality to your controller. Adding a backlight to a controller is easy. Making it time out and shut off after a period of inactivity is also easy - with access to the firmware source. Without it, not so much.
What are the choices?There are a number of choices:
- th9x and descendants
- th9x was one of the first open source controller firmware options. A number of other options have been branched from it for a variety of reasons. They aren't identical, but moving between them is relatively straightforward
- RadioClone runs on the same hardware as the th9x variants, but was independently developed, and is radically different from them.
- An open source firmware for the Welkera Devo line of controllers.
- The Open Source RC project is not merely an open source firmware project. It includes a modular open source hardware design that the open source firmware runs on. No complete release is available yet.
- This controller is rumored to have open source software, but nothing has been released yet.
th9x and variantsThese generally run on a variety of similar radios, and include support for a fair number of hardware ugprades - most notably custom CPUs and motherboards. That's one of the reasons for some of the variants - they were created to support some specific motherboard. OpenTx seems to be the most popular now, in part because it was designed to be configurable for different hardware variants at compile time, so some of the hardware-specific variants have been abandoned in it's favor. It's what I'm most familiar with.
The variants are generally harder to configure than proprietary radios, because they don't have specific settings for popular aircraft configurations. Instead, you have to know how to configuring things for a specific type of craft. This is alleviated in part by a template system, and in part by desktop software that can read and write the model configurations, and incorporates the requisite knowledge.
On the plus side, the tools for configuring the controller - generally called mixers - are much more powerful than those found in proprietary firmware. Proprietary systems generally only allow a few custom mixes with one or two extra inputs, controlled by a small set of switches. The th9x versions let you have mixes on every output channel, have virtual channels, have input counts limited only by memory, and can be configured to be controlled by any switch on the device, including things that aren't normally switches, and virtual switches that are the result of evaluating boolean expressions involving the same set of switches - including themselves.