When choosing flight controllers, F1, F3, F4 and F7 pop up all the time. These are the FC processors and this article explains the differences and which one we should get.
Index of Content
- What are F1, F3, F4 and F7 in FC?
- Differences of F1 vs F3
- Benefits of F3 vs F4
- Beneifts of F7 vs F3/F4
- What to get?
What are F1, F3, F4 and F7 in Flight Controllers?
Basically, F1, F3, F4 and F7 are the four different series of STM32 processor. This STM32 processor is the brain of your flight controller, pretty much like the CPU in a computer. There are currently 10 series in the STM32 family, from more capable to less capable are H7, F7, F4, F3, F2, F1, F0, L4, L1, L0.
|Processor||Processor Speed||no. of UART on FC|
The first 32-bit flight controllers for mini quad was the CC3D with F1 processor. F1 FC has the the lowest processing power in the four. Good examples of F1 flight controller would be the Naze32 and CC3D.
F4 Flight controllers were introduced shortly after the F3. They are also getting more popular, such as the Raceflight Revolt, BrainFPV RE1, and DemonRC Soul.
F7 is a newer generation MCU. There are at the moment only a handful of flight controllers using F7 processor, such as BG F7 FC.
Differences between F1 and F3 Flight Controllers
To summarize, the F3 has these advantages over F1:
- Similar clock speed on paper, but F3 has faster floating point calculation due to the dedicated floating point unit (FPU)
- 1 extra UART on the F3 (3 vs 2), and F3 has dedicated port for USB, so when it’s connected to computer via USB, UART 1 doesn’t get occupied the same way as F1 FC does, so in that sense the UART1 in F3 is more functional (3 vs 1), as we normally would try to avoid using UART1 on F1 boards for that reason
- All UART’s on F3 built native inversion, which means you can run SBUS and Smart Port directly without any hacks
- Newer F3 FC have better design and features than the old F1 FC
Processing Power (Speed)
F1 and F3 has the same clock speed of 72MHz, while the F4 is 180Mhz.
Although the F1 and F3 has the same max speed, F3 can handle floating point calculations quicker thanks to the FPU (math co-processor). F3 can run significantly faster than F1 in floating point PID controllers.
As many of your might already know, 2K looptime is pretty much the highest we can run on the Naze32 boards in Betaflight. It simply cannot go higher as the processor can’t keep up. (It can be pushed to 2.6KHz but it becomes unstable)
F3 boards can easily get up to 4K looptime, even running other CPU-intensive tasks, such as the accelerometer, LED strips, Soft-serial etc. We can even run 8KHz with Acc disabled. But for the F1 boards, we previously needed to disable a lot of these features first in order to run just 2K.
Generally, depending on PID Controller, the number of serial ports used, the number of Aux channels, etc, we can achieve the following looptime (assuming ACC is disabled)
When People are talking about 8K/8K, or 4K/4K, they are referring to the looptime, and Gyro sampling rate.
- F1’s mostly run between 2K-2.6K, if you get a CC3D they can run 4K/4K because of the SPI Gyro
- F3 and F4 with SPI Gyro Bus can run 8K/8K, but with i2C Gyro you can only do 4K/4K
- The only FC that can do 32K/32K at the moment is Raceflight Revolt with ICM-20602 Gyro.
All these FC can run ESC up to 32K ESC update rate at no extra penalty. After setting new looptime, always check CPU usage via CLI command “status”, the general consensus suggests it’s best to stay under 30% CPU usage in BF, some might get away with more.
Number of UARTs
Apart from processing power and looptime advantages, the F3 also provides additional hardware serial ports (UART). And all UART’s have built-in inverters.
On the F1 flight controllers such as the Naze32, we have only 2 UART’s. It gets quite annoying when you cannot run blackbox, SBUS and MinimOSD all at the same time, which could have been my usual setup. F3 boards have an extra UART which becomes handy.
Other advantages of common F3 FC
Most F3 boards have either an integrated 5V regulator, a few even have PDB integrated, which means the FC can be powered by LiPo directly.
F3 boards also have built-in hardware inversion on their UARTs, so there is no need to hack your X4R-SB receiver in order to run SBUS and SmartPort. F1 board doesn’t so requires additional hardware or hacks.
The F3 is almost pin-to-pin compatible with the STM32 F1-series, and someone commented on my blog recently, that he successfully replaced the F1 chip with a F3 on his CC3D, and running 125 looptime on it (thanks to the SPI Gyro BUS in CC3D)
Note that the processor does not have much to do with the size of flash data storage. It’s actually determined by a separate memory chip on the flight controller.
Differences Between F3 and F4
- F4 has much higher processing speed at 168MHz vs 72MHz of F3
- F4 FC’s normally have at least 3 UART’s sometimes even 4 depends on the actual board
- Some F4 FC’s have integrated OSD capability (OSD drawn by the main processor!) such as the BrainFPV RE1
- Majority of F4 FC’s are supported by both Betaflight and Raceflight firmware
Benefits of F7 FC Compared to F3 and F4
- Faster Processor (216MHz vs 168MHz of F4)
- More UART’s with built-in hardware inversion
The faster speed F7 processor allows faster looptime in theory without overclocking like we do with F4 running 32KHz. But that’s not entirely true as looptime is limited by gyro sampling rate, which is then limited by the type of gyro sensor (MPU). For example with MPU600 Gyro sampling can only reach 8K max, while ICM-20602 can run 32K.
But looptime is a whole different discussion, whether 32KHz looptime is better in terms of performance?
F7 has more UART’s with built-in signal inverter. Look at all that peripherals that we can use nowadays, SBUS, OSD, VTX SmartAudio, Smartport Telemetry, Blackbox… There are already a lot of applications and there can only be more in the future.
So, Should I Get F1, F3, F4 or F7 FC?
Sure, you can get your multirotor flying fine with F1 boards, but faster F3 and F4 can give you better performance and allow you to run resource intensive features. As FC firmware continues to advance, F1 boards will miss out on future cool features due to the lack of processing capacity.
F1 boards are running out of memory to store the FC firmware codes, and Betaflight has decided to end support to F1 boards soon in the future. Therefore, avoid buying new F1 flight controllers if you care about running the latest FC firmware.
So really, the decision is down to F3, F4 and F7 these days.
As for F7 flight controllers, unless you use it with a 32KHz capable Gyro, and run 32KHz looptime, the main F7 benefit is just more UART ports available (8 of them). It’s not that big of an advantage right now, but it’s more future-proof for sure.
One drawback with current F7 FC is the bigger MCU (F745VG) that takes up too much physical space on the board, it doesn’t leave much room for other components, solder pads and pin holes. Hopefully smaller F7 chip variants (such as F722RE) will be used that has the same package as other F3/F4. It will take time for manufacturers to refine the hardware design, and figure out what they can do with the extra processing power.
If I was going to buy a new flight controller now, I would probably opt for a F3 or F4, because they are generally packed with features I want, and have very well thought-out layouts with very mature and user-friendly designs.
Here are our FC recommendations.
- Oct 2015 – Article created for F1 and F3
- Oct 2016 – Updated F4 info
- May 2017 – Updated F7 info
- Jun 2017 – Betaflight have officially expressed their intent to end support for the F1 FC