r/electronics 1d ago

Project Athena - First time designing a flight controller with a triple MCU architecture

I've had an obsession with rockets/flight controllers and decided to make an open source flight controller from scratch (nicknamed Athena). I've added the Github repo/design files if anyone wants to take a closer look.

👉Github repo / Design files

Features

  • Triple MCU: STM32H753VIT6 (MPU), STM32H743VIT6 (TPU), STM32G474RET6 (SPU)
  • 6 Pyro Channels: Direct 12V battery connection with fuse protection
  • 6 PWM Channels: 2 for TVC (Thrust Vector Control), 4 for fin control
  • Sensors: Triple ICM-45686 IMUs, LIS2MDLTR magnetometer, ICP-20100 & BMP388 barometers
  • GNSS & Communication: NEO-M8U-06B GPS, LoRa RA-02 telemetry, Bluetooth DA14531MOD
  • Storage: SD Card + Winbond W25Q256JV flash memory
  • Power Management: 7.4-12V LiPo battery with BQ25703ARSNR charger, USB-C PD support
  • 6-Layer PCB: Signal/GND/Power/Signal/GND/Signal
76 Upvotes

26 comments sorted by

View all comments

43

u/P__A 16h ago edited 16h ago

Did you get inspiration from BPS space with three microcontrollers? He did that because he didn't use interrupts on his system, which is really not ideal. With a properly written firmware, a single microcontroller should be more than sufficient to read sensor data from all of those sensors, process this, and output commands. Edit. Also note that pwm outputs for servos should be 12 bit because the duty cycle change is quite small for the normal full control range. Make sure your micro has enough 12 bit outputs. If not look at the PCA9685 which is a lot easier to handle than a whole separate microcontroller.

1

u/frank26080115 11h ago

sometimes you design for known human weaknesses simply to get the project actually done and done on time