This project documents the end-to-end design and development of a fully functional micro quadcopter, built almost entirely from scratch — including mechanical design, electronics prototyping, embedded firmware, and a custom PCB to make the system compact, reliable, and reproducible.
The primary objective of this project was not performance or racing, but to gain a deep, practical understanding of the complete embedded systems lifecycle involved in building a flying system:
- Mechanical structure and weight constraints
- Motor control and power delivery
- Sensor integration and firmware bring-up
- Wireless control challenges
- Transition from prototyping to manufacturable hardware
The final outcome is a working micro drone platform and a custom controller PCB intended to help future builders avoid the time-consuming issues encountered during manual prototyping.
- A complete quadcopter, assembled and tested
- Custom lightweight drone frame, initially handmade using ice-cream sticks
- Electronics prototyped on perfboard
- Embedded firmware for:
- Motor control
- IMU (MPU6050) integration
- Wireless command handling
- A custom-designed PCB integrating:
- ESP32 controller
- IMU
- Power regulation
- Motor driver circuitry
The project was developed iteratively, with multiple design improvements driven by real-world testing, failures, and measured limitations.
- MCU: ESP32
- IMU: MPU6050
- Motors: Micro DC motors (prototype-dependent)
- Power: Single-cell Li-Po battery
- Control: Wireless (Wi-Fi, for testing only)
- Frame: Custom lightweight structure
Detailed system architecture and control flow documentation is available in the system-design/ directory.
Early versions of the drone struggled to lift off due to insufficient thrust margin.
Primary causes:
- Excess frame weight
- Long and heavy perfboard wiring
- Non-optimized component placement
Actions taken:
- Iterated on frame design to reduce unnecessary mass
- Re-evaluated motor and propeller selection
- Analyzed thrust capability relative to total system weight
The initial ice-cream-stick frame was functional but had drawbacks:
- Heavier than ideal for micro-scale flight
- Limited vibration handling
- Poor reproducibility
Key learnings:
- Weight and stiffness trade-offs dominate micro drone performance
- Mechanical design constraints must be considered early
- These lessons directly influenced PCB size and layout decisions
Wi-Fi-based control worked functionally but proved unreliable for real-time flight.
Issues observed:
- Power brownouts during Wi-Fi transmission
- Increased current spikes under load
- Sensitivity to power integrity and wiring quality
Conclusion:
- Wi-Fi is unsuitable for deterministic real-time control in power-constrained flying systems
- This limitation was documented intentionally rather than hidden
Manual perfboard wiring introduced:
- Excess weight
- Noise and power integrity problems
- Difficult debugging
- Poor mechanical robustness
- Low reproducibility
While essential for early validation, perfboard prototyping clearly demonstrated why a custom PCB is required for compact flying systems.
Through iterative testing and redesign:
- ✅ Thrust-to-weight ratio improved through weight optimization
- ✅ Frame design refined to reduce unnecessary mass
- ✅ Firmware validated on a working hardware platform
- ✅ System-level limitations clearly identified and documented
- ✅ A custom PCB designed to:
- Integrate MCU, IMU, power regulation, and motor control
- Reduce wiring and overall system weight
- Improve power integrity and reliability
- Enable reproducible builds
The final PCB represents the consolidation of all lessons learned during physical prototyping.
The custom PCB addresses multiple issues encountered during development:
- Eliminates bulky perfboard wiring
- Reduces total system weight
- Improves power integrity
- Simplifies assembly and debugging
- Makes the design reusable and scalable
This allows future builders to focus on firmware and experimentation rather than early-stage hardware struggles.
This repository documents the entire engineering journey, not just the final result:
frame/– Frame design and mechanical iterationsprototyping/– Perfboard bring-up and issueshardware/– Schematics, PCB layout, and BOMfirmware/– Embedded ESP32 firmwareweb-control/– Wi-Fi-based control interfaceexperiments/– Thrust, power, and wireless testingsystem-design/– Architecture and control flowlessons-learned/– Engineering takeaways
- Flying systems are system-level problems, not just code or hardware
- Thrust-to-weight ratio is unforgiving at micro scale
- Power integrity dominates system stability
- Wi-Fi is convenient but unreliable for real-time control
- Prototyping pain leads to better engineering decisions
- Replace Wi-Fi with a dedicated RF control link
- Further reduce PCB size and weight
- Improve frame using lighter, stiffer materials
- Add firmware safety mechanisms and failsafes
This project intentionally documents both successes and failures.
The goal was not to build a perfect drone on the first attempt, but to learn, iterate, and design better systems — following the same process used in real-world embedded hardware development.