From OpenCircuits
Jump to: navigation, search

A multi-rotor helicopter is a flying vehicle with more than one rotor.

The nice people at have asked for our help designing and building a multi-rotor helicopter.

Several people are using small unmanned helicopters with 4 rotors ("quadheli" or "quadcopter").

DavidCary is designing a helicopter that can independently control all 6 degrees of freedom, using at least 6 rigid rotors. Does any other aircraft directly control all 6 degrees of freedom? (In principle, a tandem rotor helicopter with 2 fully articulated rotors can independently control all 6 degrees of freedom. But do tandem rotor helicopters really make all 6 degrees of freedom available to the pilot?).


critical goals

  1. the aircraft must fly
  2. able to mount a typical hand-held digital camera, and record video with it.
  3. two-way communication with a ground station -- commands to helicopter, telemetry to the ground station (IMU sensor and output, estimated battery life remaining, etc.).
  4. low cost
  5. learn something new, and post that knowledge for others to use

nice to have but not critical features

  • sleek design
  • fast
  • goes high
  • everything open-source?
  • generic enough payload tray to swap out different CPUs? (OpenPilot, Gluonpilot, ARM-o-Kopter, etc)?
  • autonomous flight?
    • GPS homing -- records its GPS location on the ground launch site; if radio communications are lost, it returns to that location.?
    • Flightpaths uploaded via computer to the unit - Make a path in google maps/google earth, and have the unit run that path automatically?
  • remote control of camera: record video/snapshot?
  • accurate positioning relative to floor or walls or ceiling in house, to avoid accidentally hitting them? This requires better-than-GPS precision -- would ultrasonics work?
    • set anti-crash ceiling/wall limits
  • accurate velocity relative to floor or walls or ceiling in house ... to gently land, rather than slamming into the ground? This requires better-than-GPS precision -- would ultrasonics work? doppler ultrasonics?
  • safety bumper around perimeter? (Does making this a ducted fan improve its lift?)
  • real-time wireless video transmitter to ground?
    • heads-up display, able to fly it from a first-person perspective?
  • runs Linux?
    • TS-7500[1] : 67mm x 75mm; 400mA @ 5V; runs Linux.
    • gumstix: runs Linux
  • able to lift a 1 Kg payload?
  • weight well below the "fifty-five pounds" FAA recommended weight limit?[2]
    • weight less than 10 pounds to meet the First Person View (FPV) recommendations?[3]
    • weight less than 2 pounds (and electric powered) to meet the "park flyer" limit?[4]
  • control the helicopter with a wii remote (Bluetooth HID)
  • more sensors: air pressure (barometric pressure altitude), air temperature, humidity, air speed, communication signal strength, etc.?
    • perhaps eventually automatically "catch an updraft"?
  • Would it help to pan/tilt the camera on an independent gimbal auto-stabilized camera mount gimbal?[5]
  • automatic docking station for battery recharge?(perhaps similar to the one Professor Jonathan How uses?)
  • can be dressed as an ominous-looking hovering black sphere? [6]
  • can be dressed up as an Imperial probe droid?
  • runs image-recognition software on-board?
    • flight control based on images?

motors and propellers


  • decent place to mount the motor controllers

Is it better to put one big battery pack in the middle (simpler wiring), or several smaller battery packs as far as possible from the center (bigger rotational inertia for the same mass, so easier to stabilize pitch, roll, yaw)?



If the aircraft transmits both telemetry data and live video to the ground to the ground, is it better to use 2 independent transmitters on the aircraft, or to embed all the information into the video stream and use 1 transmitter?


"Autopilot code projects, by processor/OS type" at DIY Drones[7] lists over 2 dozen (!) autopilot projects, many of them specifically designed for multi-rotor helicopters. That list includes:

  • Announcing ArduCopter, the merger of the ArduPilot and AeroQuad projects![8]
  • the NG Multikopter Project wiki [9]: a open source community project to build a modern autonomously flying Multicopter.
  • ArduPilot [10] is a full-featured autopilot based on the Arduino open-source hardware platform. It uses infrared (thermopile) sensors or an IMU for stabilization and GPS for navigation. Optionally uses XBee modules for wireless telemetry. Jose Julio at DIY Drones [11] uses it in his two quadcopters. He uses 4 standard props (No counter-rotating !).
  • the R/C Pilot Project [12][13]: an open source project to design a R/C Autopilot and a R/C Ground Station such that GPS and other telemetry from the plane is displayed.


DIYdrones recommends following the The Remote Control Aerial Photography Association guidelines[14].


It appears that most modern small electric aircraft use so-called "brushless DC motors", each one driven by its own "BLDC ESC". (These are easily recognized -- BLDC motors have exactly 3 equally-fat wires that go into them, which come from the BLDC ESC -- as opposed to most electric aircraft a few years ago, which used brushed DC motors with exactly 2 equally-fat wires).

