F1, F3, F4, F7 and H7 Flight Controller Explained

F1, F3, F4, F7 and H7 are the different processors in racing drone flight controllers. This article explains the differences between these MCU, the advantages and disadvantages and help you decide which FC to get.

Index of Content


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

F1, F3, F4, F7 and H7 are the different STM32 processors (aka MCU – MicroController Unit). The processor is the brain of a flight controller (FC), similar to the CPU in a computer.

There are currently 10 series of STM32 MCU, from faster to slower processing speed they are: 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-5 1MB
F4 (STM32F411) 100MHz 2 512KB
F7 (STM32F745VG) 216MHz 5-6 1MB
F7 (STM32F722RE) 216MHz 5 512KB
F7 (STM32F765) 216MHz 5-6 2MB
H7 (STM32H750) 480MHz TBC 128KB

* This is the internal flash memory inside an STM32 processor chip, and it’s used to store the flight controller firmware codes. Don’t get confused with the flash memory that is used for blackbox logging, which is a separate chip on a flight controller.

F1 FC

The first 32-bit flight controller ever used on a mini quad was the CC3D which had the F1 processor (F103). The other iconic F1 FC was the Naze32.

However F1 flight controllers are considered outdated as they are no longer supported by most firmware including Betaflight (since 2017) due to hardware limitations – low clock speed, not enough memory for storing the firmware, lack of floating-point acceleration hardware and UART’s.

F1, F3, F4, F7 flight controller

Naze32 FC

F3 FC

F3 processors (F303) were first introduced to flight controllers in 2014. It’s more powerful than F103, and it was the obvious choice to replace F103 as they are pin-to-pin compatible. Some advanced users even replaced the F1 on their CC3D with an F3 chips for the better specs.

F3 MCU can be found on many popular FC’s back in the days, including the X-Racer, Betaflight F3, and the KISS FC V1.

However, as the Betaflight firmware keeps growing, we ran out of resources on F3 processors eventually and support for F3 FC was dropped in 2019.

F3 flight controller

Betaflight F3

F4 FC

F4 flight controllers were introduced shortly after the F3, and quickly gained popularity due to its processing power advantage. Unfortunately, F4 FC don’t play well with Frsky receivers, as they don’t have build-in inverters, and so additional hardware (or DIY hacking) is required for Frsky SBUS, SmartPort and F.Port.

There are two main F4 variants used in FC – F405 and F411.

F405 is more powerful but bigger. You normally find this in 30x30mm flight controllers.

F411 is smaller in size and share the same architecture with F405. However it has lower CPU speed, fewer UART ports, and it’s cheaper. You normally find this in whoop style FC, 20x20mm or 16x16mm FC.

Popular FC’s with F405 are Kakute F4 AIO, Mamba F405Matek CTR AIO, FlightOne Revolt and BrainFPV RE1.

F4 FC - Matek CTR

Matek CTR F4 FC

F7 FC

F7 FC is more powerful than F4 and they are slowly taking over the market. It has more than of processing power, RAM and flash memory for the current version of Betaflight. Plenty of UART ports, with built-in inverters for all UART’s which is user-friendly for Frsky receivers.

Just like F4, there are a few different variants for the F7 MCU.

STM32F745 is a common F7 processor in FC, very decent clock speed and memory, however it also has a pretty large package, so if there is a lot of feature you want to have on the FC, the F745 probably wouldn’t fit.

STM32F722 is a smaller F7 MCU but with less flash memory and RAM, still it’s enough for the current Betaflight. In fact the F722 is the most popular F7 chip in flight controllers as they are also cheaper than F745.

STM32F65 is the most powerful F7 processor used in FC, in almost every aspects. However it’s even bigger and more expensive than F745, therefore it’s not a very popular option.

There are more options of F7 flight controllers than F4, for example the Kakute F7, CLRacing F7, Betaflight F7 FC and SP Racing 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.

H7 FC

Seriously Pro Racing is the first to release a flight controller with H7 processor – the H7 EXTREME. It’s based on STM32H750 processor providing a 480MHz clock speed, compared to 216MHz of the F7.

However the higher clock speed doesn’t make a difference in flight performance as we speak. We still have room to grow with F4 and F7 flight controllers, it will certainly come in handy when we start doing 8KHz looptime with RPM filters alongside other calculation intensive features in the future.

