Friday, 12 September 2014

Hacking a Mini Quadcopter Controller to Add Yaw Control Shoulder Buttons

Some time ago I purchased a well-reviewed and recommended to me micro quadcopter, the Cheerson CX-10 (I bought mine from banggood.com)

It works well but I modified it to be even better.


It taught me that if I had started with a full-sized quadcopter, I would have certainly wrecked it!  Flying one is a lot harder than I expected, but happily this little thing is very sturdy and is radio controlled, not IR controlled, so it can be flown outdoors.  It has been very useful in teaching me the basics.

However, one complaint I have is that the Yaw control (rotating left/right to change where "front" is facing) is done by turning the throttle joystick left or right.  There's no real problem with this, but on such a small remote and small joystick it's nearly impossible to tilt the joystick left or right without also moving it up or down and changing the throttle.

I solved this with a minor hack to add two "shoulder buttons" that will rotate the model left or right at a moderate rate when pressed.  I can still use the joystick, but I prefer to use the joystick only for throttle and use the new shoulder buttons to control Yaw.  Much better!








I disassembled the controller after removing the batteries to see what I was dealing with.  It's very straightforward, only a few small screws.  Looks like there is some space to add some small switches.


The left/right of the throttle joystick is simply a pot - the three pins are at the top right of the photo above.  It is a 500 ohm pot.  Simply adding a switch between the middle and left, and middle and right pins would do the trick, but that would yaw at full speed - like slamming the joystick full right or full left.  Instead I'll add a resistor to make it look like the joystick is about 1/2 of the way over when I press the switch.  We'll get back to that.  

Right now, I need to decide about the buttons. 

To add the shoulder buttons I selected two from my parts bin that had tall buttons.  (The Panasonic EVQ-1109K is an example, many others would be fine.)

Then I drilled two holes in the "shoulder button" locations and made sure my switches fit, and made sure that the circuitboard would still fit around them.  Then glued them in.  Be careful not to glue the shaft of the switch!

While the glue was drying I added two resistors and some wires to the pins I identified as controlling the Yaw.


The center pin is the pot's wiper.  The left and right pins are the two "ends" of the pot.  The pot is 500 ohms total from end-to-end (I measured it as well as read it off the side of the part on the other side of the circuitboard.)  

I don't want the shoulder buttons to change Yaw at full speed, so instead of putting a switch directly between the wiper and each end of the pot, I'll add a resistor in series.

Each switch goes from the middle pin to one of the outside pins through a 120 ohm resistor.  That way, when the switch is closed it will simulate the joystick being moved roughly halfway in the same direction.

In the photo above, the two leftmost wires will go to one switch, the two rightmost wires to another switch.


Here is the result.  Don't worry if my switches look a little different - any sort will do.

After a quick powerup test to make sure I hadn't swapped the switches (and made the Yaw control "backwards") I screwed everything back together.


There we go, a quick evening's project and the control is now much improved with the ability to rotate the facing using shoulder buttons!

Hey, if you're interested in watching me crash my FPV rig, here you go!

Of course, what I really want is a Phantom 3 from DJI.
http://click.dji.com/UZoTIwR-TwwucxjO