STM32 Blackpill Quadcopter
A low-cost quadcopter built around an STM32F411CEU Blackpill flight controller running INAV 6.0 firmware, with a frame mostly cut from carbon-fiber sheet.
- Drone
- Open source
- 3D printable
Suggested by Robotheca, created by @I-M-Robotics-Lab (opens in a new tab), from github.com/I-M-Robotics-Lab/STM32-Quadcopter (opens in a new tab). Pinned to commit 53a1ec1 (opens in a new tab).
- Hardware license
- GPL-3.0-only (opens in a new tab)
- Software license
- GPL-3.0-only (opens in a new tab)
- Commercial use
- Allowed
This repository contains executable files that Robotheca doesn't check. Only run them if you trust the creator.
Which files (1 firmware image)
Photo

The STEP files are too large to convert. View the STEP files on GitHub (opens in a new tab)
What it can do
Written by Robotheca from the project's documents.
- Quadcopter flight controlled by INAV 6.0 firmware running on an STM32F411 Blackpill board.
- Uses MPU6500 IMU for inertial measurement and BMP280 for altitude sensing.
- Supports an optional GPS and magnetometer module on UART1.
- Frame is built from carbon-fiber sheet parts or carbon-fiber-reinforced 3D-printed parts.
- Powered by a 3S battery; radio control via FS-iA6B receiver and transmitter.
Bill of materials
11 parts11 of 11 parts shown
| # | Component | Quantity | Est. price | Supplier |
|---|---|---|---|---|
| 1 | RS2205 BLDC Motor | 4 | – | – |
| 2 | BLHeli_S 20A ESC | 4 | – | – |
| 3 | 5030R Propeller | 2 | – | – |
| 4 | STM32F411CEU6 “Blackpill” | 1 | – | – |
| 5 | MPU6500 / MPU9250 Module | 1 | – | – |
| 6 | BMP280 Module | 1 | – | – |
| 7 | 330 µF @ 50 V Capacitor | 1 | – | – |
| 8 | FS-iA6B Receiver | 1 | – | – |
| 9 | FS-iA6B Transmitter | 1 | – | – |
| 10 | Ovonic 1500 mAh 120C 3s Battery | 1 | – | – |
| 11 | XT60 Connector | 1 | – | – |
11 of 11 parts have no price in the source, so there is no parts total. Read from README.md at the pinned commit.
Build guide
The creator's steps, each with its instructions.
- 1Cut the carbon-fiber frame parts from the CF cut patterns in 3.Models/
- 23D-print the ABS components with a 0.4 mm or 0.6 mm high-strength profile
- 3Assemble the frame with the M3 bolts, nuts and nylon spacers listed in the mecha
- 4Wire the electronics following the pinout, sample diagram and GPS UART1 wiring n
- 5Add a 330 µF @ 50 V capacitor between VBAT and GND near the input
- 6Clone INAV 6.0 and copy the GYW_BLACKPILL_F411 target into src/main/target/
- 7Patch system_stm32f4xx.c for the 25 MHz HSE clock
- 8Build the firmware with CMake and Ninja
- 9Flash the firmware via DFU using INAV Configurator 6.0.0
- 10Configure the flight controller following standard INAV procedures
The guide appears here as you scroll.
Guide by @I-M-Robotics-Lab (README.md), under GPL-3.0-only.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- STM32F411CEU6 Blackpill flight controller board.
- MPU6500 / MPU9250 inertial measurement module.
- BMP280 altitude sensor module.
- Four RS2205 brushless motors with BLHeli_S 20A ESCs.
- FS-iA6B receiver and transmitter.
- Ovonic 1500 mAh 120C 3S battery with XT60 connector.
- 330 µF at 50 V bulk capacitor across VBAT and GND.
- Optional GPS and magnetometer module.
Connections
- GPS connects to UART1: RX1 goes to GPS TX, and TX1 goes to GPS RX.
- A 330 µF 50 V capacitor is placed between VBAT and GND near the input to filter voltage spikes.
- An optional TVS diode clamping near 12 V is suggested for extra protection.
- The sample diagram is illustrative only; the pin assignments must be followed strictly.
Cables and connectors
From the parts list.
- XT60 Connector × 1