However the SPR H7 Extreme uses the cheapest and smallest  H7 chip – the STM32H750, which only has 128kB of flash memory (same as the F1). And that’s really not enough to store the current Betaflight codes. To work around this, they store the Betaflight code on external memory, i.e. on an SD card. The codes are then loaded to the RAM when it’s running (and so it doesn’t matter even when SD card falls out during flight).

To update Betaflight firmware, you will just update the firmware files on the SD card, no more flashing and so there won’t be any DFU driver issues anymore.

It’s still at its experimental phrase to me by the sound of it, and therefore I don’t recommend getting it just yet. Stick with F4 and F7 for now.

Differences between F1 and F3 Flight Controllers

To summarize, the F3 has the following advantages over F1:

  • Similar clock speed on paper (72MHz), however the F3 is better at handling floating point calculations thanks to the FPU (aka “math co-processor”). This allows an F3 to run floating point based PID controllers significantly faster than F1, and so you can run faster looptime on F3 than F1
  • F1 boards only have 2 UART’s compared to the 3 offered by an F3. In addition, and possibly more importantly, the F3 series provide a dedicated USB port. It was common for users of F1 boards to avoid connecting any peripherals to UART1 in order to retain this slot for PC connection. In reality this means that an F1 board has only 1 UART for additional hardware, whereas an F3 board can usually utilize all 3 UART’s for extra devices
  • All UART’s on an F3 processor have native inversion, which means you can run SBUS and Smart Port directly without doing any “un-inversion hacks”

The F3 is almost pin-to-pin compatible with the STM32 F1-series, in fact someone commented on my blog, that he successfully replaced the F1 chip with an F3 on his CC3D, and is now running 8K looptime on it (thanks to the SPI Gyro used on this FC).

Note the size of flash data storage used for Blackbox logging doesn’t depend on the processor. It’s actually determined by a separate memory chip on the flight controller.

Differences Between F3 and F4

  • The processing speed of the F4 processor is more than double of the F1 and F3 (72MHz) at 180MHz, while it also commonly has a dedicated FPU which is what gives the F3 the advantage over the F1
  • It’s possible to run 32KHz Looptime on a F4 board compared to the Max 8KHz on an F3
  • F3 boards generally only have 3 UART’s, but some F4 FC’s offer up to 5
  • Betaflight’s new feature “Dynamic Filter” is very labour intensive for a processor, giving the increased speed of the F4 another clear advantage
  • F1 and F4 processors do not have built-in inversion like F3 and F7. Without additional hardware on the board, you’re required to do the inversion hack (getting uninverted signal) if you you want to run Frsky SBUS or Smart Port

Is faster Looptime better? Well that’s a whole different discussion. Check out this article about whether 32KHz looptime is better in terms of performance.

Why F4 doesn’t work with SmartPort natively:

SmartPort is a half-duplex protocol, meaning the S.Port wire is bi-directional that data is sent and received in the same wire (though not at the same time, that’s why it’s only “half”).

F3 and F7 STM MCU can handle half-duplex protocol internally in the chip itself, so you can connect SmartPort directly to these flight controllers without any modification. But F4 doesn’t have this capability.

Although SmartPort is also inverted, F3 and F7 can invert the signal coming in or going out internally, so no problem there.

F4 does have the half-duplex capability too, but it doesn’t work with inverted signal without an external circuit that does inversion for it bidirectionally.

Benefits of F7 FC over F3 and F4

  • F7 is a faster processor (216MHz vs 168MHz of F4)
  • The F7 processor has superscalar pipeline and DSP capabilities – which means the F7 is a better platform for future flight firmware development, allowing the developers to further optimize the flight controller algorithms
  • F7 boards allow for more UART’s, all with built-in signal inversion capability. Considering all the peripherals that we can use nowadays – serial receiver, Betaflight OSD, SmartAudio, SmartPort Telemetry, GPS, Camera control etc, DJI OSD, Blackbox logging, more UART’s are always handy to have!

At some point, It was necessary to overclock F4 if you want to run 32KHz in Betaflight, while the F7 processor is fast enough to handle 32KHz without overclocking. That shows you how important that extra processing power could be.

Looptime is also limited by the type of gyro (IMU) and their maximum sampling rate. For example MPU6000 has a maximum sampling rate of can 8KHz. If you want to do 32KHz, you would have to use IMU with higher maximum sampling rate, such as the ICM-20602.