We discuss brushless DC motors and BLDC ESCs in more detail at motor driver#BLDC

unnecessarily complicated equations

In hover, each rotor gives (equations from Paul Pounds et. al 2004?)

 T = 2 p A v_i^2
 P_i = sqrt( T^3 / 2 p A )


 T is the thrust produced
 p is the density of air, approximately 1.2 kg/m^3 at sea level and 20 'C.
 A is the area of the rotor disk
 v_i is the induced air velocity at the rotor
 P_i is the power induced in the air.

For a quad-rotor helicopter weighing 4 kg, with a 30 per cent control margin, and a rotor radius of 0.165 m, such as the Australian X-4 Flyer, the above equation results in about 101 W of power induced in the air per rotor. With a shaft-to-air rotor efficiency of 90% that requires 112 W of shaft power. With a battery-to-shaft motor efficiency of 50%, each rotor pulls about 224 W of power from the battery at full thrust.

To double thrust requires either pulling almost 3 times as much power from the batteries, or using rotors with almost 3 times the diameter.

APM-compatible quadcopter platform

  • User: CodeThatThinks has posted: Drawings, Schematics, Firmware for a ArduPilotMega (APM)-compatible quadcopter platform [15]

FIXME: If I'm designing a custom PCB for a quadcopter or hexacopter, what do I need to do to make it compatible with ArduPilotMega (APM) so I don't *also* have to re-write a bunch of code from scratch? (Designing one big custom PCB with the APM stuff and the one extra thing I wanted to add seems like it will weigh less than buying some off-the-shelf APM board and wiring it up to a separate board supporting that extra thing).

Indoor navigation

Indoor navigation is more difficult in some ways than outdoor navigation: GPS receivers often don't work; it is now possible, and even easy to crash into the ceiling; etc.

However, there are very light-weight sensors that work better indoors than outdoors: light sensors are not swamped by light from the sun; sonar sensors can measure XYZ position pretty much all the time, unlike outdoors where sonar only (?) seems to work "relatively close" to the ground, and even then only gives altitude and not X or Y; etc.

ground station

  • User: CodeThatThinks has posted: ground station for multirotors: acts as a USB to RF bridge for ground control, FPV, and telemetry for multirotors.[17]

what can a helicopter do besides hover in the air?

  • "Cooperative Grasping and Transport using Quadrotors" [18]
  • "Construction with Quadrotor Teams" [19]
  • "Aggressive Maneuvers for Autonomous Quadrotor Flight" at UPenn’s GRASP Lab [20], [21], [22], [23], [24]
  • (FIXME: I hear there is a web site or two somewhere that describes how to take snapshots in flight, then after it lands, pull the SD card out of the camera, and then how to stitch the photos into an aerial map?)


