Flight Controller / Fundamentals

FC3 — STM32 Selection

Microcontroller Criteria for Flight Controller Development
Contents

In our previous post, we discussed the three-layer nested structure of the UAV control architecture. Choosing the right MCU to implement this control system is the very first critical design decision in flight controller development. While the STM32 family has become the de facto industry standard for FC development, it spans multiple generations—namely the F4, F7, and H7 series. The optimal choice depends heavily on your specific application. This article breaks down the selection criteria and the unique characteristics of each series.

Why STM32 is the Choice for Flight Controllers

The STM32 is far from the only microcontroller option on the market; developers also use chips like the ESP32, RP2040, and NXP i.MX RT. Despite this competition, the STM32 remains the de facto standard in FC development for four key reasons:

The STM32 Portfolio Overview

The STM32 is an ARM-based MCU family by STMicroelectronics. The three primary generations used in flight controllers are:

Key Selection Criteria for FC Applications

When choosing a specific MCU variant, evaluate your system against these five core pillars:

Evaluation Pillar

Critical Considerations for Flight Controllers

Computational Capacity

Determined by your control loop frequency and algorithmic complexity. Running an 8 kHz attitude loop alongside Field-Oriented Control (FOC) motor algorithms overwhelms an F4, making an F7 or H7 mandatory. Furthermore, ArduPilot’s EKF3 state estimator is computationally heavy; an F4 hits its limits around a 400 Hz loop, whereas an H7 handles it with plenty of headroom.

Peripheral Density

Dictates your sensor configuration. If your design calls for redundant IMUs (x3), dual barometers (x2), dual GNSS systems (x2), and dual CAN buses (x2), the available port count becomes an immediate bottleneck. Standard F4 variants often run out of pins, whereas most H7 packages offer ports to spare.

Memory Footprint

Essential for flight log buffering and ArduPilot’s stack size. ArduPilot runs uncomfortably tight on an F4’s 256 KB RAM. An H7 with 1 MB+ RAM and 2 MB Flash is the recommended baseline specification. Most designs complement this by adding an external SPI Flash (such as the W25Q series) for dedicated log storage.

Power Consumption

Vital for micro UAVs or long-endurance aircraft. The H7 draws significantly more current due to its high performance. For ultra-lightweight builds operating under a strict power budget, the legacy F4 may offer an architectural advantage.

Development Risk

Relying on thoroughly vetted silicon mitigates deployment risk. The STM32F405RGT has the longest track record in ArduPilot history, meaning hwdef.dat reference files are widely available. Newer H7 variants offer incredible performance but require verifying their current software maturity within the ArduPilot ecosystem.

Detailed Comparison of Key Variants

STM32F405RGT (Legacy FC Standard)

STM32F765 / STM32F767 (The F7 Workhorse)

STM32H743 / STM32H753 (Current Industrial Standard)

STM32H745 / STM32H755 (Dual-Core Asymmetric)

Mapping Functional Requirements to STM32 Part Numbers

To make your final decision, map your drone's physical requirements to the appropriate package size and series:

Risk Management in Hardware Development

If you are developing a custom flight controller for the first time, start with a thoroughly vetted, reference-grade part number. The STM32H743VIT or STM32H743IIT are highly recommended because they share the exact same silicon family as industry standard hardware (like the Cube Orange+). This guarantees that reference hwdef.dat files, datasheet errata workarounds, and community forum solutions are readily accessible.

Choosing cutting-edge or alternative variants (like the H7A3 or H7B3) might yield slightly better standalone chip specs, but you run the risk of running into missing driver implementations. Your first step should always be checking the libraries/AP_HAL_ChibiOS/hwdef directory on the ArduPilot GitHub repository to confirm that a stable target configuration already exists for your chosen chip.

Summary

The STM32 remains the gold standard for flight controllers due to its deep integration with ArduPilot/PX4, comprehensive peripheral density, and mature software ecosystem. When choosing between the generations, view the F4 as the choice for legacy/small configurations, the F7 as a mid-tier bridge, and the H7 as the definitive modern standard. For new industrial UAV projects, we recommend basing your architecture around the STM32H743.

In our next article, FC4, we will dive deeper into the internal architecture differences within the H7 family, providing a detailed head-to-head comparison between the H743, H745, H753, and H7A3.

Explore Our Technologies

KURAGE GCS

Browser-Based Ground Control System

KURAGE Vision

AI Vision & Security Platform

KURAGE FC

Custom STM32H743 Flight Controller

KURAGE Mission Computer

Autonomy Engine for UAVs and Robotics