Some designers decided to put two different gyros in their F7 flight controllers. One is the proven, low noise gyro such as the MPU6000, and the other is a faster gyro that can do 32KHz such as the ICM-20602. This allows the pilot to choose whichever gyro they want to use.

So, Should I Get F1, F3, F4, F7 or H7 FC?

The short answer, go with F7 FC! Here are my FC recommendations.

Here is the long answer.

Sure, you can get your multirotor flying just fine with an older F1 board, but you will certainly get better performance and more features from a modern flight controller.

We can anticipate technology moving toward faster processors, which will provide capacity for more exciting features and peripherals, and the capability to run more sophisticated filters and algorithms that can really make our quads amazing to fly!

As FC firmware continues to advance, the limited capacity of slower processors will miss out on all the cool features that the future holds.

Update (Jun 2017) – Betaflight has ended support for F1 boards due to lack of flash memory to store the firmware. Therefore you should avoid buying new F1 flight controllers if you care about running the latest Betaflight firmware.

Update (Feb 2019) – Betaflight developers announced to drop support for F3 FC in Betaflight 4.0 due to the lack of memory.

Yes, H7 is the latest and greatest, but in my opinion, it’s still a bit new to be considered seriously. I’d personally wait until a few more manufacturers start making it, and the Betaflight code is a bit more optimized for that platform first. So far there is really no real benefit of using H7 just yet.

So really, the decision is now down to F4 and F7, both are fine today, but F7 has the following advantages:

  • F7 can handle higher looptime than F4 when running Dynamic filter and RPM filter, and with other processing intensive features simultaneously
  • In general, you will find more UART’s on a F7 than a F4 FC
  • It doesn’t matter if you are not a Frsky user, but if you are, definitely get an F7 because all the UART’s support inverted signal like SBUS and SmartPort. It’s a lot easier to set these up than on F4
  • F7 has more headroom for future firmware updates and improvements (more future proof)
I compiled the specifications of all FC’s for mini quad in this spreadsheet so you can compare them more closely.

What happened to F2, F5 and F6?

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

First of all, the F2 is more like an older version of the F4 and as such does not have integrated signal inversion. This, in conjunction with the next-in-line F3’s faster calculation from the built-in “floating point unit” made it natural for developers to just skip F2.

STM32 F5 and F6 simply do not exist.

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
  • Oct 2017 – edited by Tom BD Bad, info about some F7 FC having 2 gyros
  • Oct 2018 – updated my thoughts about F7 FC
  • Feb 2019 – Betaflight Developers to drop support for F3 FC
  • May 2019 – added info about H7 FC
  • Aug 2020 – added info about the different F4 and F7 chip variants

