This repository contains the restructured and modernized version of my earlier autonomous mini-drone project.
I am currently reviewing my previous firmware, hardware notes, log files, and prototype designs to rebuild a coherent architecture before moving forward with development.
The goal of this reboot is to establish a clean, modular, and testable drone stack that includes:
- A flight controller firmware (IMU β Sensor Fusion β PID β Motor Mixing)
- A radio control system (RX/TX protocol, packet integrity, channel mapping)
- Simulation support (Gazebo / MATLAB models)
- Supporting tools (log parsing, telemetry visualization, firmware flashing utilities)
Before writing new firmware, I am focusing on:
- Extracting reusable modules (
PID,motor_control,imu_driver) - Identifying outdated or deprecated HAL APIs
- Cleaning or rewriting modules for maintainability
- Re-establishing subsystem boundaries
- Updating directory structure to follow embedded best practices
- Migrating toward a unified coding standard (C99 or C11)
- Reviewing ESC, IMU, and power stage notes
- Checking sensor interfaces (IΒ²C/SPI timing, sampling constraints)
- Re-documenting frame geometry for mixer calculations
- Rewrite the IMU driver layer
- Implement a configurable complementary filter (β Madgwick β EKF pipeline)
- Rebuild motor mixing for quad-X configuration
- Implement loop timing and scheduler
- Add link-loss failsafe + arming logic
- Flight log format (binary + CSV export)
- Real-time plotting tool (Python / Matplotlib)
- Firmware uploader script for dev workflow
- Validate IMU orientation & axis alignment
- Recheck ESC throttle calibration curves
- Select battery + regulator combination
- Build V1 prototype frame
firmware/ flight_controller/ remote_control/ common/ simulation/ tools/ hardware/ tests/
Each commit or weekly update will follow a structured template:
## π Dev Log β <Date>
### β
What I Reviewed Today
-
### π Insights From Old Files
-
### π§ What I Refactored / Cleaned
-
### π Next Small Steps
-
### π§ Notes to Future Me
-