Magnolio: An Open Source 3D-printed quadcopter

Fork me on GitHub

new drone

So far, all of the drones I've built have been modifications or customizations of some drone I bought. I've basically used my own drones for testing new features that I would include in other drones. This means my faithful quadcopter does not actually have an optimized design because it has been modified according to the needs of the moment. Indeed, it will only last 5 minutes in the air (I know...)

So now I have decided to build my own quad-copter from scratch, with an optimized design from the beginning. This means I'll use all of the experience gathered these years into the design. Furthermore, most of the parts that conform the body of this quadcopter will be 3D printed in plastic, on my RepRap printer, and designed using OpenScad. The rest of the parts for the structure are carbon fiber tubes for the arms and the landing skid.

I've named it Magnolio, after a beautiful old tree on my backyard. As the title suggests, this project is Open Source, with Creative Commons v4 Share-alike license.

Magnolio is a work in progress, but so far I have chosen motors, blades, electronics and there is already a first version of the 3D design, check it out on the Github repository. For now, only the 3D design is available, but I intend to include everything, even building and customization instructions.

This post covers the overall design including motors, electronics, structure and materials. I'll be posting details on the design of each part of the 3D printed parts, as well as the modifications that arise from the building process. In any case, the code is already available on the Github repository.

Motor-Blade design

In order to be able to use the batteries that I already have, here is the first design restriction: 3S LiPo. That is, 11.1v batteries.

The idea is to use large blades and not so fast motors. This will theoretically yield better efficiency and hence, longer flight time. In that interest, I have chosen these motors from Hobbyking:

620kv motors from Hobbyking

They are 620kv, which means at 11.1v they spin at 6882 rpm, as opposed to the 12210 rpm of the motors on my current quadcopter. With 12x4.5 blades they should deliver 0.94kg of pull each, which is more than enough to keep the quadcopter up on the air in hover state and also move around easily.

I also bought not only the 12'' blades, but also 14'' and 16''. Now, of course the longer the blade, the harder it is to change its speed, so after some tests, I'll stick with the one that gives the best flight time - agility combination.


I have some spare ESCs which used to be part of my crashed hexacopter. They are perfect for these motors and they came flashed with the Rapid ESC firmware, which means they have a fast response time.

eRC fast ESC. Image: Hobbyexpress

The control Electronics is Arducopter, with its original firmware.

The following power distribution PCB from Infinity Hobby will be used to connect the ESCs to the battery and the control electronics:

Power distribution PCB for ESCs and control electronics (Image: Infinity Hobby)

3D Design

This was my first experience with OpenScad and I must say it was much easier than I expected. The software really accomplishes its objective of closing the gap between developers and designers. So far I had been using Autodesk Inventor Fusion, which is good software, but a little limited. OpenScad is the best choice for Open Source Design, as the source files contain code (syntax is similar to C). Furthermore, OpenScad allows for really easy customization of every design, as every dimension is a variable which can be modified in value. There is plenty of comprehensive information on the OpenScad documentation page. I recommend going through the First Steps Guide, which will give you basic notion of how it works, and then just start working on your design referring to the Language Guide as you code.

Here is a disassembly of the design:

Disassembly of Magnolio, all parts visible.

Disassembly of Magnolio, all parts visible.

What follows is a complete list of the 3D printed parts that conform the design, with an interactive view of each of them (using Sketchfab). I will update this post with links to the detailed description of the code used to generate each of these parts, which I will post as I print them.

Main Body

This part houses the power electronics and joins the main body with the "arms" that contain the rotors. Here is the tutorial that explains in detail how this part was designed.

Main Body (drag and drop to rotate, scroll to zoom)

Motor - Arm Support

Used for joining the motor with the carbon fiber tube arm. Of course, there are 4 of these in the model.

Motor - Arm Support (drag and drop to rotate, scroll to zoom)

Lid for Main Body

Cover for control electronics and holding GPS antena.

Lid (drag and drop to rotate, scroll to zoom)

Batery Holder Case

Designed to hold a 3S 5Ah Lipo battery.

Battery Holder Case (drag and drop to rotate, scroll to zoom)

Batery Holder Base

This part goes fixed below the main body structure. Serves as a fixing plate for the battery holder. It is exactly the same as the Top Layer part, which contains the control electronics.

Batery Holder Base (drag and drop to rotate, scroll to zoom)

What's Next?

Stay tuned for upcoming posts with step-by-step descriptions of the code that generates each part!

Leave a Reply

Your email address will not be published. Required fields are marked *