AeroQuad Manual
AeroQuad Manual
AeroQuad Manual
A Build Tutorial
Started: FEB152010
Latest: MAR092010
2
TABLE OF CONTENTS
1. Introduction _________________________________________________1
1.1 A warm welcome
1.2 Safety warning
1.3 Reference to forum and to keep updated
1. INTRODUCTION
1.1 A WARM WELCOME
Welcome to AeroQuad! This particular tutorial will focus on providing all the necessary information for
a “start from scratch” build of an Arduino based quadcopter, referred to as an AeroQuad. It will be based
on the recommended parts list already available on the AeroQuad website here
http://aeroquad.info/bin/view/Main/PartsList_v2. However, since there are differences in views on how
to deal with the frame part of the build (buying vs. building), building a frame will not be covered in this
tutorial. A few suggestions of what a frame should have will be made.
2. SHOPPING LIST
2.1 RECOMMENDED PARTS
Priority 1 - recommended Arduino board (x1)
5 DOF IMU (x1)
IXZ500 dual axis gyro (x1)
AeroQuad shield (x1)
Priority 2 – can pick other Motors (x4 plus 1-2 spares)
ESCs (x4)
Battery (x1)
Counter rotating propellers (2 pairs, plus spares)
Radio system (x1)
Miscellaneous
Priority 3 Battery charger
Power supply
Battery monitor/buzzer
2
PRIORITY 1 – these parts comprise the command center of the quadcopter and are the Arduino
(Duemilanove in this case), the gyro and accelerometer sensor boards, the AeroQuad shield, the female
headers, the breakout pins. The Arduino is the computer controller which will do all the calculations for
stability and control. A USB A to B cable is necessary when uploading the code to the Arduino from the
PC. The gyros are for sensing rotational motion around the three axes (x y z) and the accelerometers are
for sensing linear acceleration about those same axes. The 5DOF IMU has a dual axis gyro and a triple
axis accelerometer. The IXZ500 board has a dual axis gyro of which only one will be used to add the
sixth degree of freedom to the IMU. The
AeroQuad shield is a small green circuit board
to which the sensors are soldered to and which
then connects directly on top of the Arduino
through pins. It eliminates the need to have a
breadboard and lots of loose wiring.
PRIORITY 2 – these components include the motors, motor electronic speed controllers (ESCs), the
main battery, the counter rotating propellers, the radio system and other, miscellaneous things. The
ESCs control the brushless motors. The female-female servo extension cables are used to connect the
radio receiver channels to the shield. The 3mm male/female bullet connectors are used to connect the
ESCs to motors and also to the main power distribution line. Finally, the 18 gauge (no thicker than 16 as
that will add unnecessary weight) wire is used to make the main power line, splitting the battery’s output
in a parallel fashion for the four motors/ESCs.
Hacker Style 20-22L motor
TowerPro 2410-09 motor OR Price: $16 ($64 for 4)
Price: $6.40 ($26 for 4) Where: HobbyKing
Where: HobbyKing
PRIORITY 3 – These items include a good battery charger with a power supply and a battery voltage
monitor or buzzer. They are not necessary for the flight of the quad, but obviously are needed for
charging the battery and making sure that the battery is not discharged below recommended levels.
Many different choices are available in
this priority and the known and tested ones
are shown. The HobbyKing battery
monitor requires some minor soldering
while the one on eBay comes ready to use.
Lipo Battery Low Voltage Buzzer Alarm OR Hobby King Battery Monitor 3S
Price: $4 Price: $4
Where: eBay (seller: goodlucksell) Where: HobbyKing
6
3. THE BUILD
After obtaining all the necessary and recommended components, it is now time to start the build. This
part of the tutorial covers the installation of the software, establishment of an Arduino to PC link,
soldering tasks for the sensors and connectors, putting everything together, testing the radio and
calibrating the ESCs, connecting and testing everything, and finally making the maiden flight.
3.1 DOWNLOADS
http://arduino.cc/en/Main/Software Download the Arduino IDE for your operating system. The latest
version right now (February 19, 2010) is the 0018 version. An older, tested and stable version is the
0015 version and is available in the same link under “Previous IDE Versions.” The Arduino IDE is an
environment for developing and editing code, including the AeroQuad code. The IDE package should
come with the necessary USB drivers. Install it.
http://code.google.com/p/aeroquad/downloads/list Download the AeroQuad code. The AeroQuad
code is the code which controls the quadrotor. It is uploaded into the Arduino through the Arduino IDE.
Currently (February 19, 2010), the latest code available is the AeroQuad_v1.6b which is a beta version
of the older v1.5/v1.4 and has some fixes. Unzip it into a folder. (Later, when opening the AeroQuad
code in the Arduino IDE, the file from the unzipped AeroQuad folder which needs to be opened is the
AeroQuad.pde file.)
http://code.google.com/p/aeroquad/downloads/list Download the AeroQuad Configurator_V2.1
(now available for both Windows and Mac OS). The Configurator is a very useful tool when configuring
and troubleshooting the quad. It has displays and commands for motors commands, sensor outputs, PID
settings, transmitter/ESC calibration, and much more. Install the Configurator.
If you are completely unfamiliar with the Arduino, this part of the tutorial should provide information on
how to establish a connection between the computer and the Arduino.
1. Open the Arduino IDE and then the Blink tutorial through File>Sketchbook>Examples>Digital>Blink
8
2. Connect the Arduino to the PC through the USB A to B cable. The USB provides power to the
Arduino automatically and thus an external power is not required, but can be connected anyway.
3. Select the correct Arduino board through Tools>Board>Arduino Duemilanove w/ATmega328
4. Select the correct USB serial port through Tools>Serial Port. If uploading fails, then the wrong
serial port (USB) is selected. Select another one if this message pops up during uploads.
5. Upload the Blink sketch (code) to the Arduino. Upon a successful upload, the message below
should show “Done Uploading.”
6. This Blink tutorial sketch makes the LED next to digital pin 13 on the Arduino blink on and off in
a loop, one second at a time by default. Congratulations, you’ve uploaded your first sketch to the
Arduino.
When satisfied with the LED, it is now time to upload the AeroQuad code in a similar manner.
1. Open the AeroQuad code through File>Sketchbook>Open.
2. Find the AeroQuad folder and select the AeroQuad.pde file. This will open the complete
AeroQuad code with all the tabs.
3. Hit upload to upload it to the Arduino.
4. After a successful upload, the Arduino may be disconnected from the computer.
9
Before soldering, here’s the complete set of components for the IMU. Included in the picture is the
shield with capacitors, LED, resistor and diode, the stackable female headers (Duemilanove pack), the
short-pinned female headers (for sensors), the breakout pins (52 total), and the two sensor boards. In this
case, the shield (v1.6.1) comes as a kit and requires all the components to be soldered by the user.
3. Fix the pins to the sensor board so the pins are vertical to the board or have someone help.
4. Heat the 15 watt iron for at least 5 minutes
5. Solder the pins to the breakout board. Making sure that the pins and the board do not move,
apply heat for about 1 second to both the round metal pad on the sensor board and the pin
sticking out of it (simulateneously), then immediately apply the solder either onto the pad very
close to the iron or onto
the tip of the iron. Make
sure not to touch the
adjacent pads as that will
short them and render the
board useless. Also, after
soldering the first pin,
double check that the pins
are vertical and flush with
the board. If not, heat that
first pin and carefully
attempt to straighten out
the pins.
6. Repeat this for all of the
22 pins (13 on the 5DOF
IMU board and 9 on the
IXZ500 board)
12
1. Start with the 6 or 8 pin pieces, soldering them with the same care as the sensor boards. Insert the
6 and 8 pin pieces from the top of the shield so as to have the black plastic headers on top and
the pins sticking out from the bottom. They must be inserted into the outermost pins (see picture)
in order to then fit the Arduino properly.
2. Solder the 6 and 8 pin pieces from the bottom, making sure they are all sticking out vertically
3. Insert the 2x3 piece from the bottom so as to have the metal pins coming out from the top side
and the black headers being on the bottom side.
4. Solder the 2x3 piece to the shield
13
14
OPTION 1
18
OPTION 2
19
20
Here’s an example of a simple power line, although this particular one has JST connectors at the ends of
the 4 branches instead of the female bullet connectors. This particular power line is for a light quad,
using 20 gage wires, and will not take too much current on the individual branches.
An important thing to remember when making the power line is to consider the frame and its dimensions
in order to make the power line fit into the frame without any problems, such as interfering with other
components.
21
It is also highly recommended to solder a female JST connector directly into the Arduino power-in jack
(or rather in the back of it). This will eliminate the need for using a 2.1mm center positive plug and will
allow for a direct connection to a battery such as above.
After making sure that the radio system is working properly, it is now time to calibrate the ESCs. The
calibration is basically teaching the ESC the range of thrust (lowest and highest power to give the
motors so to say). It will assure equal motor startup later on. The ESC calibration must be done using
the same radio system that will be used on the quadrotor and done individually for each ESC. To
do the calibration on the recommended Turnigy Plush 18 amp ESCs, follow the given steps (these are
also provided in the Turnigy ESC instruction manual):
1. Connect the ESC to the throttle channel of the receiver. Have a motor connected to the ESC as
the motor will provide beeps necessary to hear the calibration steps. DO NOT attach the
propeller or anything else to the motor; simply have the motor connected to the ESC.
2. Turn on the radio and put the throttle stick to maximum position
3. Now connect the ESC to the battery
4. The motor should beep a 1 2 3 beep followed by two short beeps. Immediately after the two
short beeps, put the throttle stick down all the way, the motors should make 3 short beeps
(representing the 3 cells of the battery) and then finally make a 1 long beep, indicating that the
throttle range has been set (calibrated).
Motor-to-motor distances
Which motor to motor distance to pick is perhaps one of the most widely asked question in the quadrotor
community. The simple answer is that there is no one best distance, unless talking about one particular
quadrotor with all its dimensions and specifications known. Here’s some information regarding the
motor-to-motor distances:
Generally, the larger the distance between the motors, the more stable is the quad. The shorter is
the distance, the quicker is the quad to respond. In other words, a larger armed quad will have
slower response times to movements and a smaller armed one will be able to make agile
movements and acrobatic maneuvers. Most aerial video and photography quads will tend to have
larger distances than those for acrobatics.
A good motor distance to start with is around 60cm. This however, depends totally on what the
user wants.
The motor distances should be made identical as accurately as possible
X versus + configuration
This refers to the configuration of the frame. In the X configuration, the quad has two motors on each
of the four sides, while still having 4 motors total. Weird? Not really. This simply means that the front of
the quad is between two of the front motors, the rear between two of the rear motors, and so on. In the
plus configuration, the location of the front is simply the front motor, the rear is the rear motor, and so
on. The plus configuration is generally the more common for beginners. The X configuration is more
useful for aerial photography where the camera needs to be positioned as close to the center of the frame
as possible while still having an open view.
23
The first image above shows the plus (+) configuration in which the motor ESCs are connected
normally: the right motor ESC is connected to the “Right” motor pins on the shield, left motor ESC to
the “Left” motor pins, and so on. The second image (on the right) shows the X configuration in which
each of the four sides (front, rear, right, and left) have two motors and must be connected as depicted.
Arduino orientation
The correct way to secure the Arduino (which also has the
shield and the sensors on top of it) is to have the USB
connector side of it representing the rear side of the quad.
1. Connect the now wired up AeroQuad to the Configurator on the PC. If using Windows Vista, run
the configurator in Administrator mode. If connection does not work, select a different port.
2. In the rightmost flyout, select the Initial Setup option and then click on the blue “Initialize
EEPROM” icon. This will write default values for PIDs and all the other factors into the Arduino
EEPROM memory.
3. Then click the “Calibrate Transmitter” icon and follow the steps provided in the Configurator to
do so. If using the recommended Spektrum DX7 radio with AR6200 receiver, then there should
be no problems.
4. Using the “Calibrate ESCs,” it is possible to calibrate all four ESCs together. Follow the
instructions provided in the Configurator under the “Calibrate ESCs” icon. Using the ESC
calibration feature of the Configurator is potentially dangerous unless all the steps are read and
followed carefully. Once again, DO NOT have the propellers installed yet.
5. Next, follow the 13 steps of the Pre-Flight Checkout list (taken from AeroQuad website)
1. Arm the motor output by moving the throttle stick to the lower right. Increase the throttle to
50%.
2. By hand, roll the AeroQuad to the left. The left motor command should increase. The right
motor command should decrease.
3. By hand, roll the AeroQuad to the right. The right motor command should increase. The left
motor command should decrease.
4. By hand, pitch the AeroQuad down (the front motor should be lower in position than the rear
motor). The front motor command should increase. The rear motor command should decrease.
5. By hand, pitch the AeroQuad up (the front motor should be higher than the rear motor). The rear
motor command should increase. The front motor command should decrease.
6. By hand, rotate the AeroQuad clockwise. The front and rear motor commands should increase
(assuming the motors are wired to rotate in the clockwise direction).
7. By hand, rotate the AeroQuad counter-clockwise. The left and right motor commands should
increase in value (assuming the motors are wired to rotate in the counter-clockwise direction).
8. Using the transmitter, move the roll stick to the left. The right motor command should increase.
The left motor command should decrease.
9. Using the transmitter, move the roll stick to the right. The left motor command should increase.
The right motor command should decrease.
10. Using the transmitter, move the pitch stick forward. The rear motor command should increase.
The front motor command should decrease.
11. Using the transmitter, move the pitch stick back. The front motor command should increase.
The rear motor command should decrease.
12. Using the transmitter, move the yaw stick to the left. The front and rear motor commands
should increase.
13. Using the transmitter, move the yaw stick to the right. The left and right motor commands
should increase.
25
Finally, repeat the above steps, but this time check the responses of the actual motors and cross-
check them with the responses of the motors in the Configurator. The virtual motors in the
Configurator and the actual motors should have the same (correct) responses.
It is now time to put on the propellers. Remember, the front and rear motors spin clockwise when
looking from above, thus they need the clockwise propellers and the right and left spin counterclockwise
when looking from above. If any of the motors are spinning the wrong way, then the only thing that
needs to be done is to swap any two of the three motor/ESC wires of those particular motors. From
this point on, the quad is potentially a very dangerous machine and must be handled with extreme
caution.
After attaching the propellers, turn on the Arduino and the main power. The motors are armed by
bringing the throttle stick to the lower right and disarmed when on lower left. Step back, arm the motors,
and apply thrust slowly. Be cautious and apply thrust slowly at first to assure that all the motors are
spinning equally. Take off, hover, and learn to fly. Good luck!
26
4. LINKS TO PARTS
Arduino Duemilanove
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
5 DOF IMU
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
IXZ500 Dual Axis Gyro
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
AeroQuad shield v1.6.1
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
Stackable female headers
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
Breakout pins
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
TowerPro 2410-09 motors
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idproduct=5111 (HobbyKing)
Hacker Style 20-22L motors
http://hobbyking.com/hobbyking/store/uh_viewItem.asp?idproduct=4700 (HobbyKing)
Turnigy Plush 18 amp ESCs
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idproduct=4312 (HobbyKing)
Zippy Flightmax 4400mAh 11.1v 15C battery
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idproduct=6504 (HobbyKing)
EPP1045 counter-rotating propellers set
www.quadroUFO.com (QuadroUFO)
APC1047 counter-rotating propellers set
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
Female-female servo extension cables
http://carancho.com/AeroQuad/store/ (AeroQuad shop)
Spektrum DX7 Mode 2 radio with AR6200 receiver
eBay (seller: gotheli) or local hobby shop or http://www.toddsmodels.com/default.asp (Todd’s Models)
3mm bullet connectors
eBay (seller: rctimer)
18 and 16 gage wire
RadioShack, other
Turnigy Accucel-6 balancer/charger
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idproduct=7028 (HobbyKing)
12v 5A power supply
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idProduct=6256 (HobbyKing)
Battery voltage alarm
eBay (seller: goodlucksell)
http://hobbycity.com/hobbycity/store/uh_viewItem.asp?idproduct=7223 (HobbyKing)
15 watt soldering iron
RadioShack, other
30 watt soldering iron
RadioShack, other
0.032” solder
RadioShack, other
0.062” solder
RadioShack, other
27