My first project: to make an old RC trasmitter (79s Kraft) useful again, by changing the hf frequency to 2.4 GHz (Jeti Duplex HF module) and designing a new, computerized coder.
Why do that, when you can buy a fairly smart chinese Tx for USD 50 or so? I simply needed an excuse to do some more extensive project (in order to force myself learn the Arduino code), and not least, I always loved the look and feel of those fine Kraft radios.
The project is almost finished now and most of the features are implemented correctly. I have added a cheap (Nokia 5110) display (84 x 48) graphic display and 5 control buttons. The display is housed in a panel (that was printed on a Prusa 3D printer) on top/front of the Tx box. It is arguably spoiling the classic looks of the Tx, but I wanted to put it together and start coding in reasonable time. Maybe one day I will re-do the panel.
The functions implemented (and working) so far:
service menu:
-stick calibration (center and range)
-erase all models
-list EEPROM on the screen
system menu:
-model select (out of 8 model memory)
-erase model data
model menu:
-adjustable dual rates and expos (switch selected)
-servo reverse
-servo throws and subtrims
-batt voltage measuring and alarm
-4 free mixers (any of 8 available channels to any other), permanent or switch activated, with offset
-aileron differential
-prefabricated mixes (delta, v-tail, flaperon - flaperon with extra mixes ele-flap and flap-ele)
list of things still to do:
-timer
-trim reset, i.e. make the trim electronically and move the analog trim tabs to the neutral (very useful when you change planes ;))
-model name (8 chars)
-throttle curve (maybe)
at this stage, I have realized that it is doable - and the Arduino Duemilanove I have used is fast enough for this (the main program loop still goes through more than twice inside the 22 ms pulse frame).
All in all, this taught me a lot, and I would surely do certain things differently now (like make the program more structured, with more focus on reuseable functions). The program memory used up in this stage is cca 18 kB, still more than enough left.