Helicopter Hacking

I am extremely interested in flight aerodynamics, quadrotor helicopters and general aerospace engineering. I am a member of IITM’s International Aerial Robotics Competition (IARC) team, where I help in designing the computer vision algorithms that will run on the quadrotor to help it “see” the environment around it. The problem statement is quite interesting, you can have a glance at it here.
I ordered a Syma S107G helicopter on Flipkart, which I got for a stunning discount of nearly 60%, bringing its price down to Rs 960. Several websites across the world consider it to be one of the best RC toy helicopters ever.

There are two pairs of main blades, which rotate in opposite directions to counter each other’s torques. There is a balance bar, which serves to provide increased inertial mass, so that the helicopter is less spontaneous to slight variations of the directional joystick. There is an inbuilt gyroscope, hence the ‘G’ in the name Syma S107G. It serves to provide the stable horizontal position reference for the helicopter.

The image below is only for reference, my helicopter is yellow. I got the image from remotecontrolhelicopterreview.net, after a quick Google search. 

Mine is yellow though, this image is for representation purposes.

When the helicopter is turned on, it must be placed on a flat, horizontal surface, so that the gyroscope can reset itself. After this initial setup, the green light on the copter stops blinking, and it is ready to fly. The remote control does not use radio control, probably due to its higher cost, it uses IR signals instead.

The IR signals are PWMed (pulse width modulated) at a particular frequency (for my heli, 37 MHz) and have a specific code for each command from the remote. If I am able to decode the IR signals using an IR detector, I should be able to program an IR LED to send the same signals whenever I want, and hence program it to move around programatically.

So far, I was unable to decode the signal. I will try again once I get a new IR detector, I just burnt one… 😦

The heli requires about 40 minutes of USB cable charging and flies for about 5 minutes. Its battery is a 3.7V LiPo with 150 mA output. I had another helicopter at home, which had a battery of the same voltage but higher output of 200 mA. I soldered this second battery in parallel to the first, in the hope of improving battery life. I attached it below the helicopter, to lower the center of gravity.

Two batteries, one helicopter

I was successful! The modified heli flies for about 15 minutes, but takes nearly 1.5 hours to charge. Anyway, even if it isn’t fully charged, it still flies for a really long time!

If I had directly soldered the second battery to the heli, it wouldn’t even have taken off, due to the increased weight. So I removed all non-essential components from the copter, and reduced its weight considerably. Its center of gravity has gone off balance slightly, so it veers forward when it flies, but I can handle it. Anyway, a weight correction is easy to implement.

All the parts I removed are below:

Parts of the helicopter

Further plans include decoding the IR signal, finding out the commands to be sent, using the Arduino to send them, using the Nunchuck to move it around…the possibilities are endless!

More pictures of the helicopter available here.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s