Hi ArduPilot Community! ![]()
Iβm excited to share my SUCCESSFUL ESP32-based ArduPilot quadcopter build
from Indore, India! After following the amazing work by @Leon90 and
@Juergen-Fahlbusch, Iβve achieved stable flight in both STABILIZE and
ALTITUDE HOLD modes!
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
PROJECT OVERVIEW
I used pre compiled file from this github repository GitHub - Jehanzeb1973/ESP32-ArduPilot: Precompiled Ardupilot Code for ESP32 to built this project . I am also wokring on my own firmawre to contribute to the ESP32 ArduPilot community and prove that affordable, reliable flight controllers can be built using
ESP32 in India.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
HARDWARE SPECIFICATIONS
Flight Controller:
ββ Microcontroller: ESP32 (38-pin version)
ββ IMU/Sensors: GY-91 Module
β ββ MPU9250 (9-axis IMU)
β ββ BMP280 (Barometer)
β ββ I2C Interface
ββ Custom board/connections
Frame & Propulsion:
Frame Size: 450mm (diagonal)
Motors: 960kv
ESCs: 40 ampere esc
Propellers: 10inch
Battery: 3s lipo battery
Additional Components:
RC Receiver: PPM
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ACHIEVEMENTS
Flight Modes TESTED & WORKING:
β STABILIZE mode - Perfectly stable flight
β ALTITUDE HOLD mode - Holds altitude accurately
β Manual takeoff and landing
β Responsive to RC inputs
β No significant oscillations
Video Proof:
Flight demonstration: https://youtube.com/shorts/SoIsacome40?si=yPlWurPOsYmbSRn4
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SOFTWARE DETAILS
ArduPilot Configuration:
ββ Firmware: ArduCopter in esp32
ββ Board Target: ESP32
ββ Ground Station: Mission Planner
ββ Communication: WiFi/Serial
Key Settings:
ββ Frame Type: Quad X
ββ IMU: MPU9250 (via GY-91)
ββ Baro: BMP280 (via GY-91)
ββ [Any other important params]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
BUILD PROCESS & CHALLENGES
Timeline:
DAY1: Hardware assembly and connections
DAY2: Initial testing and calibration
DAY3: PID tuning and flight testing
DAY6: SUCCESS! ![]()
Major Challenges Overcome:
- GY-91 I2C communication optimization
- PID tuning for 450mm frame
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
PERFORMANCE OBSERVATIONS
Flight Characteristics:
Stability: Excellent
Altitude Hold Accuracy: Β±0.5m (estimated)
Response Time: Quick and precise
Battery Life: 20 minutes
Overall: Very satisfied!
Compared to Commercial FCs:
The ESP32 performed surprisingly well! The altitude hold is comparable
to commercial flight controllers, and the cost is a fraction of the price.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
KEY LEARNINGS & TIPS
For Future Builders:
-
GY-91 Module Works Great!
- Contains both IMU (MPU9250) and Barometer (BMP280)
- Single I2C connection - very convenient
- Affordable and readily available in India
-
ESP32 38-Pin Version
- Sufficient GPIO pins for quad setup
- Built-in WiFi for easy configuration
- Cost: ~800 rupees
-
450mm Frame is Ideal
- Good size for testing and learning
- Stable in light wind
- Not too heavy, not too light
-
PID Tuning is Critical
- Start conservative
- Tune in small increments
- Test in calm weather first
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
INDIA-SPECIFIC NOTES
Component Sourcing:
ββ ESP32 38-pin: Available on Amazon/Local electronics shops
ββ GY-91 Module: βΉ400-600 (Amazon/Robu.in)
ββ Frame: Local RC hobby shops / online
ββ Total Cost: Significantly cheaper than Pixhawk!
This proves that high-quality drone development is possible in India
with locally available components!
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
VIDEO & DOCUMENTATION
Flight Video: https://youtube.com/shorts/SoIsacome40?si=yPlWurPOsYmbSRn4
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ACKNOWLEDGMENTS
Special thanks to:
@Leon90 - For pioneering ESP32 ArduPilot drones (Firefly project)
@Juergen-Fahlbusch - For detailed documentation and support
EPITA SEAL Team - For the original ESP32 port research
ArduPilot Community - For this amazing open-source project
All forum members who share their knowledge freely
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
QUESTIONS FOR COMMUNITY
- What other flight modes should I test next?
- Any recommendations for GPS integration?
- Tips for auto missions with ESP32?
- Should I try Position Hold mode next?
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
NEXT STEPS
Short Term:
ββ Add GPS module
ββ Test LOITER mode
ββ Optimize PID tuning further
ββ More flight time testing
Long Term:
ββ Autonomous missions
ββ FPV integration
ββ Advanced navigation features
ββ Build documentation for Indian community
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
HAPPY TO HELP!
Iβm documenting everything and happy to help other Indian builders
who want to build ESP32 ArduPilot drones. Feel free to ask questions!
This project proves that ESP32 is a VIABLE platform for ArduPilot,
especially for budget-conscious builders and educational purposes.
Looking forward to contributing more to this amazing community! ![]()
Best regards,
Aaditya bharti
India
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