F1, F3, F4 and F7 Flight Controller Differences Explained

When choosing flight controllers, the term “F1”, “F3”, “F4” and “F7” pop up all the time. These are the FC processors and in this article we will explain the differences between them and which one you should get.

Index of Content

What are F1, F3, F4 and F7 in Flight Controllers?

F1, F3, F4 and F7 are the different STM32 processors (a.k.a. MCU – Microcontroller unit) in a flight controller (FC). This STM32 processor is the brain of a flight controller, pretty much like the CPU in a computer where all the calculation takes place. There are currently 10 series in the STM32 family, from faster to slower processing speed: H7, F7, F4, F3, F2, F1, F0, L4, L1, L0.

STM32 F1, F3, F4 Processors on flight controllers

STM32 F1, F3, F4 processors on flight controllers

Processor (example chip) Processor Speed no. of UART on FC Flash Memory*
F1 (STM32F103CBT6) 72MHz 2 128KB
F3 (STM32F303CCT6) 72MHz 3 256KB
F4 (STM32F405RGT6) 168MHz 3 1MB
F7 (STM32F745VG) 216MHz 8 1MB

* Flash memory is not the memory for blackbox log, but the integrated memory in the processor to store the flight controller firmware. The actual flash memory size might vary between chip variants of different dimension

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.

F1, F3, F4, F7 flight controller

Naze32 FC

F3 FC boards were introduced in 2014 and currently have the X-Racer, Betaflight F3, LUX V2, and the KISS FC.

F3 flight controller

Betaflight F3

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.

F4 flight controller

Revolt F4

F7 is a newer generation MCU. F7 FC’s are very new to the market and at the moment there are only a handful of F7 flight controllers, for example AnyFC F7 FC.

F7 flight controller

AnyFC F7

Fun Fact: ESC’s are moving from 8-bit to 32-bit processors too! STM32 F0 processors are currently used in many 32-bit ESC’s.

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
XRacer F303 flight controller top

XRacer F303 flight controller top

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.


MotoLab Tornado F3

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.

External devices like MinimOSD, SBUS, SmartPort telemetry, Blackbox (using Openlog and SD card), computer USB connection, GPS, etc these all use serial ports.

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.


RMRC Dodo F3

Differences Between F3 and F4

  • F4 has higher processing speed at 168MHz vs 72MHz of F3. It’s possible to run 32KHz Looptime on F4, but it isn’t possible on the F3; Both F3 and F4 can handle 8K or lower looptime very well, but the F4 leaves you with lower percentage of CPU load to run more features. Especially more recently, with the new “Dynamic Filter” feature which is quite processing intensive, F4 definitely has an advantage in that regard going forward
  • F4 FC’s normally have at least 3 UART’s sometimes even up to 5 depends on the actual board design and layout; F3 FC normally only has 3 UART’s
  • Majority of F4 FC’s are supported by both Betaflight and Raceflight firmware (The latest Raceflight One is now closed source and only support their own FC, the Revolt)
  • F1 and F4 FC’s do not have built-in inverters inside the processor like F3 or F7. If you want to run SBUS or Smart Port, you might be required to do the inversion hack (getting uninverted signal); F3 and F7 have built-in inverters on all UART‘s because they are newer generation MCU’s
  • Due to the more powerful processor on the F4 FC’s, it’s possible to drive OSD feature by the main processor instead of using a dedicated OSD chip, such as the BrainFPV RE1

Benefits of F7 FC Compared to F3 and F4

  • F7 is a faster processor (216MHz vs 168MHz of F4)
  • F7 offers more UART’s with built-in hardware inversion
  • F7 has superscalar pipeline and DSP capabilities – basically that means the F7 is a better platform for future development that allows the developers to further optimize the flight controller algorithms

The faster speed F7 processor allows for faster looptime in theory without overclocking like we do with F4 running 32KHz. But that’s not entirely true as looptime is also limited by the type of gyro (IMU) and their sampling rate. For example with MPU6000, the sampling can only reach 8KHz max, if you want to do 32KHz, you would have to use faster MPU such as the ICM-20602.

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 even 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.

Update (Jun 2017) – F1 boards are running out of flash memory to store the FC firmware code, 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.

