Arduino IR RC 3ch transmitter

This started as a small project after getting fed up with the original controller my Skytech M3 (Syma S107G rebrand) helicopter came with. As I do own a Turnigy 9X transmitter, I decided to create an IR transmitter module I could use with it.

I used my arduino as a Logic Analyzer, and spend a night decoding the IR signal the M3 uses, but then I stumbled across IRrc and IRheli. It has all of the dirty work done already, so I could concentrate on the hardware.

The result is a fully stand-alone, Arduino powered IR transmitter module that fits in the old Turnigy 9X TX module shell. The IR LED bar is still a prototype, but it is already much more powerful than the one in the old transmitter. It has two flat neodymium magnets on the bottom and it sticks to the handle quite securely.

The arduino reads the PPM signal coming from the controller, translates those to the protocol used by the heli with IRheli, and then transmits them. When it is turned on, as a safety feature, it checks that the throttle is 0 before starting transmitting.

The hardware itself is pretty simple. It consists of a 5v regulator with some filtering caps at the bottom, a 16MHz crystal in the middle and a transistor for driving the IR LEDs at the top. The connector for the light bar is on another board, that sits on the bottom of the main board. The circuit could be made even simpler and smaller as you could use a smaller AVR chip with an internal crystal. The ATmega328 can also use the internal crystal, but I have never used it, and it is also only 8MHz.

Code that works for me can be found here. TGY9X channels are 1 THR - 2 RUD - 3 ELE - 4 manual trim (set it to a pot). Download