Imported from GitHub: Mathijsvb/MulticopterFCS · commit c890f2c · license BSD-3-Clause
Description
Multicopter Flight Control System
README
About the project
MulticopterFCS is a flight controller build from the ground up. It is meant to be a development platform mainly focused on autonomous indoor flying of multi-rotor drones.
Warning The current version still contains design errors.
| Diagram | Board |
|---|---|
![]() | ![]() |
Key features
On board:
- High performance MCU (STM32H743 running up to 480 MHz)
- Accelerometer and gyro (MPU6000)
- Magnetometer (HMC5883L)
- Pressure and temperature sensor (BMP388)
- 64-Kbit of F-RAM (FM24C64B)
- 2x RGB LED
Connectors:
| quantity | purpose | connector type | Comment |
|---|---|---|---|
| 1 | SWD/JTAG | 1.27 mm pitch 10-pin | For programming and debugging |
| 1 | SDIO | Micro SD Card | For logging data during the flight |
| 1 | I²C | JST SH 4-pin | External I²C connector |
| 2 | UART | JST SH 4-pin | External UART connector |
| 1 | Battery | JST SH 2-pin | Used to measure battery voltage |
| 1 | LED | JST SH 8-pin | To control external LEDs |
| 1 | IBUS | 2.54 mm pitch header | IBUS used by external receivers to communicate remote control signals |
| 6 | PWM | 2.54 mm pitch header | PWM is used to control external ESC's |
| 1 | Buzzer | 2.54 mm pitch header | For connecting a buzzer |
| 1 | RPLiDAR | 2.50 mm MOLEX SPOX 7-pin | This connector will be used for the RPLiDAR |
| 2 | USB | USB Mini B | USB1 goes directly to the MCU, USB2 gets converted to serial first |
Roadmap:
- ✔️ Project orientation
- ✔️ Deciding on components
- ✔️ Creating schematic
- ✔️ Routing PCB
- ✔️ Manufacturing the PCB
- Testing
- ✔️ Programming MCU
- ❌ Gyro/Accelerometer
- ✔️ Find a the reason for to the Gyro/Accelerometer not working
- The MPU-6000 seems to need the ability to toggle CS which the current board does not support. Board revision is needed.
- Pick new Gyro/Accelerometer
- ❌ Magnetometer
- Can't be detected with an I2C scanner, probably dead.
- Barometric pressure sensor
- ✔️ Check if it can be found with the I2C scanner.
- Check is values are sensible.
- ❌ On board F-RAM
- Wrong IC choice on my part.
- ESC control
- IBUS communication
- Buzzer
- ✔️ LEDs
- Writing drivers
- Gyro/Accelerometer
- Magnetometer
- Barometric pressure sensor
- On board F-RAM
- ESC control
- IBUS communication
- Buzzer and LEDs
- SD Card
- USB
- Signal processing
- Data conversion and correction
- Data filtering
- Extended Kalman filter implementation for sensor fusion
- PI(D) controller
- FSM controller
- Data logging on the SD Card
Future goals on the roadmap are likely to be Simultaneous Localization and Mapping using a LiDAR implementation. Based on this, autonomous indoor flight could be developed.
Licensing
This system is still a work in progress, use anything inside this repository at your own risk.
This an open source project released under the BSD 3-Clause License.


No comments yet. Be the first to ask about this board.