Copter Automation

G'Day Guys

I'm new to the Arduino scene, currently waiting on a Arduino Nano to arrive in the mail so I can set up a remote camera trigger for my current project.

I usually research two to three projects ahead, at the moment building a quadcopter or octocopter to take stills or video has my attention using a Arduino Mega.

Is there a way of setting up the copter to always fly as close to level as possible at all times, the only movements being 360 degree rotation, up, down, forward and back, if I no longer send commands from the hand controller the copter would stay at where it is in the sky, keeping constant height, position, and facing the direction it stopped without me having to hit any other button on the controller to tell it to do so?


There are people who have got things like this working, but I get the impression it's the result of a lot of hard research and development. It would probably be worth your while searching for forums covering quadrotor and helicopter autopilot systems.

Thanks for that PeterH

I am doing something similar. Already it will stay level at one point in space for a short bit. To stay there long you need to measure barometric pressure, otherwise the altitude will slowly change. The gyros keep it level and facing the same direction. All the work is already done below. Except for one thing. It has to tilt to move horizontally. It can only move up and down without tilting. Even a perfect setup with slowly tilt back and forth. You can fix the video later by using image stabilization software.

All for <$100!
Swarm of flying Quadcopters

Quadcopter frame and 4 powerful 12A motors $27:
That’s like $7 a motor and get the Frame Free!
Mother Nature’s carbon fiber…

Props $0.45:

Controller board $12:

Tiny LiPoly batteries $1.09 only 5.0g:

You will also need these to completely finish your flying craft:

@TheMutt, go to and start there. We build quads based on the Mega platform.

I am doing something similar.

Is that video showing your work? I assumed from the setup that position tracking was being done by external cameras rather than onboard sensors. What sort of resolution do you need in the pressure readings to control altitude to a few feet? I would have guessed that visual positioning and range finding would be a more practical approach, but I've never tried anything of the sort.

Sorry that's not my Youtube video, just an example of something to strive for. It is done with IR cameras.

The accuracy is 0.03hPa or 10" altitude. These specifications may be a bit optimistic, but it displays the same 1 foot value when you move it higher and back again to the same place. The absolute accuracy is 1hPa or roughly 30'. I'm using this:

Note that gyros won't do the long-term stabilization in yaw, you need a compass module for that - all MEMS gyros are rate gyros, not absolute, and drift on a timescale of tens of seconds to minutes. Absolute gyros (such as laser gyros) cost (and weigh) a lot more.

Long term position control needs GPS (or in that GRASP lab video, external cameras), since accelerometers drift. Since GPS is pretty poor at altitude that barometric sensor is another handy addition...

Is a magnetic compass viable on an electrically powered copter? I've seen people using accelerometer/compass combinations that look ideal for working out orientation, but I'm not optimistic they'd work with strong magnetic fields all round.

At a minimum, we use the following set of sensors on our quads:

BMA180 triple axis accelerometer
BMP085 barometric pressure sensor
Ultrasonic Range Finder - Maxbotix LV-EZ0
HMC5883 triple axis magnetometer

The range finder is used for detecting the ground when landing. Some people use several of them for (near) object avoidance. And while we have GPS capability, it's not something we use extensively. Most of us fly for the fun of flying, and there's only a small core group that do waypoint flying. Waypoints are large 10-15 feet diameter areas the vehicle passes through. There is just no effective way of cutting that down while keeping the speed of the vehicle (not to mention the limited flying time.)

How does this compare to the one on your list?

Does the rangefinder make it easier to land? Automated? Any videos of it?
I've got it working in another application, I wasn't planning to include it.

Datasheets will answer that question: the 5883 is a 3-axis module. The 6352 is 2-axis.

Rangefinder is used in different ways. Some folks use it for automated landings, where the vehicle will flare (motors power up to come to a hover) an inch or two above the ground before setting down. In my case, I use it specifically for turning lights on or off when I fly at night. At take-off, nav lights and beacons come on when the vehicle is turned on, high intensity LEDs come on when the motors kick in and stay on till the vehicle gets higher than a foot, then they shut off, nav and beacons stay on the whole time. For landings, at about a foot off of the ground, I turn on some high intensity LEDs to see what the vehicle is landing on. During the day, the high intensity LEDs don't turn on, and for now the rangefinder isn't used for anything else. Eventually I will add automated landing but that's so far down the list ...

No video of it because the video camera is usually strapped to the vehicle's video platform. The only times it's not on there is when I'm testing new code and I take the whole platform off of the motor assembly and just fly that.

Very cool! Would be neat to see it.

Is a magnetic compass viable on an electrically powered copter? I've seen people using accelerometer/compass combinations that look ideal for working out orientation, but I'm not optimistic they'd work with strong magnetic fields all round.

Magnets are dipoles so the field strength goes down with the cube of distance - so the leakage fields from the motor magnets are attentuated enormously at the centre of a quadcopter - just have to make sure not to use any steel in the frame but weight constraints usually see to that I guess!

Another approach to orientation is GPS - if you are moving you can get heading data from a GPS unit and then relate air-frame orientation to true orientation. That might have the problem of electromagnetic noise drowning out the GPS signal thinking about it...