We can anticipate the technology is moving toward faster processors, which allows more exciting features, more sophisticated filters and algorithms (they really make our quad fly amazing!).

Right now, for the F7 flight controllers, unless you use it with a 32KHz capable Gyro, and run 32KHz looptime, the main benefit is just more UART ports available (8 to 10). It’s not that big of an advantage in terms of flight performance, but it’s more future-proof for sure. In my opinion, F7 would be great for applications where a lot of serial devices are used, such as for the iNav firmware.

One downside with today’s F7 FC is they are using the bigger F7 chip (F745VG) that takes up too much physical space on the board, it doesn’t leave much room for other components and connections. Hopefully smaller F7 chip variants (such as F722RE) can be used. It has the same package as the F3/F4 we are using, although the F745 does have more flash memory for the software and RAM for code execution though than the F722.

Anyway, it will take time for manufacturers to refine the hardware design, and for the firmware developers to figure out what they can do with the extra processing power and features. So there is no need to rush and get the F7 right now IMO.

If I was going to buy a new flight controller today, I would probably opt for a F3 or F4, because they are generally packed with features we need, and have very well thought-out layouts with mature and user-friendly designs.

Here are our FC recommendations.

What happened to F2, F5 and F6?

The only STM32 chips we have seen used in flight controllers are F1, 3, 4 and 7, for those who have a curious mind might wonder why they skipped F2, F5 and F6?

First of all, F2 is like a older version of F4, and the next in line F3 has built-in “floating point unit” for faster calculation, so it’s natural for developers to just skip F2.

And STM32 F5 and F6 simply do not exist. because the naming of STM32 processors are mainly based on the ARM processor core such as F1 is based on Cortex M1, F3 is based on Cortex M3 etc, and there weren’t Cortex M5 and M6.

Edit History

  • Oct 2015 – Article created for F1 and F3
  • Oct 2016 – Updated F4 info
  • May 2017 – Updated F7 info
  • Jun 2017 – updated news about “Betaflight will end support for the F1 FC”, and added a column for flash memory in the table thanks to Boris B.’s idea
  • Aug 2017 – updated info about the missing F2, F5 and F6

