Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚁 Micro Drone Controller – Custom Embedded Systems Project

📌 Project Overview

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.


🛠 What Was Built

  • 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.


⚙️ System Architecture (High Level)

  • 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.


🚧 Problems Faced & Engineering Challenges

1️⃣ Thrust-to-Weight Ratio Issues

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

2️⃣ Frame Design Limitations

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

3️⃣ Wi-Fi Control Reliability (ESP32)

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

4️⃣ Perfboard Prototyping Limitations

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.


✅ Problems Solved & Final Improvements

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.


🧩 Why a Custom PCB Was Necessary

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.


📂 Repository Structure

This repository documents the entire engineering journey, not just the final result:

  • frame/ – Frame design and mechanical iterations
  • prototyping/ – Perfboard bring-up and issues
  • hardware/ – Schematics, PCB layout, and BOM
  • firmware/ – Embedded ESP32 firmware
  • web-control/ – Wi-Fi-based control interface
  • experiments/ – Thrust, power, and wireless testing
  • system-design/ – Architecture and control flow
  • lessons-learned/ – Engineering takeaways

🎯 Key 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

📌 Future Scope

  • 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

🧠 Final Note

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.

About

Custom micro drone controller – embedded systems, firmware, and PCB design

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages