Fully Open Source · Hardware-Software Integration
Free for Personal & Educational Use
Open32drone is an open-source micro-drone platform based on the ESP32-S3, designed for scientific research, education, and algorithm validation.
This project is a secondary development based on the open-source project Flix. It retains Flix's lightweight code architecture while introducing Optical Flow and ToF sensors to achieve stable hovering (position and altitude hold) in indoor environments. Supporting the MAVLink protocol and ROS integration, Open32drone aims to provide developers with a low-cost, highly extensible MAV platform for learning control theory, validating swarm algorithms, and researching indoor navigation.
The project utilizes the Espressif ESP32-S3 series chip as the main controller:
- Dual-core High Frequency: 240MHz processing speed to easily handle attitude estimation and data communication.
- Extensibility: Supports the ESP-DL instruction set, providing computational power for lightweight edge-side vision processing.
Integrated Optical Flow + ToF two-in-one sensor module for stable hovering without GPS:
- Indoor Position Hold: Monitors horizontal displacement via optical flow data for precise station-keeping.
- Centimeter-level Altitude Hold: Uses the ToF sensor to accurately measure height above ground, unaffected by ground color or environment lighting.
- QGC Support: Native MAVLink protocol support allows direct connection to QGroundControl for visual parameter tuning, mission planning, and real-time telemetry.
- MAVROS Integration: Establishes a MAVROS connection via Wi-Fi (UDP). Users can treat the drone as a ROS node, using Python/C++ to write host programs for high-level control, SLAM mapping, or multi-agent coordination experiments.
- Modular Design: Core components are standard off-the-shelf modules, making procurement easy.
- Open Hardware: Provides complete PCB project files, compatible with direct ordering from services like JLCPCB.
- Documentation: Includes detailed assembly guides, environment setup tutorials, and pre-compiled firmware.
The hardware follows a Baseboard + Module design to ensure both maintainability and ease of assembly.
| Preview | Component | Specs | Key Features / Resources |
|---|---|---|---|
![]() |
Mainboard | EasyEDA | Only acts as a carrier with 4-way MOS drivers. Full PCB project files provided. |
![]() |
Controller | ESP32-S3 | Dual-core 240MHz, supports ESP-DL and wireless MAVROS. |
![]() |
Structure | 75/85mm | Standard brushed frame; STL 3D model files available in repo. |
![]() |
Motor | 8520 Coreless | 1.0mm shaft, offers superior thrust margin compared to 720 motors. |
![]() |
Propeller | 76mm (2/3-blade) | High lift efficiency—critical for precise Optical Flow station-keeping. |
- Mainboard (PCB):
- Design: A simplified "carrier" board. You only need to solder 4 MOS transistors and pin headers.
- Open Source: Includes full EasyEDA project files, ready for ordering from JLCPCB or similar services.
- Interfaces: Dedicated slots for MPU9250 (9-axis IMU), voltage regulators, and Serial Optical Flow + ToF modules.
- Propulsion Matching:
- Shaft Warning: Ensure the motor shaft is 1.0mm to fit the 76mm propellers.
- Thrust-to-Weight: Provides ~40g-50g thrust per motor at 3.7V. Aim for a total takeoff weight of 60g-80g for optimal control.
- Soldering Tips:
- Solder surface-mount components (MOS, resistors) before the headers to prevent obstructions.
Open32drone is dedicated to building a miniaturized air-ground collaborative robotic ecosystem. Future development focuses on three directions:
Plans to integrate lightweight image transmission modules to expand visual capabilities:
- On-device Recognition: QR code navigation, color tracking, face following, and simple gesture control.
- Vision-Aided Navigation: Feature point extraction to enhance optical flow robustness and implement basic Visual Odometry.
Using ESP32's wireless capabilities to expand from single-unit control to multi-agent systems:
- Distributed Communication: Building decentralized networks for position sharing and state synchronization.
- Low-cost Swarm Validation: Enabling labs to deploy 3–10 micro-drones at low cost to verify collaborative search and formation flight algorithms.
Closing the loop of perception, planning, and control at a micro scale:
- Micro SLAM: Exploring fusion-based (ToF + Optical Flow + Vision) miniaturized SLAM solutions.
- Dynamic Obstacle Avoidance: Utilizing multi-directional laser ranging sensors for omnidirectional avoidance and path planning.
- Attitude control optimization for ESP32-S3.
- Integrated Optical Flow + ToF for precise indoor hovering.
- MAVLink & QGroundControl compatibility.
- Sbus receiver support.
- MAVROS support for external control.
- Image Transmission: Adapt ESP32-S3 camera or external low-cost modules for low-latency video.
- Visual Tasks: Implement object recognition and tracking via ESP-WHO.
- Simulator: Develop a simulation environment for SITL (Software-In-The-Loop) testing.
- Swarm: Release a decentralized swarm solution supporting 3–10 units.
- Thrust-to-Weight Ratio: 8520 motors with 76mm props provide ~40g–50g of thrust per motor at 3.7V. Recommended takeoff weight: 60g–80g.
- Shaft Diameter: Ensure the motor shaft is 1.0mm, otherwise the 76mm props will not fit.
- Module Pinouts: MPU9250 pinouts vary by manufacturer; verify
VCC/GND/SCL/SDAbefore soldering. - Soldering Tip: Solder surface-mount components (MOS, resistors) first before the pin headers to avoid blocking access.
Open32drone is an open project. We welcome community contributions:
- Code: Bug fixes or new feature modules.
- Docs: Translation or detailed tutorials.
- Showcase: Share your research or creative projects using Open32drone.
- Unmanned System Research Institute, Northwestern Polytechnical University
- Xi'an Sand-Table Information Technology Co., Ltd. (OSRBOT)
|
|
Special thanks to the following open-source project for inspiration and foundation:
- Flix by Oleg Kalachev
This project is licensed under the Apache License 2.0 International License.







