Arduino Quadcopter

Hello! I understand this isn't as much of a coding question as it is an electronics question, but ill just ask it anyways. I have decided that I would like to explore the capabilities of the Arduino in the realm of flight; namely the quadcopter. Over the past week or so, I have come up with a parts list of what I believe will work together to create this flying contraption. Personally, I do not understand the world of electronics too well, and I do have a limited budget, so I am wondering if anyone out there will be able to tell/comment/advise me on my choice of items, and if they will all work nicely together. Thanks, all!

[u]The board (naturally)[/u]

[u]The battery[/u]

[u]The battery's charger[/u]

[u]The motors[/u]

[u]The propellers[/u]

[u]and the electronic speed control (ESC)[/u]

When you post links, use the LINK toolbutton in between the computer monitor screen symbol and the envelope symbol. Click the LINK button, paste the URL (link) into the FIRST box that you are prompted with, click OK. Type a word (like "here" or "this" (without the quotes) into the SECOND box you are prompted with, click OK. The result is this:

The board (naturally)

The battery

The charger

The motors

The props


Doesn't that look better ?

(what about the frame and the electronics for the flight stabilization controller (ie: accelerometer and maybe GPS ?)

haha thanks. First time using this forum. I think i'd like to get the electronics worked out first, then worry about the frame and balancing

Then you might want to think about using a Nano or Micro or Pro-Mini. Note the Pro-Mini is only 3 cm x 1.5 cm and is slightly smaller than the Nano or Micro. The Pro-Mini however does not have onboard FTDI (USB to TTL converter ) so you need to use something like the FTDI BASIC, but there is an advantage to having an external FTDI because you don't need it when you are using the board unless you are using the serial monitor which you wouldn't be doing when it is airborn. It is only needed to download sketches and has the added advantage of being able to load sketches the same way into a standalone ATmega328 chip which you can get with an OPTIBOOT bootloader preloaded for $3.50. ATmega328 with OPTIBOOT bootloader preloaded. (16 Mhz crystal ,18 pF caps , and reset button not included)

I bought a dozen and use them when I want arduino functionality in a standalone perfboard project. It has all the features of an UNO without the connectors and FTDI chip and at $3.50 is 1/10th the cost.

You could use this


this might help...

Ahh so it would save me money if I where making more than one, as I could just reuse the same FTDI for multiple bootloaders, and weight as the single chip is much lighter. Alright, Ill have to look into that. Does the ESC look like it will talk nicely to the arduino? I found a handy guide that shows how to callibrate an ESC to an arduino. Would that work for my ESC choice?

There are basically only two things you need to know about ESCs. 1- Every Make & Model has their own programming setup sequence which is unique to that product and you MUST execute that sequence to setup the ESC. There are multiple features/functions/modes that must be configured to avoid disaster. Once you have done it once or twice using the tone sequences, you can do it faster each time until you can do it blindfolded from memory by memorizing the tone sequences.

2-ESCs are controlled using the SERVO library, NOT using PWM. ESCs use SERVO signals , which are NOT PWM as you know it. (if indeed you even know anything about arduino PWM). Instead, it is called PPM which is a form of PWM with some very critical differences in the timing.

yes, I have worked with PWM before. So, from reading the setup guide, I understand that the ESC is generally callibrated using the maximum and minimum signals from a remote control transmitter. I would then suspect that it is possible to callibrate the ESC using a program constructed around this servo library instead of using a RC transmitter?

It’s actually more complicated than that.
Here are the modes/features that must be programmed for the ESCs I used on my scratchbuilt quadcopter
that I made using the Feytech FY-90 Flight Stabilization Unit (FSU)

2- battery type
3- cutoff mode
4- cutoff threshold
5-startup mode

huh. There doesnt seem to be anything about programming the other features in the user manual .
What do the other features do?
Please excuse my ignorance haha

If for some reason the other ESC does not have those features, could this be a better option?

Looks like your ESC may be designed specifically for quadcopters and therefore lacks the other mode that fixed wing ESCs have. It seems you don't have to worry about it then.

awesome! so it looks like everything should operate smoothly then.


You can't use a pure Arduino board for flight. At least not without over complicating things by adding separate REQUIRED sensors.

You need at a minimum accelerometers and a gyroscope in order for the atmel processor to do anything. Without those, you might as well just use a complicated mix on your radio.

You first need to understand the hobby side of flight which includes battery, motor, speed controller, and prop selection. Then you need to learn to fly it (if you don't know already). And only then can you start tweaking code which alters flight behavior, ONLY after learning to tweak the settings ( PID variables) for your particular flight controller.

You are off to a good start, just find a board which is actually made to be a flight controller. A good, reliable, cheap ($23) one to start off with is the KK2.1.5 board from Hobbyking. (get your lipos from Hobbyking, much cheaper) All programming is similar to generic Atmel/Arduino, with much help available. Also, your setup looks good (I actually fly 8 of those motors on an X8 Arducopter) but be sure to buy off-the-shelf parts to make the learning curve less painful.