100%
multicopterfcs Connectors view
Description

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.

DiagramBoard
DrawIO block diagrams-Pagina-5 drawio (3)WhatsApp Image 2022-08-17 at 5 33 48 PM

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:

quantitypurposeconnector typeComment
1SWD/JTAG1.27 mm pitch 10-pinFor programming and debugging
1SDIOMicro SD CardFor logging data during the flight
1I²CJST SH 4-pinExternal I²C connector
2UARTJST SH 4-pinExternal UART connector
1BatteryJST SH 2-pinUsed to measure battery voltage
1LEDJST SH 8-pinTo control external LEDs
1IBUS2.54 mm pitch headerIBUS used by external receivers to communicate remote control signals
6PWM2.54 mm pitch headerPWM is used to control external ESC's
1Buzzer2.54 mm pitch headerFor connecting a buzzer
1RPLiDAR2.50 mm MOLEX SPOX 7-pinThis connector will be used for the RPLiDAR
2USBUSB Mini BUSB1 goes directly to the MCU, USB2 gets converted to serial first

Roadmap:

  1. ✔️ Project orientation
  2. ✔️ Deciding on components
  3. ✔️ Creating schematic
  4. ✔️ Routing PCB
  5. ✔️ Manufacturing the PCB
  6. Testing
    1. ✔️ Programming MCU
    2. ❌ Gyro/Accelerometer
      1. ✔️ 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.
      1. Pick new Gyro/Accelerometer
    3. ❌ Magnetometer
      • Can't be detected with an I2C scanner, probably dead.
    4. Barometric pressure sensor
      1. ✔️ Check if it can be found with the I2C scanner.
      2. Check is values are sensible.
    5. ❌ On board F-RAM
      • Wrong IC choice on my part.
    6. ESC control
    7. IBUS communication
    8. Buzzer
    9. ✔️ LEDs
  7. Writing drivers
    1. Gyro/Accelerometer
    2. Magnetometer
    3. Barometric pressure sensor
    4. On board F-RAM
    5. ESC control
    6. IBUS communication
    7. Buzzer and LEDs
    8. SD Card
    9. USB
  8. Signal processing
    1. Data conversion and correction
    2. Data filtering
    3. Extended Kalman filter implementation for sensor fusion
    4. PI(D) controller
  9. FSM controller
  10. 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.

Comments
Sign in to comment

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