© 2026 Mohammad Alghrawe

CompletedAdvanced

Autonomous Drone Platform

Custom-built drone with autonomous navigation using computer vision and GPS waypoint tracking.

Published Oct 15, 2025·Updated Jun 15, 2026·1,264 views

Things Used

Hardware Components5
  • STM32F405 MCU
  • 2207 2450KV Motorx4
  • 35A ESCx4
  • Raspberry Pi 4
  • GPS Module (M8N)
Software & Apps2
  • ROS2
  • PlatformIO
Tools1
  • EasyEDA

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

1

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
2

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.

3

Software Architecture

The software stack consists of:

  1. Flight Controller Firmware — Custom C++ firmware running on the STM32
  2. Companion Computer — Raspberry Pi 4 running ROS2
  3. Ground Station — React web dashboard for telemetry
cpp
// 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

Category & Tags

🚁DronesArduPilotPX4PythonROSGPSComputer Vision

Related Projects