A step-by-step guide to building my own pentacopter:


Everything (software and hardware) is open-sourced and publicly available.

flight video:



Simulation software:


Frame design:


Views: 737

Comment by John Hestness on July 21, 2018 at 11:11am

Cool project, great write up, and thanks for sharing! Can a pentacopter survive the loss of one motor? Have you tried it? Do you have another reason for using five?

I see you mentioned that you did calculations for using tilted rotors, but the rotors in the picture appear flat and level with the frame, is that correct? If so, then the two ccw rotors would have to spin faster than the three cw rotors to cancel out torque? I suppose that would introduce a small inefficiency unless you sized the motors differently? Thanks. 

Comment by Auturgy on July 21, 2018 at 2:45pm
The pentacopter is interesting, but you’ve implemented a stochastic controller too? That I’d really like to see a write up on!
Comment by Tao Du on July 21, 2018 at 3:53pm

Hey John Hestness,

I haven't tried it that sounds like a really interesting idea. I tend to believe it can survive the loss of one motor. Of course, the controller code needs some modification accordingly. In ArduCopter, I guess it could be something like this:

- Added a new flight mode in ArduCopter.

- When the new flight mode is triggered, turn off one motor and update the roll, pitch, yaw, and throttle arrays in AP_MotorsMatrix.

You are right, the five rotors are flat and level, and it was indeed a bit inefficient. This was reflected in Figure 10 in our paper (https://people.csail.mit.edu/taodu/copter/copter.pdf). The 'optimized' version has five tilted rotors.

Comment by Tao Du on July 21, 2018 at 4:02pm

Hi Auturgy,

Not sure I understand what a 'stochastic controller' is. I guess you mean the LQR controller in our old paper demo and in the software. The code of our LQR controller is here:


I wish I could have a writeup for it too if I had enough time.

Comment by Auturgy on July 21, 2018 at 4:25pm
Cool. Thanks. As you know, EKF is a LQ estimator, so adding a LQ regulator = LQ controller = stochastic controller.
I mistakenly assumed you’d worked one into ArduPilot, but it’s your sim. Still, nice to see!
Comment by Tao Du on July 21, 2018 at 4:26pm

I see. That makes sense. Thank you for your clarification!


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service