Skip to main content
Version: ACS CC

Gimbal Stabilizer

A 3-axis camera stabilizer controlled by an STM32 Nucleo, with brushless motors and FOC drivers, using an MPU-6050 sensor for real-time stabilization.

info

Description

The core of this project is a high-performance 3-axis stabilization system designed to turn shaky, handheld movement into cinematic, professional-grade footage. Instead of struggling with blurred or vibrating shots, a user can simply mount their camera and move freely—the gimbal handles the rest. By constantly monitoring its position in space, the device makes invisible, micro-adjustments to the Pitch, Roll, and Yaw axes. This results in a "floating" camera effect that allows creators to capture smooth walking shots, sweeping pans, and dynamic action sequences that would otherwise be impossible to record steadily by hand.

Motivation

Gimbals have become an essential "secret weapon" in modern visual storytelling, bridging the gap between amateur clips and Hollywood-level production. Beyond just stabilizing travel vlogs for YouTubers, this technology is now a cornerstone of multiple industries: it allows drones to capture perfectly level aerial surveys, enables cinematographers to execute complex "one-take" sequences, and even assists in robotic surgery and satellite positioning.

As a photography and videography enthusiast, I have always been fascinated by how these devices effortlessly defy gravity. Owning a commercial gimbal inspired me to look "under the hood." I took on the challenge of building one from scratch—handling everything from 3D design to the complex math of stabilization algorithms—to truly master the physics and engineering that make modern cinematic magic possible.

Architecture

Diagram

Log

Week 20 - 26 April

Initial upload with the description, motivation, BOM and architecture scheme.

Hardware

The gimbal uses an STM32 Nucleo as the main microcontroller, running both the sensor fusion and PID control firmware as well as the FOC algorithms for the motors. Three brushless gimbal motors (one per axis) are driven by three individual FOC driver boards. An MPU-6050 module provides 6-DoF inertial measurements for sensor fusion. A joystick provides manual operator input for orientation control. Power is supplied by a 3S LiPo battery, with a buck converter regulating the logic-level voltages.

Schematics

Diagram

Bill of Materials

DeviceUsagePrice
STM32 Nucleo-64Main microcontroller — sensor fusion, PID and FOC115 RON
Brushless gimbal motor (x3)One motor per axis (roll, pitch, yaw)3 × 50 RON
FOC driver (x3)Field-Oriented Control driver board, one per motor3 × 34 RON
MPU-60506-DoF IMU — accelerometer + gyroscope for angle estimation18 RON
Joystick module (x1)Manual operator control of target angle15 RON
3S LiPo battery (x1)Main power source (~11.1 V)90 RON
Buck converter (x1)Steps down battery voltage to 5 V / 3.3 V for logic14 RON

Software

LibraryDescriptionUsage
embassy-stm32Embassy HAL for STM32GPIO, I2C, ADC, PWM timers on the Nucleo
  1. 3 Axis Mobile Gimbal
  2. DIY Arduino Gimbal
  3. Reddit Forums