This project is a RC quadrotor helicopter (quadrocopter, quadcopter, quadricopter, etc). It's a RC helicopter that uses 4 rotors.

Watch it in 720p

You need some pre-requisite skills:
  • How to use Arduino, enough to get started
  • Soldering, wiring, basic electronic skills
  • Basic hand tool operation
A quadrotor helicopter flies with 4 spinning propellers on a + shaped frame.

When one rotor spins faster than the rotor on the opposing side, the faster side will have more lift, and thus the helicopter will tilt. When the helicopter is tilted, the air is being blown slightly sideways instead of directly down, and the helicopter will move.

The propellers also need to be in counter-rotating pairs, two spin clockwise and two spin counter-clockwise. This way, the helicopter does not spin on the vertical axis since the rotational enertia is cancelled out. But when the pair that's spinning in one direction is faster than the other pair, the helicopter will spin on the vertical axis. This is how the helicopter controls its direction.

We will be building a flight controller circuit that contains an accelerometer and gyroscope sensor so that a microcontroller can detect undesired changes in the helicopter's angle, and adjust each rotor's speed accordingly to counter the variation. This microcontroller will do this hundreds of times per second, keeping the helicopter stable in the air.

The flight controller is a completely open source circuit. The circuit schematic and PCB files are provided. The flight controller is completely Arduino compatible. The source code is a modified version of AeroQuad (open source Arduino based quadrocopter control code). The flight characteristics can be adjusted using AeroQuad's configurator utility.

Attached is a diagram that shows you the direction of spin for each motor, remember this diagram! You won't be able to fly if your setup does not follow this diagram.

This microcontroller will also take input from a RC radio receiver, so you can control the helicopter from the ground using a RC radio transmitter.

This helicopter will use four brushless motors. Each motor will be controlled by an ESC (Electronic Speed Controller). The ESCs will be controlled by the microcontroller.

A lithium polymer battery will power the entire contraption.

Summary of Downloads:
  • Over 100 pictures in all the steps
  • Step 9 contains flight controller circuit and PCB files
  • Step 10 contains bootloader and core for microcontroller
  • Step 12, 13, 14 contains demo Arduino sketches
  • Step 26 contains the flight control software

Step 1: Parts

RC radio transmitter and receiver
You need 4 channels minimum but I am begging you to get one with 6 channels. Also get one that uses 2.4 GHz technology if you can. Turnigy has a 9 channel model that is actually very inexpensive, and it runs on an AVR microcontroller that you can put custom firmware on. Personally, I have a old $25 radio that uses 75 MHz FM but I've converted it into a 2.4 GHz radio using a conversion kit.

Four brushless outrunner motors are needed. I used hexTronics 20-22L (this number represents the diameter and coil winding configuration of the motor, there's also a kv value that relates speed and power, higher kv = more powerful faster motor (thanks to the correction from slick8086, I was incorrect to relate power to Kv, it's the RPM that's faster if Kv is higher), 800 to 1200 is acceptable motors. They come with a ton of parts (the bullet connectors, heatshrink, propeller adapter, the screws you need, mounting plate, spare shaft and spare C-clip, all included). Get extras just in case one gets damaged in a crash.

Four brushless motor electronic speed controllers (ESC) are needed. One that is rated for 18 amps is enough. I have heard good things about the Turnigy Plush ESCs because they support high update frequencies (more frequent adjustments means more stable flight). I got the HobbyKing brand clones of the Turnigy Plush ESCs because they are cheaper.

Some ESCs are "card programmable", meaning you can change their configuration using a cheap ($6) programming card, which is really convenient. Buy the programming card that is compatible with the ESCs you've chosen. I got the Turnigy ESC programming card because they are compatible with my ESCs.

You'll obviously need a battery. You will use a 3S1P lithium polymer battery that is rated at least 20C (this is the discharge rating). 3S means 3 cells in series, 1P means one set in parallel. This will give you a combined 11.1 volts. I suggest a 2500 mAH capacity battery (or more). A general rule of thumb is doubling the capacity of the battery means 50% increase in flight time (due to the extra weight).
More info on batteries here: http://www.rcgroups.com/forums/showpost.php?p=1315199&postcount=1

Make sure you pay attention to the type of connector that comes attached to your battery. You're going to need to get the matching connector. I've personally built my entire helicopter using bullet connectors. 4.0mm bullet connectors for the battery and 3.5mm bullet connectors for everything else (the motors come with 3.5mm bullet connectors). (You can get other connectors such as XT-60 connectors, just watch your polarities, also note that all my pictures show bullet connectors)

You need a lot of heat-shrink tubing to act as insulation when using the 3.5mm bullet connectors. Get different colours so you can tell which wire is which.

You need 12 gauge stranded core wire. It must be 12 gauge or thicker to handle the current. It must be stranded core so that it is flexible. Get different colours so you know which wire is which polarity. The best wire is fine stranded copper wire with silicon insulation, but this is expensive.

Get a good battery charger, it must be able to balance and charge multi-cell lithium polymer batteries. I have one of these Turnigy chargers that have many settings, a LCD, and cooling fan, very nice. I also use a laptop power brick to power the charger since an ordinary wall adapter won't be able to handle the current required.

Get a battery monitor so you know when your battery is low. A lithium battery will become permanently damaged if you drain it below a certain threshold. Having a monitor will prevent you from damaging your battery. I have one of these that reports the status of each cell.

The quadcopter's frame I use is this one from HobbyKing. For $15, you get every part you need, plus every screw and nut you need. In comparison, a stick of aluminum would cost me $10 from Home Depot, which is not economical in comparison. I suggest you buy several frames so you have plenty of spare "arms" if you crash (plus plenty of spare screws and nuts).

The propellers must be in counter-rotating pairs (a "pusher" and a "puller"). I use 10x4.7 APC slow-fly propellers. 10 indicates diameter in inches and 4.7 indicates pitch. Larger diameter means more lift but requires more powerful motors. 10 inches is about right for the frame size I am using.

You'll need a entire flight controller circuit (meaning another entire bill of material), I will talk about this in detail later. Meanwhile, you'll need a USB-to-serial cable (FTDI cable) and an AVR programmer.

Plenty of servo cables are required to connect stuff. A minimum of 6 female-to-female cables is required for the 6 channels from the RC radio receiver to the flight controller.

Velcro tape and double sided velcro strapping will be useful as a lightweight way of mounting things and strapping in the battery.

Get a bubble/spirite level (like this one) to help with sensor calibration.

Make sure you get plenty of extras, stock pile on wire, cables, connectors, heat-shrink tubing, electrical tape, glue, screws, etc.
Flawless instructable the best detailed instructable i've seen..thumbs up?
<p>if anyone has made it can you plz mail me the information how to make it in easier manner </p><p>mail me at deepak.electrical@gmail.com</p>
<p>Hai .. im memal raj i have same like helicopter . its not flying .. so anybody have technical idea pls give</p>
<p>hi there: is it possible to make the same project by using the pascal language .</p><p>i'm a delphi programer but i have never test this language in the electronics projects</p><p>finally thx.</p><p>with all kinds of regards: bravesofts.</p>
<p>how much weight it can lift..please give me ur mobile or mobile number i want more details i am going to do this for my finel year project...</p><p>my details</p><p>phone:9942497717 , 9655867717</p><p>call4karthikeyan@gmail.com</p>
<p>Awesome explanation! We put together a little infographic to make it easier for people to visualize the difference too: </p><p>http://www.dollarhobbyz.com/blog/ask-dh-brushed-vs-brushless-motors/</p>
<p>The PCB is really making me difficult, do we have any other alternative please..</p><p>or can we get it in the market?</p><p>Thank You</p><p>Please Reply...</p>
<p>Hi,</p><p> i want to caliberate the flight control board with out remote. how to make the FCB belive that i'm using a remote by actually using an arduino.<br></p>
<p>Hi there I have a quad assembly and testing program, but after what I mean by a motor that is connected to port d 6 Flayt control engine speed when Tratel between 1750 and 1800 to 1200, but the rest are I Zhstnd parts:</p><p>Nano's control Flayt Speed Contra Emacs 30 Amps Fvtaba 6 channel radio control Emacs engine 2213 2200 mAh lithium-polymer battery 3Sl And the quad is x Engine and engine calibration, and I even got Flayt Test and again I had a problem like this in the links below to see video software Please help<a href="http://uplod.ir/9dvyai16anxg/arm...33.mp4.htm" rel="nofollow">http://uplod.ir/9dvyai16anxg/arm...33.mp4.htm</a>http://h1.asset.aparat.com/public/user_data/flv_video_new/685/909a206786b90312c1d2fe682f3d71532052749.mp4</p><p>hamzh.shahabadi@gmail.com or masih.azin@yahoo.com</p>
<p>How much did this project cost you?</p>
<p>hi i have an arduino uno how can i use that to make the quadcopter. i already bought the frame and cables but i havent bought any electical things i need to use the arduino </p>
<p>You can buy an ardupilot or similar system. Look up &quot;Arduino Quadcopter&quot;</p>
<p>At a mining mum you need a gyroscope and custom code. There are tutorials online.</p>
Great looking project. I was wondering if anyone has tried this basic design using shrouded or ducted fans in place of open propellers?
<p>Search edf quadcopter on YouTube.</p>
<p>Hi,</p><p>That's a great share. Thank you so much. I want to ask a question. I want to build a quadrotor with a camera. I want to control the angle of camera. Is it possible?</p>
<p>Search &quot;quadcopter gimbal&quot; on the internet. You can make one with servos.</p>
<p>Nice build! I'm thinking of building one but maybe using a prebuilt controller instead of the Arduino. However, as the final aim would be to lift a raspberry pi and digital point and shoot camera (total weight 400g) will the configuration you've made lift an additional 400g mass comfortably? Thansks! </p>
<p>It is possible, though you would want a light battery, possibly a 4 cell lipo, and larger props to improve power. I recommend the KK2.1 board for a prebuilt flight controller.</p>
<p>can you give me the working source code for quadcopter,because code given in github was wrong .....</p><p>if anybody have code for ATmega644PA please email me on yogeshmane153@gmail.com </p><p>thanks .....</p>
<p>you give some diagrams here but they are not clear . i can't read component names . i face difficulty to arrange components as shown in figures .they are very small . so can you provide neat and clean diagram frank sir plzzzzz</p><p>thanks</p>
<p>Hi Frank Sir</p><p>This article is very useful to make quadcopter. I read all steps and follow all instructions .</p><p>I buy all components mention in this step 9. but question is this how can i assemble solder connect all components. i don't have any complete circuit diagram.</p><p>so can you provide me a complete circuit diagram of quadcopter to join all components.</p>
<p>hi i have an arduino uno how can i use that to make the quadcopter. i already bought the frame and cables but i havent bought any electical things i need to use the arduino </p>
<p>this the video of the error i posted earlier <br>http://www.youtube.com/watch?v=Qoc4k1FEY6c</p>
<p>I am using a nanowii board for QUAD + with D2830-11 1000kv motors, turnigy plush 18 Amp ESC's and a zippy flightmax 3S1P 5000mah battery <br>the TX-RX is a turnigy 9x V2</p><p>I am able calibrate the throttle individually for all the ESC but when i arm them, 3 of them work fine but the 4th one keeps on doing 'beep'-'beep' with an interval of about 2 seconds</p><p>The rest 3 motors work according to the throttle but the third one(bottom one) keeps on making that noise no matter what i do</p><p>could anyone tell me what the problem is?</p>
i want to download this file but it is asking to create a pro account.my parents will not allow to do this.if it is free i am happy .I am requesting all members of instructables.com
<a href="http://download.instructables.com/ESD/4IGV/GP2DLGHA/RC-Quadrotor-Helicopter.pdf?Expires=1388330747&Signature=cGvfCm4kJEE-mEG1dz55Pbe6fUKd135Z-1ovISYwewdIPbrxIgdfKQz7L7jB6PjNnMC5g1eNXH026Lfg9xm7FMxBAFz7F62Yg6NwBW6USrb6J-RfzCzkA62iKW7wcazeaWfSxkBqZfxiWdy9M-ocqyjLlQ9~1xnn1UbujRji8u0_&Key-Pair-Id=APKAI44RD4FFAGO7EV3A" rel="nofollow">http://download.instructables.com/ESD/4IGV/GP2DLGHA/RC-Quadrotor-Helicopter.pdf?Expires=1388330747&amp;Signature=cGvfCm4kJEE-mEG1dz55Pbe6fUKd135Z-1ovISYwewdIPbrxIgdfKQz7L7jB6PjNnMC5g1eNXH026Lfg9xm7FMxBAFz7F62Yg6NwBW6USrb6J-RfzCzkA62iKW7wcazeaWfSxkBqZfxiWdy9M-ocqyjLlQ9~1xnn1UbujRji8u0_&amp;Key-Pair-Id=APKAI44RD4FFAGO7EV3A</a>
Thanks for your great instruction. But I wonder why you set OCR1n =pw*2? in step 13? Wont it immediately jump out of the loop? <br>And can you let me know what kind of logic analyzer you use? <br>Thanks a bunch! :) <br>
pw * 2 doesn't change pw at all, it only &quot;returns&quot; a number that is twice what pw was, but pw is not modified.<br><br>I use Saleae Logic as the logic analyzer.
This <a href="http://www.nitrotek.fr/helicopteres-rc.html" rel="nofollow">Quadcopter </a> is excellent. I had been really looking forward to if you would be so kind to tell me, where do you ask for the frame kit, fans and motors. I really want to do this job it's just my favorite one thanks for sharing.
Amazing :) wish I had that much talent
can we move the helicomper in the left and right direction
I have a Multiwii Microwii flight controller and I am able to arm the motors but not disarm them. <br> <br>Thanks for the quick response, <br>Nikhil
Hey Frank, <br> <br>I finally finished making the quadrotor but I was wondering how to turn it off. <br>It's kind of a stupid question but are you just supposed to unplug the battery or is it necessary to install a switch
Safety the quadcopter (it's a stick command). There is a LED that indicates safety. Once it's safe, unplug the battery.<br><br>A true kill switch that can handle that much current is not feasible
where do u put the 12 gauge sandard cord wire <br>
How do you use the battery monitor and battery charger ?
hi <br>i cant use avrdude is there any other program to use the bootloader and please if you can explain how to use avrdude and plz plz upload the docs in any site other than google code because i cant use google code if you can please email it to me
Frank <br>could i use Arduino mini for my flight controller instead of designing my own cause I dont understand how to design it at all <br> <br>Thank you <br>Please Reply <br> <br>
Yea, just look at AeroQuad Mini, or MultiWiiCopter, both of them actually use the Arduino Mini
so just to be sure instead of doing step 9 I would just substitute your microcontroller with Arduino mini and still follow the rest of the steps <br> <br>Oh and can you give a link of the Arduino mini to buy because I'm really confused <br> <br>Thank you
Frank <br>My previous comment has been there for a long time and you still havent responded <br>Please reply <br>
He replied right above you,<br> <br> <strong><em>Aug 3, 2012. 10:22 PM<br> Yea, just look at AeroQuad Mini, or MultiWiiCopter, both of them actually use the Arduino Mini</em></strong>
Frank <br> <br>Your Quadcopter is an excellent one. I was just wishing that if you would kindly tell me , from where did you order the frame kit, fans and the motors. <br> <br>If you would be kind, can i have your email address. <br> <br>Thanks.
I like the store Hobby King, that's where I buy everything<br><br>My email is on my website, in the title as an image so spam bots can't detect it.
Hi Frank, <br> <br>Amazing instructable you've created! I'm currently nearing the final stages and am about to program but was just wondering about a couple of things as I'm new to all this and completing this for a school project. <br> <br>Just wondering with the solder jumpers, if the solder jumps across the whole thing (3v3 and 5v as well as ser0 and ser1) or if you choose which to use, and whether all 4 LED's should be lit when it is plugged in for programming, as currently only LED-PWR and LED1 are lit <br> <br>Thanks! <br> <br>

About This Instructable


958 favorites


Bio: I am an electrical engineer. I graduated from U of Waterloo. I used to work for Adafruit Industries as an EE. Now I work for ... More »
More by frank26080115: LED Pocket Watch Easy Cord Wrapping Around Power Bricks Using SMD Components on Breadboards
Add instructable to: