What is Flight Controller MCU?
All flight controllers, that run Betaflight, Emufligh, Cleanflight or other flight software, are based on the STM32 type microcontroller or MCU (also can be called as “processor“). STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 family consists of series of microcontrollers: H7, F7, F4, G4, F3, F2, F1, F0,... Internally, each microcontroller consists of the processor core, static RAM, flash memory, debugging interface, and various peripherals. It is the main processing device of the flight controller. It runs the dedicated program called firmware (e.g. Betaflight) and controls the quad by sensing an measuring the environment by the help of external sensing devices – gyroscopes, accelerometers, compasses, barometers and GPS.
The main differences between the STM32 microcontroller series are: internal architecture, clock speed, internal flash size, number of interfaces for peripherals and other.
Comparison table by max clock frequency
F1 series of the MCU were released in 2007. This is the MCU that started the flight controllers era. NAZE32 was the first flight controller, based on STMF103 and Baseflight firmware. The most commonly used MCU was STM32F103CBT6 with 128Kb of the flash space for firmware. This MCU currently is outdated as Betaflight support for F1 MCU was discontinued in 2017. The last version that supports F1 is Betaflight 3.2 .
F3 series of the MCU were released in 2012. They have up to 72MHz core speed and up to 256 Kb general flash size. The F3 is almost pin-to-pin compatible with the STM32 F1-series. Higher clock speed allows to run 2x higher loop times than earlier generation of F1 microcontrollers, up to 8KHz. F3 microcontrollers have 3 serial ports for peripherals.
This MCU currently is outdated as Betaflight support for F3 MCU was discontinued in 2017. The last version that supports F3 is Betaflight 4.0. Read about this here.
F4 series of the MCU were released in 2011. So the F4 MCU in fact was released before the F3. They have marginally faster clock speeds, that enable to run up to 32KHz loop times. Most popular F4 MCU are STM32F405RGT6 with 168Mhz and STM32F411CCU6 with 100MHz clock speed, but with reduced footprint size for smaller boards.
STM32 G4 series MCU is released first in 2019. G4 is featured with extensive analog signal processing and rich advanced analog peripherals, has up to 512Kb of flash and up to 128Kb RAM memory, runs on up to 170MHz speeds. G4 provides better power efficiency and performance compared to the older F3/F4 series. G4 has 5 hardware UARTS.
First flight controller with STM32G4 MCU is FETtec KISS G4 flight controller, released in 2021-10.
F7 series of the MCU were released in 2014. They have up to 216MHz core speed and up to 2048Kb general flash size. The F7 is pin-to-pin compatible with the STM32 F4-series. The most popular MCU is STM32F722RET6 has 512Kb of flash memory, 128Kb or RAM and 5 hardware UARTS.
H7 is the newest MCU, released in 2017. It was designed as faster and more cost effective alternative to F7 series. Clock speed was almost doubled up to 400MHz. thanks to improved semiconductor manufacturing process from 90nm down to 40nm. This also reduces power consumption. H7 series are cheaper than F7 series, due to reduced internal flash size (using cheap external memory instead).
Inverted/uninverted serial ports
F3, F7 and H7 series microcontrollers have built-in ability to invert the serial signal. Other MCU’s – F1 and F4 have no build-in inverters, so either you need to invert SBUS and S.Port signals by external inverters or the flight controller manufacturer has to implement the additional inverting components on the FC board.
[To be continued]
2019-04-05 Article created
2021-10-05 G4 MCU introduced.