Project Title: Quadcopter Flight Controller – An Accessible Drone Platform
Team Members: Noah Ross, Maurice Otieno, Arturo Matlin
Course: ECE 414 – Embedded Systems
Project Overview
This project focused on designing and implementing a cost-effective, operator-controlled drone for technical applications in outdoor environments. The goal was to create an accessible platform capable of monitoring hard-to-reach areas while collecting environmental data. The system leverages a Raspberry Pi Pico as its core to build a highly capable yet affordable alternative to proprietary drones, utilizing 3D-printed frames and open-source hardware to minimize cost without sacrificing core functionality.
Key Features & Objectives
The quadcopter was designed to meet the following requirements:
-
Stable Flight Control: Implementation of a PID control system and Pulse-Width Modulation (PWM) for precise motor control to ensure stable flight and maneuverability.
-
Sensor Fusion: Integration of an Inertial Measurement Unit (IMU) combining an accelerometer and gyroscope to determine the drone’s orientation in 3D space.
-
Collision Avoidance: An ultrasonic sensor to detect obstacles within a range of up to 4 meters, enhancing operational safety.
-
Environmental Monitoring: A barometric pressure and temperature sensor (BMP180) to collect atmospheric data and assist with altitude estimation.
-
Wireless Data Telemetry: A Bluetooth module to relay sensor data to a PC-based web application for real-time visualization and analysis.
-
Robust Hardware Design: A custom 3D-printed frame powered by a 3S Li-Po battery and 4-in-1 Electronic Speed Controller (ESC) driving four brushless motors.
Technical Implementation
System Architecture:
The project is split into two interconnected systems: a Flight Control system and an Auxiliary Data system.
Hardware Core:
-
Main Controller: Raspberry Pi Pico (RP2040)
-
Sensors:
-
MPU6050 IMU (Accelerometer & Gyroscope) for orientation via I2C.
-
BMP180 Barometric Pressure/Temperature Sensor via I2C.
-
HC-SR04 Ultrasonic Sensor for obstacle detection.
-
-
Actuation: 4 x Brushless DC Motors controlled via a 4-in-1 ESC using PWM signals.
-
Communication: HC-05 Bluetooth Module for data transmission via UART.
-
Power: 3S Li-Po battery with voltage regulation for a stable 5V supply.
-
Structure: Custom 3D-printed lightweight frame.
Software & Framework:
-
Flight Modules: Handle core flight dynamics.
-
Real Orientation: Uses sensor fusion algorithms to calculate the drone’s current pitch, roll, and yaw from the IMU.
-
PID Controller: Compares real orientation with desired orientation (from the user’s remote) and adjusts motor outputs to minimize error and stabilize flight.
-
Motor Controller: Generates the PWM signals sent to the ESC based on PID outputs.
-
-
Auxiliary Modules: Manage non-flight operations.
-
Collects data from the barometer and ultrasonic sensor.
-
Manages the Bluetooth connection and packages data for transmission to the PC application.
-
Challenges & Learning Outcomes
The project provided significant learning experiences in complex embedded systems integration:
-
Sensor Fusion Complexity: Implementing a stable complementary filter for fusing accelerometer and gyroscope data proved challenging and was not fully completed, which limited full flight stability.
-
System Integration: Coordinating the real-time requirements of flight control with the data collection and transmission tasks was a complex software architecture challenge.
-
Hardware Integration: Soldering, wiring, and ensuring a robust physical connection between all components (ESC, motors, Pico, sensors) required meticulous attention to detail.
-
Control Algorithm Tuning: Fine-tuning the PID controller parameters for stable hover is an iterative process that requires significant time and testing.
Results & Conclusion
The team successfully developed a robust hardware and software architecture for a quadcopter. Key accomplishments include:
-
Partial stabilization and manual control of the drone, validating the core motor control and hardware integration.
-
Successful operation of the ultrasonic sensor for obstacle detection.
-
Integration of environmental sensors into the data pipeline.
While full autonomous flight stability was not achieved due to the incomplete sensor fusion filter, the project resulted in a strong foundational platform. The modular design allows for future improvements, such as completing the complementary filter, implementing full Bluetooth data transmission, and adding autonomous navigation features.
The project required an estimated 125 hours of work, encompassing planning, hardware design, and software development.

