Custom RC transmitter part 1

Since I started flying with miniquads I started looking for a small simple radio controller. Something with real gimbals but with size of a gamepad. I don’t need any complicated mixes inside menus either a lot of switches. In reality 6 channels is enough. Only advance stuff that I require is crsf protocol with telemetry for setup crossfire module and Betaflight tuning. It took long time and I didn’t found anything. Yes there are Futaba radios that are awesome but they are so big. Next to it is crappy Frsky with terrible quality and over complicated buggy openTX. Xlite is small but definitely I don’t want it.  Another small radio is Turnigy evolution. But it doesn’t have the crossfire and have a cheap not precise gimbals.

After a while I realized there isn’t any product that can fulfill my requirements. So I decided to make one some self. As I wrote before I prefer minimalist solution with only necessary functionality without any over complicated disruptive stuff.

I started with firmware on common stm32 discovery board. I was so concern to creating simple awesome menu that I spend months on that. So my first work was only the graphic library but in retrospective it wasn’t so bad time investment and I’m happy with how it looks like.

I was thinking about what functionality is good to have in these kind of controller. At first there has to be simple intuitive calibration. It is must have, transmitter can’t work without it. Next there should be user offsets different for each model. It’s mean offsets of min, max and center value with linear interpolation between them. I guess it would be good functionality because I suppose using different kind of modules (crsf, ppm). I’m creating the radio mainly for crsf but the ppm capability gives possibility for other stuff. And mainly for ppm is necessary to have options for offsets because of analog shift. Other option how to use it is possibility to change values of 3 state switches. Next channel reverse is must have for sure. For first version I implemented ppm protocol that’s simple and functional for start. And that’s it, it’s all that is needed for basic functionality. 

With all of these I’m able to test it with my Crossfire module. Wait something is missing. Yes what about the case. Case is quite important part and can’t be forgotten. I play with it during coding and you can see the result in photos. It’s 3D printed so it is possible create awesome fluids shapes that’s fits perfectly to hands. There will be more iterations but I’m actually satisfied with it. 
This is actual state. Now I have to solder everything from prototype board into the transmitter case and finally try to flight with it.