Record 01
Saarthi (H7-Pro)
A dual-MCU flight controller on a 90 mm board, with the servo outputs driven only by a separate safety microcontroller.
- Status
- In layout — schematic complete, routing in progress
- Year
- 2026
- Role
- Hardware architecture, KiCad schematic and layout, FlightCore software
- Flight MCU
- STM32H753ZIT6
- Safety MCU
- STM32G431CBU6
- IMU
- BMI088 + 2× ICM-42688-P
- Barometer
- MS5611 + DPS310
- Board
- 90 × 90 mm
Briefing
- Problem
- A fixed-wing and glider flight controller that keeps actuator authority away from the flight computer.
- My part
- Hardware architecture, KiCad schematic and layout, and the FlightCore software.
- What exists today
- A KiCad board file (ERC clean, routing in progress) and a host-tested C11 core. Not fabricated, not flown.
- Key result
- 72 of 72 FlightCore host tests pass, on a simulation model only.
Objective
A flight controller for fixed-wing and glider airframes that keeps actuator authority away from the flight computer. The STM32H753 runs the flight stack; a separate STM32G431 owns RC input, the safety switch, and every PWM output, so the flight computer never drives a servo pin directly.
Architecture
Schematic
-
Sensors
- BMI088 IMU (primary)
- 2× ICM-42688-P IMU
- MS5611 + DPS310 barometers
- Link: IMUs: one SPI bus each
Flight computer: STM32H753
- Flash, FRAM, microSD logging
- INA228 power monitor
- CAN FD, USB-C, GNSS and telemetry ports
-
Safety MCU: STM32G431
- RC input and safety switch
- Rail monitoring
- 12 servo outputs
Diagram from the board file
-
01
Flight computer
The STM32H753 runs the flight stack. It reads every sensor but never drives a servo pin directly.
-
02
Safety controller
A separate STM32G431 owns RC input, the safety switch, and all twelve servo outputs along the bottom edge. Actuator authority stays off the flight computer.
-
03
Sensors
Three IMUs, each on its own SPI bus, and two barometers from different vendors give the firmware independent sources to cross-check.
Constraints
The board is a chamfered 90 × 90 mm square with an 80 × 80 mm M3 pattern and a 30.5 × 30.5 mm stack pattern. It is a flight controller, not a power board: battery, motor, and servo current stay on a separate 3S/4S power distribution board, which feeds the controller regulated 5 V. Each IMU sits on its own SPI bus.
Hardware and firmware
KiCad render
Three IMUs on separate SPI buses and two barometers from different vendors give the firmware independent sources to cross-check. The firmware side is Saarthi FlightCore: a portable C11 core built and tested on a host PC, with Mahony, Madgwick-style, complementary, and reduced-MEKF attitude estimators behind one interface. It has no STM32 backend yet.
Measurements
Board checks on the current file (KiCad 10, 24 September 2026).
- 0 ERC errors. Board file
- 4 DRC errors, all USB-C hole clearance. Board file
- 386 Connections still unrouted. Board file
FlightCore, on a host simulation model only (no hardware, no flight).
- 72/72 Host tests pass. Host simulation
- 0 Failed seeds in a 100,000-seed stress campaign. Host simulation
- ≈ 1.0 m Drift in 10 s from an uncorrected 0.02 m/s² accelerometer bias, which is why IMU-only position hold is rejected. Host simulation
Failures and iterations
Two drafts came first: a 50 × 50 mm glider controller (40 mm failed DRC) and an STM32F745 board at 80 × 60 mm. The H7-Pro grew to 90 mm to carry its connectors. Its first ERC run reported 126 errors; annotation brought that to 20, and later passes to 0.
A September 2026 audit found BMI088 ground pins tied to the sensor supply, and the 3.3 V sensor regulator fed from 3.3 V, leaving it no headroom. Both are fixed in the current file (the regulator now takes 5 V). A two-board, six-layer revision is planned but not started.
Status
In layout — schematic complete, routing in progress
End of record R-01
Questions about this record? hello@vedantsomani.tech or open a channel.