Monday, January 21, 2013

Hacking a Cheap HobbyKing 6 Channel Receiver - Summed Signals

RC Hobby Receivers

Any standard modern hobby RC receiver works the same way. The position of joysticks is converted to a digital value, which is then encoded, modulated, and broadcast on some radio frequency. On the other end, a receiver demodulates and decodes the values, converts them to PWM (Pulse Width Modulation), and outputs each of the PWM signals on a separate output pin. Typically, you would plug in a servo or motor controller to each output.

The signal on each output looks like the following picture

And now let us zoom in on one of those pulses

The value of the PWM is the width of the pulse. Standard hobby electronics have a pulse width between 1000us and 2000us, or between 1ms and 2ms. A pulse of 1000us is equivalent to 0% and a pulse of 2000us equals 100%. In the picture above, you can see that the pulse is about 1.46ms wide, which translates to just under 50%, or the joystick is centered. There is no official standard for the time between pulses, but typically a pulse occurs around every 20ms for use with average analog servos.

The Problem

Often in robotics or, for example, fancy multirotor aircraft, there may be addition smarts on the vehicle that needs to do additional computation on the inputs. RC radio transmitters are great. They usually have 2 nice joysticks, a miriad of switches, excellent range,