71 thoughts on “F1, F3, F4, F7 and H7 Flight Controller Explained

  1. Azik

    The H7 controller on SP Racing H7 Extreme runs at 400 not 480 MHz. The benefit of that particular FC isn’t about having the fastest controller but rather a true sensor fusion technology that Betaflight 4.1+ can utilise. Faster processing is needed to handle two gyro data streams and be able to run multiple RPM, dynamic and other filters at high rate.

    I would consider and recommend that particular board for its near perfect low noise level, high quality components (like separate VREGs, the latest BMP388 barometer) and convenient features like built-in mems microphone, the fastest SD Card connection you can possibly get allowing to log synchronously with loop time as well as built-in flash memory, 7 UARTs and some other things.

    Reply
  2. AL

    Hello Oscar,
    Good day

    I always read your post for guidance and to get some expert’s knowledge I am new to this hobby I started building a plane using Mini Talon with Matek F22 Wing. While soldering the pin headers I accidentally snapped one component it’s the 6 pin black thing on the upper right corner of SD card slot I don’t know what it is. Can you help me figure out as I need to replace it. Can you also write about this F7 flight controller. Thank you

    Regards,
    AL

    Reply
  3. Charles

    Hi Oscar,
    Big fan of your blogs and appreciate the wealth of knowledge you compile and share with drone hobbyists around the world. Question, I am building a drone controlled by a computer instead of a rc receiver. Currently I send commands to a pixhawk FC via UART from an onboard computer. Is there non pixhawk based FC’s you suggest (with beta flight or clean flight onbaord) that can accept simpler control commands like pitch/roll angles or rates via uart instead of sbus? or is sbus/ppm/pwm the only way to command simple pitch/roll angle or rates, and its not possible via uart?

    Reply
  4. Wolfman

    I have several quads using a F3 flight controller. Should I use Betaflight 3.5 or 4.0 ? Filtering is better on 4.0 but it also needs more resources (memory and CPU) which are limited on F3 MCU.

    Reply
  5. Jon Scott

    Hi Oscar, would love to know if these faster FC’s use much more power, MORE POWER (as Tim would say), or is it in significant. Seems to me that the NAZE32 with good software are as good as you need for park crashing and this faster Hz speed is smaller legs running faster. Cooler electronic run, the better and longer they last.

    Reply
  6. stanley sanders

    I have gimbaled coaxial contra rotating propellers on a tail sitter platform like Pogo. Can you recommend an autopilot for my platform?

    Reply
  7. Oren

    I have some old F1 boards, is there a stabke release i can use on them CF or BF doesnt matter.

    From what i remmber i think that CF 1.11.0 or 1.13.0 were stable on F1, can you confirm ? recommend ?

    Oren

    Reply
  8. Oren

    Thanks Oscar, this was very usefull for me.
    Still what I canot find on the web is a list of stable release (BF or CF) for each of the legacy MCU i.e. F1 and F3.

    I have many old parts which i want to make usable again, but i dont know which one of the releases where stable (best) for the F1 mcu.

    Currently new versions that I have installed on F1 mcu looks unstable on the F1.

    From what i remmber i think that CF (cleanfligth) version 1.11.0 was good for F1.

    Some other say that 1.13.0.

    I think it would be use full to share stable releases for old equipment.

    Thanks Oren

    Reply
  9. Jonathan Shore

    Hi I was just wondering if it was possible to flash betaflight 3.5 on to kiss version 2 F7 stm32f 722 chipset. As it does not show up as a Target under betaflight Target list

    Reply
  10. Chris C

    You mentioned the “Dynamic Filtering” feature a bunch of times. What exactly is it? Also, what do you need to do if your UART doesn’t invert automatically like on the F4?

    Reply
  11. Vlad XXX

    Hey, the F1 and F3 are probably not named from Cortex M0 – M3 M4 core family directly because F1 is M3 and F3, F4 are M4

    A bit confusing, I know

    Reply
  12. Taylor

    Hi,

    I learned how to fly on a F4 Flight Controller. If I made a duplicate build with an F3, would I notice a difference in flight?
    With duplicate rates.

    Reply
    1. Oscar Post author

      If you use Dynamic Filter, you would be only able to run 2K/8K looptime at most i think. Whether you can notice a difference? that’s hard to say!

      Reply
  13. Im Uk

    F3 with 216 MHz would be interesting. Although ST is very low tech than Samsung here, I think it is well within ST’s capabilities, using the same process.

    Reply
  14. Richard F

    F7 flight controllers are currently running slower in betaflight 3.2 then F4 processors right now, due to bad optimization, or a bug. Don’t know about other flight software though.

    Reply
  15. 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

    Reply
  16. 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

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

      Reply
  17. 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

    Reply
  18. 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.

    Reply
    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

      Reply
  19. 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.

    Reply
  20. 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…

    Reply
    1. Oscar Post author

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

      Reply
  21. 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..

    Reply
    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).

      Reply
  22. 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

    Reply
  23. 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

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

      Reply
  24. Bryan

    Oscar,

    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

    Reply
  25. Steve

    Hi Oscar.

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

    rcgroups.com/forums/showthread.php?t=2533

    Reply
  26. 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 ;-)

    Reply
    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. :)

      Reply
      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.
        thanks
        Oscar

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

    arm.com/products/processors/cortex-m/cortex-m3.php

    arm.com/products/processors/cortex-m/cortex-m4-processor.php

    st.com/web/en/catalog/mmc/FM141/SC1169/SS1031/LN1565

    st.com/web/en/catalog/mmc/FM141/SC1169/SS1576/LN1531

    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.

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

      Reply
      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!

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

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

      Reply
  29. 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.

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

      Reply
      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

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

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

    Reply
  31. MikeF

    Oscar,
    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)

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

      Reply
      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 *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.