Flight controller MCU – F1, F3, G4, F4, F7 and H7
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.
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.
Oh, how I miss the good ole days of of the DTFC F3 Flight Controller.
Between Smart Audio,BL_HELI_32,and fpv going digital with DJI the hobby has made some major leaps. I mentioned Simon-K to a newer pilot and he thought i was referring to some FPV Pilots YouTube channel.
Never heard about DTFc flight controller. Made a quick research. Interestingly you still can find this FC listed for sale, however the DTFc website http://www.dtfuhf.com/ is down unfortunately.
Features
Integrated F3 based FC and PDB in one board
ICM-20608-G shock tolerant IMU using SPI
120A current sensor
PPM/SBUS/SUMD/ Any other input you desire – just plug it in and configure
Dedicated LEDstrip port with onboard 5V regulator
6S capable! Made for power
Runs Betaflight – BLHeli ESC Passthru capable (use the DOGE target!)
Want to try the more advanced dRonin software? That’s coming too!
Two serial ports available – not shared with SerialRX port or USB port
Not made in China!
Proudly designed in Canada
Manufactured in Glorious Nippon
It was one of the first aio fc’s.
It’s downside was it was very sensitive to noise and required some hefty soft mounting. It was sorta a mix between a Naze32 board and an AIO FlightController.
I think DTFC was also one of the first manufactures of OSD chips as well. With OSDoge.
This was back before there was absolutely no OSD tab in BetaFlight and flight controller manufactures couldn’t comprehend putting an OSD chip on a flight controller. I think there has been some big game changing advancements in this hobby. Between OSD chipset, SmartAudio, BLHeli_32,and digital FPV feed people entering the hobby these days have it easy. De-Sync’s were soo very common during the days of Simon-K ESC’s.
Thanks for your reply. My first steps into multirotors was 5inch quad with KK2 board and fake RCX 1804 motors. Of course it was LOS. FPV was something from the future. I think it was year 2014-2015. Quadcopter was hardly flyable even in stabilized mode as I remember.
I remember those knock-off rcx motors…lolz. I remember how under powered those quadcopters were back then. I started flying when the KK2 boards started to become replaced by Naze32 boards. It’s truly amazing how things have developed since then. I also remember how unreliable some ESC’s were and how common de-syncs and deathrolls were. I really do appreciate you posting up. Personally, i appreciate people like You, Oscar Liang, and Painless360 over Joshua Bardwell. You three are doing this out of passion and recreation, while JB is all about profit.
Thanks for the content.