Drone Parts

Continuing on with the drone helicopter project, the following is a high-level list of the materials used.

Part Vendor Price
 Syma s031 helicopter (tentative) Amazon  $58.65
 ADXL345 accelerometer Sparkfun  $27.95
 HMC5883L magnetometer Sparkfun  $14.95
 SR-92 GPS Cute Digi  $47.90
 Arduino Uno Sparkfun  $29.95
 microSD Shield Sparkfun  $14.95

Total price tag (not including minor components): $194.35.

The power will come from the helicopter’s internal battery, which is rated for 12 minutes of flight time.  The battery operates at 9.6 volts, which is within the operating range of the Arduino Uno, which, in turn, powers the rest of the components listed above.

Alternatively, I might upgrade the helicopter to the FXD Eagle A68689.  This model is rated for 25 minutes of flight time and is a bit larger, which suggests it will handle the weight of the onboard computer better.  The battery on this model is a 7.4 volt, which is still within the operating range of the arduino.

Drone Architecture Update

In my original post about the drone project, I had mentioned that the wayponts would be saved on an SD card, which is read via the Adafruit SD card breakout.  Since that post, I have narrowed my search of RC helicopters to the point where I no longer feel the need to use the Teensy micro controller to save weight.  Instead, I will use a regular Arduino Uno.

By using the Arduino, I can shift the architecture of this project away from the model of having a pcb board with breakouts for each of the components and move to a shield-style architecture.  The Arduino is styled in a way that allows the developer to stack modules on top of each other like legos.  Using this approach, I will no longer use the Adafruit module, but rather the Sparkfun SD card shield. 

A side benefit of migrating to the Arduino is that the voltage regulation is built in.  I will not need to build a voltage regulator to power the system, but rather pull the regulated voltage off of the Arduino.  The downside is that the Teensy has more I/O, but I can’t imagine that I’d be using all of the I/O on the Arduino, let alone enough to require more than what the Arduino supplies.

Drone: Overview

Since my garage is now in storage mode again (my wife has emptied the basement to repaint), woodworking has been put aside for a while.  I’m turning my attention back to electronics and have taken on a new project.  I’m looking to build a drone helicopter that will navigate to pre-determined GPS coordinates.

Here is the high-level approach:  Using a cheap, store-bought rc helicopter, I will remove the RC portion and replace it with a micro controller and a few sensors to interface with the helicopter’s controls.  Instead of the receiver managing the servos and speed controllers, the micro controller will do the driving using the arduino servo library.  GPS coordinates will be stored on an on-board SD card in a text file that can be read by the micro controller.  The micro controller will have three sensors attached: a GPS module, a 3-axis magnetometer, and a 3-axis accelerometer.  The magnetometer and the GPS will manage navigation and the accelerometer will manage the stabilization and motion of the helicopter.  In a later version, I plan to add an ultrasonic transducer (i.e. ping sensor) to augment the navigation, but let’s learn to walk before we learn to run.

Here is my strategy…

First, I’ll take the helicopter and locate a few things:  Battery, rc receiver, speed controller of the main rotor, and speed controller for the tail rotor.  With each of these noted, I will remove the  rc receiver.  How much does this unit weigh?  This is a good question to ask since it gives me a little wiggle room for the weight of the computer(micro controller, sensors, and board) I’ll be adding.  Since the toy helicopter I plan to use will be fairly small, weight is the primary concern.  While I would like to use a regular Arduino, I think this is a great opportunity to use a Teensy.  Every ounce saved will help.

Next, I have to power up the added computer.  Tying into the existing battery, I will add a voltage regulator circuit.  While this probably wouldn’t be necessary (depending on the voltage of the battery) if I were using an arduino with a built-in regulator, the Teensy does not have on-board regulation.  The board will need to have regulated 5v and 3.3v output.  One that exists, I can add the Teensy micro controller, the GPS, the magnetometer, and the accelerometer.  The GPS is the largest of all of these.  I plan to tuck it into the body of the helicopter where the RC receiver once sat and wired to the board with some hookup wire.  The rest of the sensors and the SD card breakout will mount directly to the board, which will be mounted to the bottom of the helicopter.

In following posts, I’ll go into detail on how the sensors are used and how the drone computer is designed.