Introduction: 3D Printed 3-Axis Gimbal for Drone

About: Maker and drone enthusiast. Mechanical engineering student.


Step 1: Finding Inspiration

Before settling in on a basic design, I needed to do some research. As this gimbal would be going on a multirotor, I wanted it to be as compact and light weight as possible. Some commercial gimbals that do this well are the FeiyuTech mini 3D and SteadyGim3. They both use arms that are very thin seem to do nothing more than hold the motors in place. They also hold the camera with as little material as possible, overall making these gimbals only about the size as the camera and three motors together.

I also sketched out some basic arm shapes and profiles, the objective being to have things be as minimalistic, but strong as possible. I settled for arms with two hard bend points rather than a gentle curve, and a motor housing similar to that on the SteadyGim3.

Step 2: Designing in CAD

As this is a 3D printing project, a large amount of time goes into designing all the parts in CAD. CAD, while absolutely necessary for designing parts to be 3D printed, is also immensely useful for determining how individual parts will act together. With an assembled model in virtual space the maximum movements and adjustability of the gimbal can be tested. Errors in the design can also be caught before expending the effort to make the physical product.

The CAD software I use is called NX. It is provided by my school, otherwise it is quite expensive. Some free alternatives are Google Sketchup and Autodesk Fusion 360.

I roughed out a design based on what I wanted in a gimbal, as well as what I found the commercial gimbals did well. I tried to keep things as compact as possible to save space and weight when mounted on an airframe. I also made sure to have adjustment points on each axis so that the gimbal can be balanced later. Another thing I made sure of was to keep every part of the design 3D printer friendly. Having parts that do not print well would make this 3D printed gimbal pointless.

Step 3: Printing a Rough Design

When designing, there is only so much you can predict before actually physically making the product. One of the things you can not easily determine (precisely anyhow), is the balance point of all three axis. Camera gimbals need to be balanced on each axis or else the motors will be continuously fighting over the torque of an imbalanced load. A imbalanced gimbal, if it even works, will not run very smooth and will be inefficient.

The balance point determines the necessary arm lengths. If the balance point is known, the excess arm length can be removed which will reduce the overall size and weight of the gimbal. As a result, before continuing the CAD design I printed rough designs of the pitch, roll, and yaw assemblies. My initial design was extra long at the adjustment points to accommodate the range of possibilities of where the balance point was located. With these first parts printed, I balanced the gimbal on each axis and updated the design from there. This was also a good time to double check if any bolt holes are out of alignment or needed to be enlarged.

Step 4: Updating the Design

After finding the balance point and identifying any errors on the rough printed design, I finalized the design in CAD. Using the results from balancing the rough design, I shortened up the arms to make the whole design more compact and neat. I also added the vibration dampening system with hooks so the gimbal can be mounted on a rail system. Although this gimbal is intended for a multirotor platform, the rail system will allow it to be easily moved to a handheld or any other system.

Step 5: Printing and Tuning

Next the updated design is fully printed and assembled. I have a small wooden stand that I built to hold some of my past gimbals that I can use to tune the new gimbal without attaching it to the multirotor. The stand allows me to adjust PID values and then pick up and walk around with the gimbal to test it.

Tuning the gimbal is another story. The board I am using is a micro Storm32 three axis brushless gimbal controller. It is fairly simple to setup, but if you have no experience tuning gimbals and PIDs it will take some time to fully tune. Luckily there are dozens of well written tuning guides online for your benefit.

Step 6: Finishing the Build

After a full PID tuning and basic testing, the gimbal is about finished. Attach it to your platform of choice and go. I mounted the gimbal to the rails on my TBS Discovery and was ready to film. Depending on the platform the gimbal is mounted to, there may still be some fiddling and experimentation with PIDs and the vibration dampening balls, but overall the gimbal is ready for use.

Step 7: Parting It All Out

Here are all the parts of the gimbal laid out for assembly. It is a little technique I learned from Adam Savage called knolling. Besides creating a nice picture, it is quite therapeutic and relaxing to lay out all the parts before a build. It also makes finding the right part easier during assembly.

This gimbal currently contains 23 printed parts and everything can be printed within an afternoon. Altogether the assembled gimbal weighs 233g with the Xiaomi Yi and 157g without.

If you're interested in building your own, here is the parts list:


  • (x4) M1.6 x 12 mm Bolt,
  • (x4) M1.6 Nut
  • (x6) M2 x 8 mm Bolt,
  • (x4) M3 x 4 mm Bolt,
  • (x2) M3 x 6 mm Bolt
You can substitute M2 hardware for the M1.6 hardware if you can not find them.


  • (x1) Turnigy 2804-210kv,
  • (x2) Turnigy 2206-140kv

The RCTimer BGM2804 100T motor should also work in place of the Turnigy 2804, but it may require using the 'Rotated Mounting Holes' variant of the gimbal arms.


  • Micro Storm32 (unfortunately I do not recommend this model due to its limited functionality, but it works for this purpose). Note: As of 2020 this controller model has been discontinued for a number of years. I recommend using any Storm32 board you can find. There is a controller housing on the Thingiverse page that should fit the more common 'full size' Storm32 boards.

A Note on Balancing:

Balancing is mainly done through loosening the bolts holding the arms to the roll/yaw motors and sliding the bolt spacer along the adjustment slot. For the pitch axis a similar thing is done with the pitch cam mount to adjust up and down. To adjust forward and back on the pitch axis loosen the bolts holding the camera frame to the pitch mount and move the camera back as necessary. A shim between the pitch mount and camera frame may then be necessary. The Xiaomi Yi should balance perfectly on the pitch axis without any adjustment to forward/back. Lens of the camera is closest to the pitch motor.

Step 8: Performance

Here's some test footage from the finished product. In windy conditions there is some shakiness in the footage so some tweaking is still required, but overall the footage is really stable and smooth.

It is really incredible that such a high level of performance can be had out of a 3D printed design. Not to mention you are free to make and modify the gimbal in any way you like.

If you want to download and print the gimbal featured in this article, check it out on Thingiverse. It is thing number 1612223. You can also find more information about this project on the FliteTest forum, my forum name is Snarls.

Thank you for reading this instructable! This is my first one so let me know what you think and if I should do more!

Drones Contest 2016

Participated in the
Drones Contest 2016