Flight controller MCU – F1, F3, G4, F4, F7 and H7

What is Flight Controller MCU?

All flight controllers, that run Betaflight, EmuflighCleanflight 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, G4F3, F2, F1, F0,... Internally, each microcontroller consists of the processor core, static RAMflash 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
Code Core Max freq [MHz] Max FLASH [KB] Max SRAM [KB] Target
H7 CortexM7 400 2048 1024 High performance
F7 CortexM7 216 2048 512 High performance
F4 CortexM4 180 2048 384 High performance
G4 CortexM4 170 512 128 High performance
F2 CortexM3 120 1024 128 High performance
L4 CortexM4 80 1024 320 Low power
F1 CortexM3 72 1024 96 Mainstream
F3 CortexM4 72 512 80 Mainstream
F0 CortexM0 48 256 32 Mainstream

 

F1

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

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

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.

G4

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.

[Picture pending]

F7

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

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.

Comments
  1. ChrisP
    • montis
      • ChrisP
        • montis
          • ChrisP

Leave a Reply

Your email address will not be published. Required fields are marked *

*