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

What is Flight Controller MCU?

All flight controllers that, run Betaflight or Cleanflight are based on the STM32 type microcontroller (MCU). STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 family consists of ten series of microcontrollers: H7, F7, F4, F3, F2, F1, F0, L4, L1, L0. 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, compases, barometers and GPS.

The main differencies 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
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
L0 CortexM0+ 32 192 20 Low power
L1 CortexM3 32 512 80 Low power

 

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 looptimes 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 looptimes. Most popular F4 MCU are STM32F405RGT6 with 168Mhz and STM32F411CCU6 with 100MHz clock speed, but with reduced footprint size for smaller boards.

F7

F7 series of the MCU were released in 2014. They have up to 216MHz core speed and up to 256 Kb general flash size.The F7 is pin-to-pin compatible with the STM32 F4-series. 

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 semiconducter 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]

Article uses information from Wikipedia, STMicroelectronics.

Leave a Reply

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

*