

ESP32-Gimbal
A high-performance, open-source 3-axis smartphone gimbal built from scratch using a custom PCB and the SimpleFOC library. It features real-time stabilization, native USB-C programming, and custom motion modes.
- Size
- 32.3 × 87.6 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 60
- Nets
- 99
- Pads
- 361
- Tracks, vias
- 549, 53
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 14 Jan 2026
- Updated
- 19 Feb 2026
Overview
ESP32-Gimbal is an open-source printed circuit board by Visaging, from the Visaging/ESP32-Gimbal repository on GitHub, published under the MIT licence. It is a 2-layer board of 32.3 × 87.6 mm with 60 parts on 99 nets, routed with 549 tracks and 53 vias.
It is built around the ESP32-S3-WROOM-1-N8, DRV8313PWP and CN3303, with the AO3400A and SS34 among its other parts. Its parts include 22 capacitors, 14 connectors, 13 resistors, 6 ICs and 2 inductors. It belongs with the ESP32 boards of this library.
Main components
5ESP32-S3-WROOM-1-N8
SMD,25.5x18mm-40℃~+85℃ -98.2dBm 2.4GHz 20.5dBm 355mA 3V~3.6V 95mA Bluetooth5.0 ESP32-S3 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesDRV8313PWP
HTSSOP-28-EP-4.5mmHTSSOP-28-EP-4.5mm Brushless DC (BLDC) Motor Driver ROHSTexas InstrumentsMotor Driver ICsCN3303
SOP-8-40℃~+85℃ 12.6V 2.7V~6.5V 2uA 3 Charging IC Lithium Battery Not supported Not supported 恒流充电、恒压充电、自动再充电、充电终止、可编程充电电流、欠压锁定、过压保护 SOP-8 Battery Management ROHSShangHai Consonance ElecDC-DC ConvertersAO3400A
SOT-23-55℃~+150℃ 1 N-channel 1.45V 1.4W 30V 48mΩ@2.5V 5.7A 50pF 630pF 75pF 7nC@10V N-Channel SOT-23 MOSFETs ROHSAlpha & Omega SemiconductorMOSFETsSS34
SMA(DO-214AC)-55℃~+125℃ 3A 40V 500uA@40V 550mV@3A Independent SMA(DO-214AC) Schottky Diodes ROHSMDDSchottky Diodes
README
README.mdOver-Engineered Stick (ESP32-S3 Gimbal)
Because apparently holding a phone parallel to the ground requires too much caloric burn for the modern human, I spent some time engineering a robot to do it for me. This is a custom 3-axis gimbal powered by an ESP32-S3, designed to compensate for your lack of wrist stability and general unwillingness to hold a steady shot.
The "Why Did I Build This" Stack:
- MCU: ESP32-S3-WROOM-1-N8R2 (Because a simple Arduino wasn't overkill enough)
- Sensors: BMI270 6-Axis IMU (To feel every single one of your hand tremors)
- Drivers: 3x DRV8313 Three-Phase Drivers (So the phone floats magically while you do nothing)
- Motors: 2805 140KV Gimbal BLDC Motors (To turn in exactly the opposite direction like she did)
- Power: Custom 3S Li-Ion BMS with CN3303 Charging & TPS563200 Regulation (Because USB 5V is for the weak)
Key Features
- Active Stabilization: Uses high-frequency FOC math to micro-manage gravity so you don't have to use "muscles".
- Native USB-C: One cable to code it and charge it, because looking for two different cables is just too much work.
- 3 Operation Modes:
- Stabilize: Standard horizon leveling and pan following.
- Teaching Mode: Disables the motors so you can twist the camera to any weird angle by hand. After 5 seconds of holding it there, the gimbal accepts its new reality and locks that position.
- Selfie/Statue Mode: A dedicated mode that gives you 6 seconds to pose the camera, then freezes it in place indefinitely because apparently holding a selfie angle is considered cardio now.
External Wiring Diagrams
Battery:
Handle wiring:
BMI270 Breakout Board:
Motors:
PCB Schematics
PCB Layout and Render
Custom Body (3D Model)
Handle:
Handle Top:
Handle Enclosure:
PAN Arm :
ROLL Arm:
PITCH Arm:
PITCH Arm Cover:
Tripod Enclosure:
Tripod Hub:
Tripod Legs:
Financial Damage Report (Bill of Material)
BOM can be found in the root older as a .csv, and is also viewable here: Custom Gimble BOM
Lion Circuits Order
JLCPCB Order
Carts
Robu
OnlyScrews
ElectroPi
Evalta
DNA Tech India
Amazon
Future Bugs... I Mean Features (Roadmap)
Things I might add if I ever get bored of it working perfectly
- Bluetooth App: Control the gimbal with a phone (because looking at two screens is better than one).
- Face Tracking: If I can figure out how to run AI on this chip without it catching fire.
Liability Waiver (License)
License: MIT
Feel free to steal this code, modify it, or sell it. However, if your phone falls out and breaks because you set the PID values wrong, I legally never met you.
Parts
60| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C5, C9, C11, C13, C14, C15, C16 |
| 6 | 100nF | Capacitor_SMD:C_0805_2012Metric | C17, C18, C19, C20, C21, C22 |
| 5 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C3, C6, C8, C10, C12 |
| 5 | 10kR | Resistor_SMD:R_0805_2012Metric | R5, R8, R10, R11, R12 |
| 3 | DRV8313PWP | DRV8313PWP:SOP65P640X120-29N | U4, U5, U6 |
| 3 | MOTOR | Connector_Wire:SolderWire-0.1sqmm_1x03_P3.6mm_D0.4mm_OD1mm | J11, J12, J13 |
| 2 | 22uF | Capacitor_SMD:C_0805_2012Metric | C4, C7 |
| 2 | 5.1kR | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 1 | +3V3 IMU | Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm | J9 |
| 1 | 0.1R | Resistor_SMD:R_1206_3216Metric | R4 |
| 1 | 100kR | Resistor_SMD:R_0805_2012Metric | R13 |
| 1 | 105kR | Resistor_SMD:R_0805_2012Metric | R6 |
| 1 | 10uH | Inductor_SMD:L_Bourns-SRN6028 | L1 |
| 1 | 1MR | Resistor_SMD:R_0805_2012Metric | R7 |
| 1 | 1kR | Resistor_SMD:R_0805_2012Metric | R3 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C2 |
| 1 | 3.3uH | Inductor_SMD:L_1210_3225Metric | L2 |
| 1 | 3kR | Resistor_SMD:R_0805_2012Metric | R9 |
| 1 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BATTERY | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J10 |
| 1 | BOOT | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J4 |
| 1 | CN3303 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U2 |
| 1 | GND IMU | Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm | J8 |
| 1 | LED | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J3 |
| 1 | LOGO | LOGO | G*** |
| 1 | MODE | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J2 |
| 1 | POWER | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J14 |
| 1 | RESET | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J7 |
| 1 | SS34 | Diode_SMD:D_SMA | D1 |
| 1 | TPS563200 | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | U5-CLOCK | Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm | J5 |
| 1 | U5-DATA | Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm | J6 |
| 1 | USB_C_Receptacle_USB2.0_14P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
Similar boards
- 2 layers65 × 88 mm

- 2 layers52 × 56 mm

Gimbal driver board
PA-33/gopro-control-station
Two-axis motorised GoPro mount with physical buttons, BLE camera control, and a built-in HTTPS web UI for live HDMI preview and gallery access. ESP32-S3 / SimpleFOC.
71 partsMIT - 2 layers37 × 70.9 mm

Opendiag
maximus64/opendiag-hardware
OpenDIAG - Open Source OBD2 Interface (Hardware)
148 parts5CERN-OHL-S-2.0 - 4 layers63.2 × 70.5 mm

- 2 layers105.4 × 86.5 mm

Good Boy Limiter
JohnanLuca02/BYTE_Electronics
Repository for everything concerning the electronics (PCB, Electrical schemes, BOM, ...) of the robot dog project of the AiTeam called BYTE.
111 parts1 - 2 layers100 × 73.9 mm

Security Alarm Panel
Matyas604/Security-Alarm-Panel
Home Assistant Smart Home Alarm Control Panel with fingerprint reader, NFC/RFID card reader, motion radar, and touchscreen TFT display. It can control your smart home, not just your home security system.
132 parts1GPL-3.0 - 2 layers80.5 × 53.8 mm

- 4 layers55 × 47 mm

Questions
How big is the ESP32-Gimbal PCB?
It measures 32.3 × 87.6 mm and has 2 copper layers, 1.6 mm thick.
What parts does the ESP32-Gimbal use?
60 parts, built around the ESP32-S3-WROOM-1-N8, DRV8313PWP, CN3303 and AO3400A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the ESP32-Gimbal KiCad files?
From the Visaging/ESP32-Gimbal repository on GitHub, at the commit this page was made from: the board is PCB/PCB.kicad_pcb and its schematic PCB/Driver Motor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the ESP32-Gimbal design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).