I 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:
- 3D-printed frameΒ βfreeβ!
- Flight Controller: Flip32 (Naze32 clone), with Spektrum RX mount removed to expose 3V. $15
- Receiver: MicroFrX by Curtis Fissel. Β $16.
- ESC: BLHeli 4 in 1 ESC β 12A, with male EC-3 soldered on. $34
- Motors: RMRC Black Series 1306 3300kv ( 2 CW, 2 CCW) $56
- Props: 3030Γ3 glass composite $8
- HQPROP 3030X3 β BLACK CW
- HQPROP 3030X3 β ORANGE CW
- HQPROP 3030X3 β BLACK CCW
- HQPROP 3030X3 β ORANGE CCW
- Battery: Turnigy nano-tech 1000mah 2S 25~50C Lipo Pack $8
- Fasteners:
- M3 nylon machine screws (20mm, cut down to around 5mm) (4) $8
- Nylon 6/6 Male-Female Threaded Hex Standoff, 4.5 mm Hex Size, 5 mm β¦ (8) $13
- Dese nuts (4) $11
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:
Hereβ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.
For more detail: DIY Mini Quadcopter with 3D-Printed Frame and Custom Firmware