This project is a fully autonomous quadcopter drone built from scratch with custom flight controller firmware, GPS waypoint navigation, and computer vision for obstacle avoidance.
Story
Overview
Why this project?
I wanted to build a drone from scratch to understand every aspect of autonomous flight — from low-level motor control to high-level path planning.
Key Features
- Custom flight controller based on STM32
- GPS waypoint navigation
- Computer vision obstacle avoidance
- Real-time telemetry dashboard
- 25+ minute flight time
Hardware Design
The frame is a custom-designed X-configuration quadcopter, CNC-cut from carbon fiber. The flight controller PCB was designed in EasyEDA with an STM32F405 MCU.
Motor Selection
I chose 2207 2450KV motors for a good balance of thrust and efficiency.
Power System
4S 1500mAh LiPo battery providing approximately 25 minutes of flight time.
Software Architecture
The software stack consists of:
- Flight Controller Firmware — Custom C++ firmware running on the STM32
- Companion Computer — Raspberry Pi 4 running ROS2
- Ground Station — React web dashboard for telemetry
// PID controller for attitude stabilization
void AttitudeController::update(float dt) {
float error = target_angle - current_angle;
integral += error * dt;
float derivative = (error - prev_error) / dt;
output = Kp * error + Ki * integral + Kd * derivative;
prev_error = error;
}
Comments & Ratings (0)
Sign in with Google to leave a rating