Quadcopter Flight Controller

Customized and enhanced an Arduino-based quadcopter flight controller with Auto Level built from scratch, implementing sensor fusion, ESC calibration, and flight control improvements for reliable autonomous stabilisation.

Quadcopter image

Overview

Developed and customized an Arduino-based quadcopter flight controller. The firmware processes IMU sensor data in real time, stabilizes flight with complementary filtering, calibrates ESCs, and controls motors through PWM. Additional improvements enhanced numerical stability, modern Arduino IDE compatibility, and overall flight reliability.

Solution

Built with Arduino (C++), the flight controller provides real-time sensor fusion, auto-level stabilization, ESC calibration, orientation estimation, and reliable motor control. The firmware was optimized to eliminate runtime instability during aggressive maneuvers while improving startup behavior and compatibility with newer compiler versions.

Key Features

  • Auto-level flight stabilization
  • Real-time IMU sensor processing
  • Complementary filter sensor fusion
  • ESC calibration
  • Pitch and roll estimation
  • PWM motor control
  • Flight setup and diagnostics
  • Improved numerical stability

Highlights

  • Enhanced compatibility with modern Arduino IDE versions
  • Fixed NaN instability during aggressive flight maneuvers
  • Improved motor startup reliability
  • Extended with mounting with raspberry pi for camera
Schema Diagram for quadcopter
Schem Diagram