| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A mini brushed DC quadcopter built entirely from scratch. No off-the-shelf flight controller software. Custom hardware, custom firmware, custom drivers.
This project is a complete from-scratch implementation of a mini quadcopter and its RC controller. The goal is to understand and build every layer of the stack — from raw sensor data to stable flight — without relying on existing flight controller frameworks.
Key design decisions:
| Component | Part | Notes |
|---|---|---|
| Flight controller | Raspberry Pi Pico | RP2040 dual-core |
| IMU | MPU6050 | I2C1, GP14/GP15, addr 0x68 |
| Radio | nRF24L01 SMD | SPI0, GP6-GP10, PCB antenna |
| Motor driver | TA6586 x4 | PWM on IN1 (GP0-GP3), IN2 to GND |
| Motors | 8520 coreless brushed DC | 3.7V, ~50g thrust each, 1mm shaft |
| Battery | 1S LiPo 360mAh 30C | JST-PH 1.25mm, direct to VSYS |
| Buzzer | Piezo | GP16 |
| Frame | Custom 3D printed | 75-100mm diagonal |
Power architecture:
AUW: ~67g estimated. Ceiling: 133g (1.5:1 thrust ratio).
| Component | Part | Notes |
|---|---|---|
| MCU | Raspberry Pi Pico | RP2040 |
| Radio | nRF24L01 PA+LNA | SPI0, GP6-GP10, external antenna |
| Analog mux | CD4051 | 4 joystick axes via GP26 (ADC0) |
| Joysticks | 2x analog with button | Axes to CD4051, buttons to GP2-GP3 |
| Switches | 2x latching | GP4 arm/disarm, GP5 flight mode |
| Display | 0.96 inch OLED | I2C1, GP14-GP15 |
| Buzzer | Piezo | Pair and signal loss indicator |
| Battery | 18650 cell | Direct to VSYS, TP4056 charging |
Controls mapping:
| Input | Function |
|---|---|
| Left stick Y | Throttle |
| Left stick X | Yaw |
| Right stick Y | Pitch |
| Right stick X | Roll |
| Switch 1 | Arm / Disarm |
| Switch 2 | Flight mode (reserved) |
| Left stick button | Pairing |
| Right stick button | OLED navigation |
Written in bare metal C using the Pico C/C++ SDK. Structured across three repositories:
| Repository | Description |
|---|---|
| pico-nrf24l01 | Custom nRF24L01 driver for Pico C SDK |
| pico-mpu6050 | Custom MPU6050 driver for Pico C SDK |
| init-flight-stack | Main drone and controller firmware (this repo) |
Radio protocol:
Dependencies:
init-flight-stack/ ├── drone/ │ ├── src/ │ └── include/ ├── controller/ │ ├── src/ │ └── include/ └── docs/
Structure will be populated starting Phase 2.
| Phase | Status |
|---|---|
| Phase 1 - Requirements and Architecture | Complete |
| Phase 2 - Hardware Design | In progress |
| Phase 3 - Firmware Development | Pending |
| Phase 4 - Mechanical Design | Pending |
| Phase 5 - Integration and Bench Testing | Pending |
| Phase 6 - Flight Testing and Tuning | Pending |
MIT License. See LICENSE for details.
| Back | FazBrowse Home | New Git URL |