Close
0%
0%

Precision-Tracking and Self-Stabilizing Camera

Lana and Venus: CS012 Project!

Public Chat
Similar projects worth following
Precision-tracking and self-stabilizing system featuring a multi-axis gimbal, Arduino Uno, Raspberry Pi, BNO08X (3-axis accelerometer and gyroscope), servo motors, and a Raspberry Pi camera

Build Instructions:

We have included STL files to the 3D print designs used as the basis for the gimbal - three pieces, one acting as the base where the breadboard & one servo will be held, one as the cover for that, and lastly the back portion (which should be split and printed as three different components) which will hold the servos for the other two axes.

The three main parts are:

  1. An IMU which collects the accelerometer and gyroscope data in three axes
  2. Raspberry pi computer --> reads the data from the IMU and computes reaction motion for the servos
  3. High torque servo motors which counteract the motion sensed by the IMU (using code from the Pi) allowing the gimbal to stabilize --> high torque motors should be used for this model given its weight

A conceptual diagram is shown below:

Whilst putting together the components, make sure the three servos coded (using the same codes, just accessing the three different directional variables from the gyroscope data in x, y, and z) are fitted to the right parts of the gimbal.

  • As shown in the image directly above, each servo corresponds to a specific plane and therefore reads in data for a specific axis
    • XZ plane (y-value data): held in the base of the gimbal, like "yaw" in an airplane 
    • ZY plane (x-value data): held in the side of the gimbal, like "pitch" in an airplane
    • XY plane (z-value data): held in the back of the gimbal, like "roll" in an airplane


Putting together the components: this can be done simply using the printed out model, along with some nuts, washers, and bolts to hold the servos within the corresponding holes in the model

  • The servos come with parts allowing for easy attachment, however holes must be drilled to fit sturdily within this model
  • One key issue faced was the shallow ridge of the servo making it rather flimsy for the amount of motion this gimbal required
    • A solution would be to screw in the servos or use a temporary adhesive, not permanent glue like we used (didn't work well)


Codes: the codes produced essentially work to read in gyroscope data from the IMU and produce corresponding counteracting movements for the servo motors

  • Single breadboard connected to all key components including imu, pi computer, and three servos (use half-sized breadboard to fit in gimbal base)

DIY Gimbal - Self-Stabilizing Platform back-2.stl

Standard Tesselated Geometry - 644.81 kB - 03/21/2025 at 09:05

Download

DIY Gimbal - Self-Stabilizing Platform - handle box4.stl

Standard Tesselated Geometry - 226.55 kB - 03/21/2025 at 09:05

Download

DIY Gimbal - Self-Stabilizing Platform - base.stl

Standard Tesselated Geometry - 93.15 kB - 03/21/2025 at 09:05

Download

  • 1 × Raspberry Pi Pico Micontroller Micontroller Board
  • 1 × Raspberry Pi 4 Model B Single-Board Computer
  • 1 × BNO08X IMU Linear Acceleration, Rotational Velocity
  • 1 × Raspberry Pi Camera
  • 3 × High Torque Servo Motors

View all 8 components

  • Final Demo Updates

    Venus Aradhya03/10/2025 at 20:29 0 comments

    We printed out our final gimbal base model after modifying some of the dimensions to fit the newer high torque motors we switched into using. We also got our raspberry pi camera and worked on adding that to the final model. Everything was set up and finalized for the final demo which occurred on Friday!

    Final 3d print where we fixed the dimensions to be compatible with the new high torque motors, and made some other final adjustments based on previous designs:

    (link to 3d print design will be added in project instructions)

    Simple circuit board just connected to one servo and no joystick module- later, two servos were added (high-torque) with similar circuit configuration, and the joystick module was added:

    Final model - all three servos were successfully moving the gimbal, imu was placed on top of main blue board to hold steady position:

    Acai bowls to celebrate project completion:

    Final demo updates:

    One issue we faced was the shallow nodes of the servo motors not fitting completely and falling out- we attempted to address this by using hot glue which got stuck in the rotor area and made it very hard to attach and therefore use. We are fixing this by manually removing all hot glue, printing out new parts, and using spares to reattach servos without hot glue. Main tip is to not use hot glue on servos. 

  • Integrating Angle Control with Joystick Module

    Lana Saopraseuth03/05/2025 at 02:57 0 comments

    We added a new angle control feature, enabling users to select and lock a camera position using the joystick, allowing more diverse applications. Initially, I planned for the joystick to activate when moved past its neutral center position, with the servos locking into the last active position when the joystick returned to center. Additionally, pressing the joystick would reset all servo angles to a default position of 90°. However, this proved difficult, as the servos couldn't differentiate between being inactive or passing through the neutral center position. The current design now requires the user to press the joystick to activate it, allowing control of the servos. Pressing it again deactivates the joystick, locking the current servo orientation and allowing the IMU to solely control the servo movement.

  • Incorporating Multiple Servos

    Lana Saopraseuth03/04/2025 at 23:35 0 comments

    The gimbal incorporates three high-torque servos, each controlling a specific axis. Servo X stabilizes angular velocity around the X-axis (tilting forward/backward), Servo Y stabilizes the Y-axis (tilting left/right), and Servo Z stabilizes the Z-axis (rotational movement).

    Additionally, due to issues with the USB power source causing the servos to slow down and lock after a minute of use, the system has been switched to an external power supply.

  • Gimbal Check

    Venus Aradhya02/19/2025 at 17:18 0 comments

    First big checkpoint has been reached; gyroscope & accelerometer data is being read into into Circuitpython and servos have been programmed to counterbalance motion and auto stabilize acting as gimbal

    Next steps: attach raspberry pi camera to base and redesign handheld CAD structure to accommodate for new servo placement  rather than the previous model

  • Printing First Model

    Venus Aradhya02/15/2025 at 20:12 0 comments

    We spent last week working on the construction of the mainframe of the gimbal and printed our first 3d printed frame- may be a few issues requiring us to reprint after some testing out

    Orca Slicer:

    Final product (trial one):

    ft. team no rain no gain (weather was lots of rain little gain) with a 3d printed space needle repping WA

  • PDR

    Venus Aradhya01/29/2025 at 19:28 0 comments

    We presented our project proposal in class on 1/28 to get some feedback

    + parts have been ordered 

View all 6 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates