1. System Architecture Overview

A modern UAV flight controller is a real-time embedded system responsible for attitude estimation, PID control loop execution, sensor fusion, and communication with peripherals. The core architecture consists of a main MCU, inertial measurement units (IMU), barometer, GNSS receiver, RC receiver interface, ESC outputs, and telemetry radio.

RC Receiver
(SBUS/CRSF)
IMU × 2
(SPI)
Barometer
(I2C)
GNSS Module
(UART)
↓             ↓             ↓             ↓
Main MCU — STM32H7 / STM32F4
PID Loop · Sensor Fusion · MAVLink
ESC × 4–8
(DSHOT)
Telemetry
(UART/USB)
OSD Chip
(SPI)
Companion
Computer

2. Main MCU Selection

The central processor handles time-critical flight algorithms. Key requirements are a fast FPU for floating-point PID calculations, sufficient UART/SPI/I2C peripherals, DMA support, and broad firmware ecosystem compatibility (PX4, ArduPilot, Betaflight).

Part NumberCoreFreq.FlashFirmwareBest For
STM32H743Cortex-M7480MHz2MBPX4, ArduPilotCommercial / Pro UAV
STM32F745Cortex-M7216MHz1MBBetaflight, PX4FPV / Racer
STM32F405Cortex-M4168MHz1MBBetaflight, KISSFPV Legacy
STM32G474Cortex-M4170MHz512KBBetaflight (new)Budget FC
RP2040Cortex-M0+×2133MHzExternalBetaflightLow-cost FC

💡 Recommendation: For commercial/agricultural UAVs, use STM32H743 (480MHz). For FPV racing, STM32F745 or F405 provide sufficient performance at lower cost.

3. IMU (Inertial Measurement Unit)

The IMU provides gyroscope and accelerometer data for attitude estimation. Most flight controllers use dual IMUs — a primary high-performance unit and a secondary for redundancy. Both must be connected via SPI (not I2C) for the required data rates.

3.1 Recommended IMU Parts

PartAxesGyro RangeMax ODRInterfaceNotes
ICM-42688-P6-axis±2000 dps32kHzSPI/I2CIndustry standard
BMI0886-axis±2000 dps2kHzSPI/I2CVibration-robust
ICM-206896-axis±2000 dps8kHzSPILegacy, still popular
MPU-60006-axis±2000 dps8kHzSPI/I2CFPV budget choice

3.2 IMU Placement Best Practices

  • Mount IMU as close to the center of mass as possible
  • Use vibration-dampening foam pads (Shore A 20–30 hardness)
  • Avoid placing near high-current traces or motor cables
  • Board-to-board connectors add vibration coupling — prefer soldered connections
  • For dual IMU: offset slightly to detect common-mode vibration

4. Barometric Pressure Sensor

The barometer provides altitude hold capability with approximately ±0.5–1m resolution. It must be isolated from aerodynamic pressure fluctuations by a foam cover in a ported enclosure.

PartAltitude ResolutionInterfaceRange
BMP388±0.5mSPI/I2C300–1250 hPa
MS5611±10cmSPI/I2C10–1200 hPa
DPS310±0.5mSPI/I2C300–1200 hPa

5. Communication Interfaces

5.1 ESC Protocol

Modern flight controllers use digital DSHOT protocols instead of analog PWM. DSHOT600 or DSHOT1200 provide bidirectional telemetry, frame-level synchronization, and are resistant to interference.

// DSHOT600 timing reference // Bit duration: 1.67µs (0 = 0.625µs high, 1 = 1.25µs high) // Frame: 11-bit command + 1-bit telemetry request + 4-bit CRC // Throttle range: 48–2047 (0-47 reserved for commands) // Max update rate: 32kHz (with DSHOT1200)

5.2 RC Receiver Protocols

  • SBUS — 100k baud inverted UART, 16 channels, 14ms latency
  • CRSF (Crossfire) — 416k baud UART, 16 channels, <2ms latency
  • ELRS — Open-source, 100Hz–500Hz link rate, sub-1ms latency
  • PPM — Legacy, single pin, higher latency

6. Open-Source Firmware Stack

Three major open-source stacks dominate the market:

  • PX4 — Professional/commercial grade, UAVCAN support, full RTOS (NuttX)
  • ArduPilot — Highly configurable, 10+ vehicle types, MAVLink protocol
  • Betaflight — FPV-optimized, ultra-low latency, Blackbox logging

Need these components?

Browse our complete flight controller chip inventory with competitive B2B pricing.