Introduction: How to Make a Gimbal

In today’s culture we all love recording video and capturing the moments, especially when you are a content creator like me, you sure have faced the issue of such shaky videos from time to time. So in this blog we will make a DIY version of motorized Gimbal under $30, which will help you achieve stable videos on action camera’s, so let’s get started!

Step 1: Watch the Video!

English Version!

Hindi Version!

Step 2: Gather Required Parts for Gimbal

A camera stabilizer, or camera–stabilizing mount, is a device designed to hold a camera in a manner that prevents or compensates for unwanted camera movement, which is more commonly known as camera shake. we will make a 2 axis gimbal for our Gopro / Action camera.

we will the following parts:

  1. 2 axis FPV BGC Gimbal assembly.
  2. 3 Lithium Ion Cells.
  3. Arduino Nano.
  4. Joystick Module.
  5. Custom PCB.
  6. 3s JST connector Cable.
  7. Enclosure ( to be followed up in later stages).

Step 3: Connections

We are using a 2 Axis BGC Gimbal Assembly which out of the box is functional as a Gimbal. But it is not exactly like a Commercial Gimbal since we need Pan Tilt motions. We need Services. We need to get input from user to get more creative. We can use RX- Roll and RX-Pitch pins to give Additional inputs to Mother Board of BGC, which would be done with the help of PWM / PPM signal. To generate PWM/PPM signal, we will use Arduino Nano as Controller and we will take Input from Joystick, which basically will be the controller interface hardware for our Gimbal. connections are basically 2 signal pins to Arduino and 2 Output pins to RX Roll and RX Pitch.

To simplify our work, i designed and ordered a PCB for the following circuit, of which Gerber Files can be found here.

Step 4: Upload the Code to Arduino

Code for Generating PWM signal with Arduino is absolutely Easy task!

First we will define the Pinouts for PWM output as Servo 1 and Servo 2

Servo servo1;
Servo servo2;
int joyX = 0;
int joyY = 1;

then, we will Define Input Outputs for Servo and Joystick as Following

{
  servo1.attach(3);
  servo2.attach(5);
  pinMode(13,OUTPUT);
  digitalWrite(13,HIGH);
}

at last, we will Map our Output in Correspondence to Input from Joystick.

{ 
  servoVal = analogRead(joyX);
  servoVal = map(servoVal, 0, 1023, 0, 180);
  servo1.write(servoVal);
 
  servoVal = analogRead(joyY);
  servoVal = map(servoVal, 0, 1023, 70, 180);
  servo2.write(servoVal);
  delay(100);  
}

You can find the Code here!

Step 5: Software

Since we are using a 2 Axis BGC gimbal that comes with Motherboard and developers at basecam have did a wonderful job in developing a Software interface for this Hardware, you can download the software from this link!

We need out Gimbal to be very smooth since it is a Hand Held Gimbal so we adjust the PID and Motor Power in Basics Tab of our Software.

set the Potential (P) to 10

then set the Integral (I) to 0.03

set the Derivative(P) to 5.

and Set Power to 60 Units and No of Poles to 15 Poles.

Next we need to Check " SKIP GYRO CALIBRATION AT STARTUP" since it basically wastes 5-10 seconds in configuring and adjusting the algorithm with calibration step, we will skip it since we will have added PPM/ PWM inputs for our Gimbal using Arduino. According to the Arduino PWM Signals, we will fine tune our Speed in RC Control Tab and set it to 2 units.

you can find the Screen Shots of Setting to get better visuals of placement of settings so that you can easily replicate this project!

Step 6: Additional Functions

Won't it be amazing to add services like switching the Gimbal ONN and OFF, adjusting the Gimbal Position by hand. To achieve this task we can use the Switch from BGC motherboard, which can be replaced by the switch on joystick module by soldering extra wires to the pad, and connect it to joystick module.

Also we will need to Open our Software, Under Services Tab, "Select 1 Click - Motor ONN / OFF", "2 Click Set Tilt Angles By Hands".

Step 7: Enclosure

Since I don’t have a 3D printer, many of us don't have it so we will use PVC pipe along with few Joints and hot glue gun. I wish to make a handle like a selfie stick, which will enclose batteries and circuits inside.

we will need the Following Parts.

  1. 1.5 inch diameter pipe with 6.0 inch Length.
  2. 2.0 inch diameter pipe with 4.5 inch Length.
  3. 1.5 inch to 2 inch Joint.
  4. 1.5 inch diameter end cap.
  5. 2.0 inch diameter end cap.
  6. M4 15mm long Self Treading Screws.

you can find the above parts in local hardware shop.

At last, use few self threading bolts and mount base plate of Gimbal to PVC surface and finally stuff everything inside

Step 8: Conclusion

Our 2 axis DIY gimbal looks and works just awesome, here is the side by side footage taken with and without a Gimbal from my Action Camera, and clearly the results are 100 times better! So guys I hope you enjoyed this simple yet effective DIY Gimbal build for under 30$ Do comment and share your thoughts on this build. If you like this diy device, do like, share with your friends and Follow us on Social media for more awesome content!

Social Media Handles: Patreon, Twitter, Instagram, Facebook.

Make it Move Contest 2020

Participated in the
Make it Move Contest 2020