3689691541?profile=originalI wanted to try my hand at a true "DIY" project, designing and building my own micro quadcotper frame and writing my own firmware in C++.  In this post I will describe the frame and build; in my next post I will talk about the firmware.

Excluding stuff I had lying around the shop, (heat-shrink tubing, EC-3 connectors, velcro, cable ties, etc.) the cost came to just under $170:

Here's the frame, fresh out of my LulzBot Mini printer:


Before adding any components, I inserted a velcro tie to keep the battery in place:


Here's the amazing RMRC BLHeli 4-in-1 ESC with motors and EC-3 battery connector soldered on:


Here's the BLHeli mounted on the frame.  I should've used the thinner (4.5mm) standoffs on top and bottom to avoid damaging the circuit!


Next it was time to make a custom jumper for the tiny 3V FrSky-compatible CPPM receiver, which is not 5V tolerant.  I un-soldered the 3V Spektrum header from the Flip32 and jury-rigged a little three-pin jumper connection:

3689691497?profile=originalHere's the super-tiny FrSky-compatible receiver from Curtis "Beef" Fissel (of Beef's Brushed Board fame). This photo shows the receiver after I soldered on a three-pin header, solder-bridged the bind pads, connected it to the Flip32, powered the Flip32 through the USB port bound the receiver to my Taranis, and un-soldered the bridge:


You can see the completed project at the top of this post.  Although I could have used Baseflight or Cleanflight to configure the board, I used my own C++ firmware, adapted mostly from Baseflight.  Having never configured such a tiny vehicle before, I struggled for a while with the PID settings.  Eventually I just divided all the default values by two, and that worked fine, giving me the smooth flight shown in the video.

In a follow-up post I'll discuss the C++ firmware that's flying the 'copter.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones


  • BTW, I'm havin' a heckuva time tryin' to post anything -- DIYDrones server is reeeeeaaallll slow :^( Anyone else having this problem? Mirai DDOS perhaps?  

  • @Simon D. Levy thanks so much, I'm going to build something from scratch and simple using brushed motors and will most likely design some motor controllers for it. The code is the tough part and I'd like to build something that can handle the peripherals etc but I would like to really start from 0

  • @Jonathan: https://github.com/simondlevy/hackflight
    Multirotor flight-control toolkit for makers. Contribute to simondlevy/Hackflight development by creating an account on GitHub.
  • Hi Simon, I'm building a drone from scratch, I'm trying to strip down the baseflight/cleanflight code myself to build it from scratch...would it be possible to take a look at your code?

  • Schweeeet!

  • Those interested in using my frame above, you can find it here: http://www.thingiverse.com/thing:1624049 

  • Developer


    That stuff looks interesting. Deserves its own blog surely?

    Do you have any technical info re conductivity after it is printed? It must be good for low powered circuits at least. I have often wondered about the possibilities of 3D pcb's. 

    Have you tried sendinf high speed signals down it?

  • Awesome work, Phillip -- you've outdone me!  You also figured out something I missed: you get a cleaner design if you un-solder the motor wires that come with the BL-Heli ESC and solder the wires from motors directly to the ESC. 

    Homebrew micro-quads represent!!! ;^)

  • My drone inspired by your build:


    I designed my own 3D printed frame because I enjoy re-inventing wheels...

    Motors are RCX 1304 3200kV.  I used the same props, esc and flight controller as you.  The receiver is an Orange Rx (Spektrum) satillite.  I'm flying with a 800mAh 3s, which allows for 10-15min flights and hover at ~40% throttle.  I prefer the battery be mounted on top for increased stability and convenience.  I will be adding a fpv camera and tx (I'll print a larger battery tray to hold them.

    For testing, I'm running cleanflight right now.  It feels almost too stable with stock PIDs and settings.  I just got it flying last night, so I still need to tweak the settings.  Eventually I intend to play around with HackFlight on it.

    Thanks for the inspiration.


  • Hi Simon and crew, great micro QC design! 

    Would anyone here like to try enhancing the frame design to utilize 3D printed powered circuits instead of soldered wires, to remove weight and build complexity?

    Our company, www.functionalize.com, would like to provide samples of our highly conductive F-Electric PLA filament and another yet unreleased highly conductive (even more so, actually) material we believe can do the job. Our web page shows recent examples of printed Arduino-compatible processor sockets, dual layer circuit design, and more, printable on regular single-head PLA printer.

    Drop me a note if interested, and let's chat! (And Simon, thanks for permitting me to post this invitation.)

This reply was deleted.