48 thoughts on “F1, F3, F4 and F7 Flight Controller Differences Explained

  1. everton mendes schlickmann

    Oscar Your posts are always the best…
    I’m Looking for a board to my quad QX9 frame. Maybe some F4 with OSD and Current sensor.
    Thanks for help

  2. Ardalan Ghazi

    Typo: F4 has higher processing speed at 168MHz vs 72MHz of F3. It’s possible to run 32KHz Looptime on F4, but not on F3; Both F3 and F4 can handle 8K or less looptime very well, but the F4 (YOU MEANT F3) leaves you with less CPU load to run other features. Especially now with the latest “Dynamic Filter” feature which is quite processing intensive, F4 definitely has an advantage in that regard going forward

    1. Oscar Post author

      LOL I think that’s an misunderstanding, I mean to say F4 can have a lower % of CPU load so it can run more features at the same time.

  3. BorisB

    You forgot to mention the flash space from F3 vs F1, (256kb vs 128kb) which plays a huge difference in terms of features being developed on that platform ;)
    The current code base is way too big to fit any of the modern features on F1;s

  4. Mike

    I have a wizard x220 with the FS-16 tx. It came with the F3 6DOF fc. It came from banggood with yaw problems. In the process of attempting to correct it with beta flight lost factory settings on tx. Any help on binding it to the FS-IA6B receiver? any help is greatly appreciated. First racing drone upgrading from toy quads. Thanks again.

    1. Scott

      You should have got a bind plug with your setup, plug the bind plug into the RX ch1 or ppm I think it is, power quad up, now with your finger on the bind button switch on your tx

  5. Garvit

    Hello, I am thinking about making a quadrotor with contra-coaxial motors or a simple hexa copter. I have a mission, but will be flying with RC only. My query is, at the time of selection what are the parameters of the vehicle that needs to be considered? Also, motors or size of the vehicle or weight, etc., anything like that needs to be considered while selecting the FC? Please suggest me an FC for the given requirement and I want FC with lowest integration required to be done or the one whose coding can be done easily or easily available online.

    Thanks. Your site is full of information.

  6. Indy

    HI Oscar,
    I’m a big fan, I appreciate your reviews and articles a lot.
    I used several naze 32 rev 5 as well as a few F3. I experience drifting problem sometimes after a few minutes, especially changing modes…
    I wish to get something more reliable but not too expensive.
    What would you propose today?
    x-racer F303 v3, slyline F3+OSD, motolab cyclone??? Anything else? Lot of choice nowadays…

    Anyways thanks for soir work…

    1. Oscar Post author

      I would suggest the XRacer, because that’s the one I used and I am very happy with the performance.

  7. Juan

    Hi Oscar
    I was building my first quad using the sp racing f3 acro and manage to damage the + vbat pad. The board works fine when plugged to cleanflight but I get nothing when plugged to a lipo..
    I already resolder everything and nothing changed so i tried plugging a lipo directly to the vbat pads and still nothing..is there any other way to power the board other than the vbat pads?
    But away thanks your videos and blog have been really helpfull..

    1. Michael

      You don’t power the board from the vbat pins, they are for the board to read the battery voltage and either display it via an OSD or allow you to set up a buzzer to warn you when it is getting low. The board is powered from either a 5v BEC which may be built into your power distributton board or from an ESC if the ESC has a BEC. You will be able to tell if it does as it will have 3 wires coming from it to a servo plug. You then supply the board with 5v to any pin on the middle row of ESC connections and a ground to any pin on the bottom row (or outer edge if you have the soldered vertically).

  8. Russell Holt

    I was wondering if there was a difference in SoftSerial speed between the F1 & F3 (I’m using an SPR3 Deluxe right now and i’m thinking of using 19.2kbs on SS for my GPS. the quad re-build is still on the workbench, but using this config, i’m able to get 3D connectivity on my GPS (up to 13 sats inside) … but i was warned that the use of SS with the iNav Flight software may cause data dropouts.
    when i asked about data, i was given information that related to the F1 that had data dropouts, and was hoping that using SS on an F3 would probably be an improvement over the F1 being that the calcs were faster & therefore could maybe handle the interrupts (if that’s what they’re called) from the GPS without a problem.

    btw – appreciate all you do for the Quad world – i’ve referred to & made use of several of your Discussions, Videos and “blogs” – thank you.
    Russ from Coral Springs, Fl USA

  9. Nick

    After buying a “true cleanflight” SPRacing f3.. Cuz I want to support the designers … Anyway the acro board flew great… After a couple weeks a small branch jumped out at my quad.. Voodoo 210 and I hit the ground from about 10 feet… Nothing close to the torture I put my poor naze 32 rev 5 through… My very next flight my quad just dropped mid flight like a sack of potatoes… After inspecting.. Both whate plugs were missing from the board… After many many attempts to have a simple question answered… Can I run my sbus reciever off one of the other uarts… I was referred to rcgroups… And I don’t have 6 weeks spare time to search rcgroups…. So after a couple hrs I said screw it and bought a mini… My mistake… I had to install software from Queen flight to be able to update the board with the latest firmware which took two days to figure out how to do not that I’m an idiot but there was nobody to tell me how did I needed to do that so Massive Rc on their product description page has a link to tell you how to do that so I did it I updated the board went to go connect to the board and it would not connect I had to go back in uninstall all three programs so that I could connect to the board after all of that it would not read my receiver it is now sitting on the floor in the corner of my junk file I bought in a F3 copy that has worked in my quad through 100 crashes and works just perfectly just FYI

    1. Derrick

      I had ripped off those aswell, and its micro soldering. but u can solder wires directly to those tiny metal pieces. at least I did to get Xbox working again.

  10. Bryan


    Thanks again for the great info. Proving again and again that you have the best quad info resource on the web.

    Merry Christmas. I’ll continue learning from you guy

  11. Steve

    Hi Oscar.

    To add to the conversation. There is RaceFlight for Revo, Revo Nano and Sparky 2. A Betaflight Port.


  12. larzac

    Hi Oscar

    If I was to spend more than $30 for a FC I would not buy an over expensive F3 to run betaflight on.
    I would just buy a revo mini for $45 with F4, it’s cheap, it is supported by several FC softwares, it has the power and the hardware for the features++ and it’s already ready for the improvements 2016 will bring.

    take off the blinders guys ;-)

    1. Oscar Post author

      Hi Mike
      Sorry I don’t know! I wouldn’t be surprised if it’s a fake copy as these things are not difficult to reverse-engineer and clone… maybe check with Dominic Clifon.
      Anyway i think you should get the genuine board to support the designers. :)

      1. Oscar Post author

        Hi Michael,
        Dominic told me it’s an unauthorized clone, and they probably use the cheapest possible components so it should be avoided.

  13. Dominic Clifton

    So much dis-information and FUD in the article and replies.

    F3 has newer CPU core. Yes it’s 72mhz still but it gets more done and not just because of the FPU.





    The F3 also has better I2C handling more is done in hardware. The F3 also has USB bootloader support. F1 requires uart adaptor = more cost.

    ThomasS is wrong here. There are many other small differences that make the F3 a better part than the F1.

    1. Oscar Post author

      Hi Dominic,

      This article focus on what benefits a F3 processor can bring to a flight controller at the time the article was written (as most people who read this article would be concerned about). I don’t think there was “mis-information” in my post. And thank you for pointing out the advantages of a F3 that I missed however I don’t think they would affect the conclusion of this article.

      “The F3 also has better I2C handling more is done in hardware. ”
      – what does that mean in terms of flight performance? Sampling rate is still the same anyway.

      “The F3 also has USB bootloader support. F1 requires uart adaptor = more cost.”
      – And yet your FC is 3 times the price of a Naze32.

      I am sorry if this post caused any impact on your sales (although I doubt there would be any), but I hope you can point out what you think is mistaken in more detail so me and anyone who is reading this can learn from it.

      1. Dominic Clifton

        Hi Oscar,

        F3 I2C handling is better since the hardware does more meaning less time spent in ISR’s meaning more time for flight code and other code to run. Sampling rate is unrelated.

        “However there is no performance gain when doing integer calculations, such as PID controller 1 – Rewrite, which is integer based algorithm.” Not true, there is, time it :D Not sure where you got that information from. We generate Coretex-M4 specific code using the GCC ARM flag ‘-mcpu=cortex-m4’ which generates optimized code for the CPU core.

        When products come on the market they are often at a higher price and go lower over time. Just ask apple, microsoft, sony, etc. R&D time has to be paid for somehow and it’s generally by the early adopters who want the latest and greatest. Costs are also reduced as manufacturing processes improve. This happens in many markets, not just FC’s as I’m sure you’re aware.

        Keep up the good work on your blog too, some really good posts. Looking forward to reading more!

  14. Jerome Demers

    The SPF3 is expensive because Dominic Clifton wants some direct money for the hardwork he puts in Cleanflight.
    Without the help of these guys, those F1, F3 discussion would not even matter.

    1. Tim

      Innovation requires incentive. Incentive is usually in the form or monetary gain or the avoidance of undesirable treatment ( Soviet era communist method which is effective but often causes a level of mental stress that stifles novel ingenuity ).
      In the pharmaceutical industry, R&D is ridiculously expensive since the process for creating a drug from start to market is a daunting one. Remove the ability to make a profit for doing this advances in pharmaceutical technology cease. Not only do they need to recoup the expense incurred bringing a particular drug to market but also that of the many compounds that failed.
      Okay, so you may have an idea what type of work i’m in but you need not have my bias to buy in to what I’m saying. In fact, if you don’t “buy in” then you’re selling out….to companies that operate in places governed by political systems that are un-American if not anti-American. Buy genuine products whether they are medications or flight controllers.

  15. ThomasS

    Hi Oscar,

    I really like what you write and you have a good blog. You say it is share knowledge and I hope helping share mine from industry, is this ok? I am EE for many years and programmer with much industrial machinery control experience.

    The STMF3 is not held in any respect because it does not fit well in commercial applications and is ignore, F3 is old now not new and failed because nothing much offered over F1 for performance. Only people in multis think F3 is new, this is strange.

    F3 is same F1 power with math co-pro only, same speed as F1. Math unit is not a big deal, it can help but very small help. Advantage of F3 is inbuilt comparators which we do not need in mutlis so as not needing comparators F3 is bad choice .

    Why board also cost so much, F3 max add $2 over F1, yet for F3 hardware over double price of F1 board.

    Myself for acro, FPV and racing F1 only, very low cost and betaflight with CC3D is best no need for more.

    F4 is needed for doing real navigation. F3 is useless middle ground, I explain. F3 lacks performance for good Kalman filter at good speed, I have Sparky and disapoint, Sparky 2 is as they learn from big F3 mistake use F4 as can run EKF much faster and much more stable, problem is taulabs software is very bad but maybe librepilot support for sparky2 which is better more serious software.

    For me very surprising F3 is used by any new board, bad move and maybe they follow sparky without think and make same mistake.

    Navigation without good EKF is possible but it will not match EKF base system, everyone should know this.

    So you know SPR F3 is very terrible design hardware, I do not say to knock but you must ask anyone that knows and will tell you same, it is true but would not buy F3 FC in 2015, wrong direction.

    Sorry to disagree with you, I am friendly towards you but information all should know to avoid hype of poor F3 as it has no real world advantage and very many more cost, over double F1 FC.

    1. Oscar Post author

      Hi Thomas,
      thanks so much for your input! Your info is really interesting!

      I guess the Tornado F3 is still a good buy, which is still under $30.

      1. sevet

        I think the move to F3 was to gain as much performace without the need for a big porting job on the software side, a move to F4 is a big one. also, goodluckbuy is selling the delux SP F3 for 45$

        The HW invertors are almost worth it by themselves

    2. mauro

      you said that “optimal loop time” is 1000, this is not true as this depends on what sensor you are using and their real Output Data Rate, witch in many board is limited by the fact that use i2c (900 read/s, 2280read/s with fast i2c) instead of SPI (27593read/s).

      About f3 useless… is estimated that CF on a F1 use 48% of time on floating point (see flysherlockair.com/2015/07/how-does-cleanflight-spend-its-time-lets-profile/) and it goes down to 8% on a F3.. this is a great gain to implement better EKF or PID for example.

      About good EKF… very hard to do, and very hard to test qualitatively against a DCM. I’ve done some test and DCM run a bit higher than max ODR of many sensor (6KHz) on F1; i think lower integration give better result than a EKF, and this seems right from who is trying it (i think part of boris improvement are given by DCM, see github.com/cleanflight/cleanflight/issues/1253 and github.com/cleanflight/cleanflight/pull/1404)

      For sure would be nice to jump to F4 or even better a F7, maybe th package with a lot of pin, flash and ram

      1. Oscar Post author

        1000 is optimal at the moment if you read the betaflight thread more carefully. even you can do it faster with SPI gyro, it’s not the most stable and need a lot more testing and tweaking, Boris suggested to run 1000 looptime for now.

  16. p25o1

    is the naze rev 6 f3 ?
    and is there a F4 base/beta flight for revo/sparky v2

    sparky would be interesting since it also has an integrated flash storage on board for blackbox

  17. MikeF

    Which would you choose between the SP3 and the Dodo. Seems like they are very similar, but there has to be some differences. (other than price)

    1. ThomasS

      Is same feature, dodo is clone of SRP but dodo use professional board design and fix all layout issue.

      F3 board no good, stick to F1 with cleanflight and betaflight still many ram left on F1 for acro flight.

      1. theledman

        HI Thomas

        I think he just means that F3 boards aren’t worth the premium in price.

        The SP3 board has layout issues but seems to perform well enough that people like FGA think they’re fine to fly with. I know MrSteele flies with the Dodo but he admits he sticks with cleanflight 1.9 and controller 1. The only issue i’d see with using the SP3 is that it’s a double sided board which means there are SMT components on the bottom. Means you have less real estate to throw a polulu under it like you can with a naze or single sided board.

        With that said, a TornadoF3 is roughly the price of a Naze and gets you an additional UART plus native SBUS support.

        Ultimately it depends on what you need. If you only need 1 UART (in addition to USB), you’ll be fine with an F1 board like oscar says.

Leave a Reply

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

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).