3D Printable Drone
Flying a drone can be fun, but what about flying a drone designed by you?
For this project, I'll make a drone shaped like a skydiver, but you are free to let your creativity flow and design a drone shaped like a spider, dinosaur, chair or whatever you can think of.
Designing your own drone can be quite hard and it might take a couple of printed frames before everything works out and fits (You could use a soldering iron to correct small mistakes). I highly recommend to 'assemble' your drone in your CAD program before printing to check for errors (instead of rotors you can use a disk with the same radius to check for potential collisions).
Supplies
List of materials:
- Flight controller (the brain of your drone)
- Four brushless motors (two clockwise, two counter-clockwise)
- Four propellers
- Electronic speed controller (ESC)
- RC receiver and transmitter
- Battery
- Nylon M3 screws, nuts and spacers
- Elastic bands and tape
- Optionally: GPS, camera, sonar or LEDs
Required tools:
- 3D printer
- Soldering iron
- Screwdrivers
- pliers
Designing Your Drone
For this project I will use Tinkercad, but you can choose any 3D CAD program you like, as long as you can export it to your 3D printer. Before starting I changed the raster dimensions to the maximum dimensions of my 3D printer so I can easily see whether it will fit or not.
You can design your drone in any shape you like as long as the structure is sufficiently strong and you can mount all required hardware on the frame. Be aware of the rotor diameter when locating the motors so your propellers won't collide with each other or the structure of your drone.
Also:
- Take in account the location of connectors and cables so you'll have sufficient space.
- Make sure your screws will fit (correct diameter and length).
- Make sure you can reach the USB port of your flight controller to change settings.
- Determine location for mounting RC receiver and battery (and optionally a camera and GPS).
For this project I'll design a drone shaped like a skydiver flying through the air. The motors will be mounted on its hands and feet and the flight controller is located in the body. The first picture is a screenshot of Tinkercad with the design of the skydiver and motor mounts already completed.
To mount the motor on the frame I need 4 holes for screws and sufficient space for the cables, check the motor specifications for sizing and location of these holes (2nd picture are the dimensions for my motor). In addition, I have added a hole in the middle of the screws for the axis of the motor. In the file 'Motor holes.stl' you can find the correct dimensions of the holes of my motor. To add these holes to your drone using Tinkercad you can simply change the material to 'hole' and move it to the location where you want to put your motor. Next you select the holes object and the object you want the holes in and group them together (Ctrl + G).
To mount the flight controller and 4-in-1 ESC, which are both 20x20mm and can be stacked, I added four holes in the body of the skydiver at a distance of 2 cm (from centre to centre).
Next, I added some holes at the shoulders and upper legs (3rd picture) for the landing gear and top cover, and printed the frame (4th and 5th pictures).
Finally I designed the top cover (last picture) for the drone which will carry the battery and receiver, and printed this part too.
I have added the stl files for the frame (SkydiverDroneFrame.stl) and battery mount (SkydiverBatteryMount.stl) to this step. If you want to print my design, check if all holes are right for your setup first.
Assembly
First I soldered all motors to the ESC. The two clockwise (CW) motors should be opposite to each other and the two counter-clockwise (CCW) too (see first picture). Next you mount the ESC and motors on the frame. If one of the motors is rotating in the wrong direction you can swap two wires or change this in the settings (if supported by the ESC). When you check the motor direction, do this without propellers!
My ESC runs Dshot600 and can change the motor direction via the settings. To do this you first need to connect the ESC to the flight controller and connect the flight controller to your PC via USB. Next you start BLHeliSuite and press on 'Read Setup' (3rd picture). Between the disconnect and check buttons you can select the ESC of the motor by right-clicking on it and change the motor direction in the settings. After you change something you need to click on the Write Setup button to safe the changes you made.
Check the specifications of your flight controller to find all ports and connections of your flight controller. The fourth picture shows the connections of the Hakrc mini f4 flight controller I used. Because I don't use a camera or GPS I only needed to connect my receiver (FlySky IBUS) and ESC to the flight controller.
The last three pictures show the drone fully assembled from top, bottom and side angle.
Betaflight
Betaflight is a program you can use to change settings and update the firmware of the flight controller. Instead of Betaflight you could also use inav or cleanflight.
In the ports tab you can set the configuration for the ports of your drone. Most important in this tab is enabling Serial Rx for your receiver. According to the Hakrc f4 mini specifications (see 4th picture previous step), IBUS is connected to RX6 which means that I should enable Serial Rx for UART6.
The configuration tab allows you to change the configuration of the drone. Important parameters to check are:
- The mixer file (number of motors, location of motors and motor directions)
- Receiver (select protocol used such as IBUS or SBUS)
- Other Features (in case you added features like LED, sonar e.g.)
- ESC/Motor Features (select correct ESC protocol)
- GPS (enable if you use GPS)
The PID settings tab basically allows you to change the behaviour of the drone to a stick input. A higher proportional gain will give a more aggressive response which can result in overshoot. A higher integral gain makes it more steady and reduces the effect of wind or a displaced CG but can make it slow and sluggish to respond. The derivative gain dampens all motions but is sensitive to gyroscope noise and can cause motors to heat and burn.
Improve
Congrats with your drone.
Now you can start tweaking the PID settings in Betaflight to make it fly more smoothly, add features like LEDs and GPS or make some changes to the frame to make it even better.
You could also try to design and print your own rotors but this is quite hard.
Added to this step you can find the final design of my first drone (after many trials), made in SketchUp. It is quite light (approximately 25 grams for just the frame) and fits up to 6" propellers. In addition you can easily extend the landing gear by snapping on some gears and you can mount a small camera on it (still a work-in-progress).