way too many links here. Please delete the ones not relevant to multi-rotor helicopters.

  • Wikipedia: quadrotor is a nice introduction. But what are these "three rotor craft" it mentions? (TriCopter? Tri-copter?)
  • the OpenPilot Wiki [25]: open source community
  • Vicacopter[26] helicopter autopilot claims to be "the only English language source code for a fully functional helicopter autopilot that you can download without paying for." "Can fly with under $100 of parts, not including the airframe."
  • The Gluonpilot wiki (autopilot) mentions "Quadrocopter" [27]
  • MikroKopter wiki [28] semi-open-source "for noncommercial use"
  • QC-Copter Wiki [29] : updates all motor speeds at 500 Hz.
  • the Wolferl Open Source QuadCopter (Universal Aerial Video Platform) wiki [30]. Apparently NS Rana at DIY Drones uses it in a very low-cost-frame quadcopter[31].
  • QuadroCopter Wikia [32]
  • ARM-o-Kopter wiki [33]
  • comparing some currently known projects of airborne non-commercial or open community projects of multicopters[34]
  • DIYdrones: "Newbie Quadcopter Questions" [35]
  • DIYdrones: "Quadcopter Basics" [36]
  • DIYdrones: "There are a zillion quad- and tri-copters out there" [37]
  • DIYdrones: Quadcopters discussion forum [38]
  • DIYdrones: Return to Home Quadrocopter (UAVX) [39]
  • DIYdrones: "There are loads of open source quadcopters out there, but they're all ..." [40] Is it possible to design a helicopter that avoids this problem?
  • the "ChRoMicro - Cheap Robotic Microhelicopter HOWTO" [41], [42] describes "how to build a 300 g helicopter with embedded Linux and Bluetooth datalink from off-the shelf components for less than 500 EUR." Can these ideas be adapted to helicopters with more rotors?
  • Quadrotto: Project Quadcopter
    • Quadrotto: Project Quadcopter [43], [44]. Is there any way to avoid making the same mistakes all over again, and instead make fresh new mistakes? :-).
    • Project Quadcopter [45] "altimeter is ... not our only altitude sensing device. We ... plan ... an ultrasound sensor for landing and low altitude flights. ... they work pretty well out to about 4 or 5 feet." ... apparently using an ARM cortex-m3 microcontroller
    • the Quadrotto project[46] uses an ARM-based gumstix + an Atmel AVR ATMega128-based robostix
    • the Quadrotto Project[47]
    • Project Quadcopter: "try make ... decent explanation of the Kalman filter for non-mathematicians" [48]
    • Project Quadcopter: "Data logging and Kalman Filtering" [49]
  • RCgroups: Multi Rotor Helis discussion forum [50]
  • Make magazine How-To: Quadrocopter based on Arduino[51] "The Quaduino NG & AeroQuad RC projects both make use of Arduino boards"
  • AeroQuad discussion forum [53]: dedicated to the design and construction of the AeroQuad, a remote controlled four rotor helicopter ... that uses the Arduino (Mega or Duemilanove with 328P) microcontroller as the flight control board, with a "AeroQuad Shield" that connects to all the other electronics -- radio receiver, gyros, accelerometers, and off-the-shelf ESCs. An excellent tutorial showing how it all goes together with whatever frame you have; it claims "A good motor-to-motor distance to start with is around 60cm." (2 foot)
  • "The Quadcopter, or build your own Drone" by Dave Freeman. CruchGear 2010. "Tuning the Quaduino" shows the effect of too much P in the PID. "Having fun with the AeroQuad".
  • microdrones [54]
  • whatnick blog: "quadcopter taking shape"; and other quadcopter posts ... he apparently has a Gumstix Verdex and a BeagleBoard -- are either one of these going on the quadcopter?
  • WSN wiki: wireless sensor node platforms -- perhaps we could use one of these boards for our wireless communication, or perhaps make incremental improvements, rather than designing yet another one from scratch?
  • Dr. Igor Bensen designed the eight rotor helicopter[55] on the front page of Popular Mechanics 1982 September.
  • Google: "Real-time stabilization of an eight-rotor UAV using optical flow"[56]
  • kapteinkuk built a low-cost quadrotor flight stabilizer based on a Atmel AVR ATMega48 [57]; connected to a standard RC receiver, 3 gyros with ordinary analog output, and 4 ESCs. That's all the electronics.
  • "Intelligent Aircraft Fly, Cooperate Autonomously"[58]: ScienceDaily 2006. "MIT researchers, in collaboration with Boeing's advanced research and development arm, Phantom Works ... Professor Jonathan How, who heads the research team, believes it is the first platform to publicly demonstrate sustained, coordinated, autonomous flight with multiple UAVs. ... miniature "quadrotor" aircraft - helicopters with four whirling blades instead of one ... an indoor positioning system ... The team has also designed an automatic docking station that allows the UAVs to recharge their batteries when they are running low. ..." more information:
  • "Towards Dynamically-Favourable Quad-Rotor Aerial Robots"[59] by Paul Pounds, Robert Mahony, Joel Gresham (2004?): "the Australian National University’s ‘X-4 Flyer’ platform." "The use of inverted rotors [pusher props] is shown to produce favorable stability properties"
  • "Quadcopter, Hexacopter, Octocopter ... UAVs" by Markus Waibel. IEEE Spectrum 2010.
  • "ArduIMU Quadcopter 4" by Jose Julio 2010
  • RepRap wiki: "RepCopter": early stages of a project to design a quadcopter frame that can be printed on a RepRap plastic extruder.
  • ArduPilotOne: A universal autopilot system for the ArduPilotMega platform.[60][61][62]
  • A simple flight controller for multi rotor helicopter: Inexpensive: $20 for the main board. $10 for the gyro board. [63]
  • "KapteinKUKs Simple and Low Part Count Quad, Hex and Tricopter Flight Controller" based on Atmega48 and 3 HK401B gyros and lots of hot glue.[64]
  • "Stopping drift in hovering quadrocopter"[65]
  • Go to and search for "quadcopter": there are dozens of projects.
  • The KeaDrone is a three axis stabilizer/lock PCB used for RC helicopters (Accelerometer AND Gyro). It tries to hover your helicopter at a fixed place, even with changing winds. (It was originally designed to work with a low-cost 2-rotor coaxial rotor helicopter). open-source. "24grams including GPS". Board includes: Microchip PIC24HJ64GP204, ST LPY5150 gyro, ADXL345B accelerometer.
  • "sFly Quadrotors Navigate Outdoors All By Themselves": "the sFly project, led by ETH Zurich's Autonomous Systems Lab, ... The only thing that sFly has to go on is an IMU and an onboard camera (and an integrated computer), but using just those systems (and a "very efficient onboard inertial-aided visual simultaneous localization and mapping algorithm"), sFly is capable of navigating all by itself. ... Each quadrotor is completely autonomous, but they're also ... stream stereo imagery back to a central computer over GSM or Wi-Fi that ... combines it into an overall 3D model of the environment as a whole."

Personal tools