Flix
Making an ESP32-based quadcopter from scratch
...Its firmware is written in Arduino-style C++ and intentionally kept compact so learners can understand the complete flight-control stack. Communication uses MAVLink over Wi-Fi or ESP-NOW. The drone can be controlled with a USB gamepad, radio controller, or smartphone. A wireless command-line interface supports configuration and analysis without a wired connection. The project also includes a Gazebo simulator that runs the original flight code and a Python library for scripted or automatic flights. Hardware files, assembly instructions, troubleshooting guides, and flight-control documentation make it suitable for hands-on learning.