When it comes to building a FPV drone, choosing the right flight controller processor is crucial. The F1, F3, F4, G4, F7, and H7 are all different types of processors that are used in flight controllers. Each processor has its own strengths and weaknesses, and it is important to understand the differences between them to choose the right one for your drone. In this article, we will break down the features and capabilities of each processor and help you make an informed decision when selecting a flight controller.
Understanding the Different STM32 Processors in Flight Controllers
F1, F3, F4, G4, F7, and H7 are different families of STM32 processors, as known as MCU (micro controller unit), which are the brains of FPV drone flight controllers. The MCU is probably the largest component on your flight controller board. It’s a black square chip with many pins extending from its edges.
There are 11 families of STM32 MCU, ranging from fastest to slowest processing speed: H7, F7, G4, F4, F3, F2, F1, F0, L4, L1, L0. Each STM32 family contains variants that have different combinations of features, number of pins, physical sizes (“packages”), and amounts of memory.
Here is a breakdown of the common processors used in equipment and components for FPV drones, including their processing speed, flash memory, and SRAM:
|Processor||Processing Speed||Flash Memory*||SRAM|
* Note that the flash memory mentioned above is the internal flash memory inside an STM32 processor chip, which stores the flight controller firmware codes. Don’t confuse it with the flash memory on the flight controller, which is used for blackbox logging and is a separate chip.
While the F0 chips are commonly used in BLHeli_32 ESCs due to their cost-effectiveness, they are not suitable for flight controllers due to their limited processing speed and memory.
As the first 32-bit flight controller used on an FPV drone, the F1 processor (F103) was popularized by the CC3D running OpenPilot and Naze32 running Baseflight back in 2012 and 2013. However, F1 flight controllers are now considered outdated due to hardware limitations, such as low clock speed, lack of memory for storing firmware, and a lack of floating-point acceleration hardware and number of UARTs. As a result, they are no longer supported by most firmware, including Betaflight (since 2017).
The F3 processors (F303) made their debut on flight controllers in 2014. Being more powerful than the F1, the F3 was an obvious choice to replace the F1 due to their pin-to-pin compatibility. As a result, it was possible for experienced users to replace the F1 chip with a F3 as an upgrade back in the days.
However, as the Betaflight firmware grew, F3 processors eventually ran out of resources, and support for F3 FCs was dropped in 2019 by Betaflight.
Here’s how F3 outperforms F1:
- The F3 has similar clock speed on paper (72MHz), but its FPU (aka “math co-processor”) is better at handling floating point calculations, making it faster in running floating point-based PID controllers. This allows faster PID looptime.
- F3 boards usually have three UARTs, while F1 boards only have two. Furthermore, F3 flight controllers offer a dedicated UART for the USB port (VCP), which is a significant advantage over F1 boards. Users of F1 boards must avoid connecting peripherals to UART1 to keep it available for PC connection, meaning F1 boards only effectively have one UART available for extra devices. On the other hand, F3 boards can utilize all three UARTs for peripherals.
- All UARTs on F3 processors have native inversion, allowing you to run Frsky SBUS and Smart Port without any “un-inversion hacks.”
F4 flight controllers were introduced shortly after the F3 and quickly gained popularity due to their processing power advantage over the F3.
There are two main F4 variants used in FC – F405 and F411. F405 is more powerful but bigger and is typically found in larger, more premium 30x30mm flight controllers. The F411, on the other hand, is used in smaller or more affordable FCs as it has a smaller package. F411 based FC are lower in CPU speed, less in flash memory, and fewer UART ports.
One of the main advantages of the F4 over the F3 is its processing speed. The F4 processor has a clock speed of 180MHz, more than double that of the F1 and F3 (72MHz). Additionally, the F4 commonly has a dedicated FPU which gives it an advantage over the F3 and F1.
Another advantage of the F4 FC is that they generally offer up to 5 or more UARTs, while F3 boards usually only have 3. However, it is important to note that both F1 and F4 processors lack built-in inversion like F3 and F7. If you want to run Frsky SBUS or Smart Port, you might have to perform the inversion hack. However, this is not a concern if you are using non-Frsky receivers.
Some technical background why F4 doesn’t work with Frsky SmartPort natively.
SmartPort is a half-duplex protocol, meaning the S.Port wire is bi-directional and data is sent and received in the same wire (though not at the same time, hence why it’s only “half”). While F3 and F7 STM MCU can handle half-duplex protocol internally in the chip itself, the F4 does not have this capability. Although SmartPort is also inverted, F3 and F7 can invert the signal coming in or going out internally. However, 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, which requires inversion hacks.
While the STM32 G4 chip may not have the fastest processing speed or the largest memory, it’s the newest chip to be used in flight controllers, even coming after the powerful H7. It’s an alternative to the F4 MCU due to the global chip shortage in 2021 and 2022. The G4 comes with a math accelerator for enhanced flight performance and has great power efficiency.
The first flight controller to use the G4 is the KISS G4 flight controller made by Fettec, which was released in October 2021.
With a faster processing speed than the F4 (216MHz vs 168MHz), the F7 can handle more complex algorithms and calculations, which is especially useful as flight control software becomes increasingly sophisticated. The F7’s superscalar pipeline and DSP capabilities also make it a better platform for future firmware development, ensuring that it will remain a relevant choice for pilots in the years to come.
There are a few different variants of the F7 processor used in FC, with the STM32F745 being a common choice due to its high clock speed and generous memory. However, the larger package size can make it difficult to fit all desired features onto the limited space. The STM32F722 is a smaller and more affordable option that is still powerful enough to handle the current versions of Betaflight, making it the most popular F7 chip used in flight controllers. The STM32F765 is the most powerful F7 processor ever used in flight controllers, but it has the biggest package size and is also the most expensive, making it a less popular processor choice.
One advantage that F7 flight controllers have over F4 boards is the number of UARTs available, with F7 boards typically having more UARTs built in. Additionally, all UARTs on an F7 board have built-in signal inversion, which is more user-friendly for pilots using FrSky receivers.
The H7 flight controller processor is by far the fastest processor available, offering a 480MHz clock speed, compared to the F7’s 216MHz. However, the higher clock speed doesn’t make a difference in flight performance at the moment. While F4 and F7 flight controllers are still capable of accommodating most needs, the H7’s processing power will become increasingly useful as we begin using more calculation-intensive features in the future.
There are several H7 chip variants used in FC. The first H7-based flight controller was released by Seriously Pro Racing and is called the H7 EXTREME. It’s based on the STM32H750 processor, which is the cheapest and smallest H7 chip, with only 128kB of flash memory (the same as the F1). This amount of memory is not enough to store the Betaflight code. To work around this limitation, the code is stored on external memory, such as an SD card. The codes are then loaded into the RAM when the flight controller is powered on. Updating Betaflight firmware is as simple as updating the firmware files on the SD card, removing the need for DFU driver issues. It’s quite an unusual and unpopular approach, nonetheless an innovative and unique concept that provides a solution for the limited flash memory of the H7’s smallest chip variant.
So, which processor should I get?
Avoid F1 and F3
Most of the processors discussed (F4, F7, G4, and H7) are compatible with Betaflight and should work fine for the next few years at least. However, you should absolutely avoid F1 and F3 flight controllers as they are no longer supported by Betaflight.
Here are my flight controller recommendations: https://oscarliang.com/top-5-best-fc-mini-quad/.
When choosing a flight controller, it’s important to consider the amount of flash memory the processor has. If the FC firmware grows larger in the future, processors with more flash memory will have an advantage. Currently, STM32F405, STM32F745, STM32F765, and STM32H743 processors have at least 1MB of flash memory. On the other hand, some F4 and F7 processors only have 512KB, such as STM32F411, STM32G491, and STM32F722. Although these processors are sufficient for now and the foreseeable future, managing memory space will be something that Betaflight developers will focus on and support as long as they can.
Clock speed is not as important as it used to be, especially with the settling of 4KHz-8KHz as the preferred PID loop frequency. F4 processors can handle 4kHz, while F7 and H7 processors are better suited for 8kHz. However, the difference in performance between 4K and 8K looptime is difficult to notice in the air, especially for FC that has BMI270 gyro, which limits the PID loop frequency to 3.2KHz, making the cheaper F4 processor sufficient.
Number of UART
The number of UARTs is another factor to consider when shopping for a flight controller. Smaller drones like Tiny Whoops tend to have fewer UARTs due to space limitations, with only 2-3 UARTs. Normal size FCs usually have 5-6 UARTs, which should be sufficient for most users.
I used to recommend F7 over F4 due to UART inversion reasons when used with Frsky receiver, but since the hobby has mostly moved away from Frsky receivers, I think this is no longer a consideration if you are not a Frsky user. You are learn more about this in this post: https://oscarliang.com/uninverted-sbus-smart-port-frsky-receivers/
F4, F7 and H7 are All Fine
Overall, if you can afford an F7 or H7 flight controller, it would be more future-proof. However, the cheaper F4 would be perfectly adequate for the time being. As technology advances, faster processors will provide the capacity for more exciting features and peripherals, allowing us to run more sophisticated software filters and algorithms that can enhance the performance of our drones.
Missing F2, F5 and F6?
To explain the absence of STM32 F2, F5, and F6 in flight controllers, the F2 chip is considered an older version of the F4 and lacks integrated signal inversion. Developers simply skipped it and upgraded to the better F3, which offers faster calculations due to its built-in floating-point unit. STM32 F5 and F6 simply do not exist.
STM32 Chip Naming Convention
STM32 chips have names like this: STM32F405RGT6 or STM32F745VGT6
Let’s break it down and see what those letters and numbers mean.
STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics.
The letter in L1, F4, F7, H7, indicate the type of the chip or its applications.
- L – low power
- F – foundation or high performance
- G – mainstream
- H – high performance
- W – wireless
The number indicates the core:
- 0 – Arm Cortex M0
- 1- Arm Cortex M3
- 2- Arm Cortex M3
- 3- Arm Cortex M4
- 4- Arm Cortex M4
- 7- Arm Cortex M7
The next two numbers indicate the line.
The next letter indicates the number of pins, for example:
- C – 48
- R – 64 or 66
- V – 100
The next number or letter is flash size, for example:
- B – 128KB
- C – 256KB
- E – 512KB
- G – 1MB
The next letter is package: H – BGA, T – LQFP, U – VFQFPN.
The next number is temperature range, 6 means -40 to 85℃.
- 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
- Jan 2022 – added info about G4
- Sep 2022 – revised recommendations based on new hardware and software requirements
- Oct 2022 – added STM32 chip naming convention
- Mar 2023 – article revised
Thanks a lot oscar
The F722, and even F411 are still more than capable enough (for late 2022, and well through 2023) for the complete flight envelope capability.
Particularly for combinations like F411 with BMI270 IMU on an AIO (ESC + FC) hardware set, the ability to run 3.2kHz looprate with bidirectional DShot is entirely adequate. The only real limitation of the F411’s has been there all along, very limited UART space and that pin allocations from some manufacturers aren’t very good.
Similarly, the F7X2 line is capable of running at maximum performance without issues, and managing the memory space is still going to keep these boards functional and relevant for a really long time, to where I would still actually recommend these boards as solid future-proof options. The plethora of available UARTs and no need to worry about inversion make these excellent targets.
Ahh the f411 and the f722 memory issues are gona be sorted in 4.4 so as one of the Betaflight devs I’m gona push against not recommending them. They will be supported until they are incapable of running the code. Flash space for any chipset is about to become a non issue
BF also recommends STM32F411, STM32G491, STM32F722. We will breathe new life into them in the future, so they will be supported for years to come. Please ask the devs first before sharing “fake news” :)
This sounds a bit harsh, sorry. I didn’t mean to. But I think it’s important for everyone to know that the F411 and F722 are not at all at the end of their life.
H7 (STM32H743) have 2 MB Flash, not 1
thanks, yea i got confused by RAM :)
Hi Mate! You can also add Kiss FCFC ULTRA to H7 section.
Why are most Fc’s with DJI plug-in compatibility using an F4 processor? Why can’t I find DJI plug-in FC with an F7 processor?
There’s a chip shortage, manufacturers are currently having a hard time finding affordable F7 chips. That’s why many are now using H7 and G4 chips as well.
people start talking about F411, F722 Not having enough memory. it’s ok to use now, but might not good enough in a near future. especially for boards with built-in SPI ExpressLRS receiver.
Your flight controller table is great! But I build model airplanes. Is there a similar table for fixed wing flight controllers?
Excellent and immediately understood,but can you tell me why my Matek F722 and Matek F405 flight controllers will show a Crossfire Nano receiver working in the receiver tab of Inav 4.0, but, do not when I connect an ELRS receiver, which is connected in the same way as the Crossfire Nano (TX to RX and RX toTX) with the port and receiver tabs set accordingly. The Elrs receivers are working as shown by return telemetry on the transmitter. I have been trying to find a solution to this problem for weeks and am almost at the point of reverting back to the overpriced Crossfire receivers.
Yours hopefully Vic Wild
Whats better between f7 and g4?? Most aggresive??
F7 is faster and has more memory and will be more future proof but performance wise i doubt you will notice much a difference
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.
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
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?
No, not possible.
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.
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.
Power consumption by the FC is negligible in a 5″ quad.
I have gimbaled coaxial contra rotating propellers on a tail sitter platform like Pogo. Can you recommend an autopilot for my platform?
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 ?
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.
here i am reading an article i read 3 years ago, and its still super useful, thx!, lol.
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
no i don’t think that’s possible yet.
Hello, do you know if i can connect an F7 FC with an raspberry pi? Via USB?
What is the power consumption of of FC? A little chart would be good showing load and idle wattage at 5v.
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?
Can the Betaflight F4 support a hexacopter? If so, what pins do I solder the signal wires to for motors 5 and 6?
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
LOL you are right! i got confused there!
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.
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!
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.
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.
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
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
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.
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
Thank you Boris! that’s a very good point! I have added a new column now in the table
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.
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
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.
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…
I would suggest the XRacer, because that’s the one I used and I am very happy with the performance.
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..
I believe the one red wire coming from number 1 esc will power up your board no problem. At least mine does
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).
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
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
Let’s eat, grandma!
Let’s eat grandma!
Punctuation is very important.
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.
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
Thanks for the support Bryan, Merry Christmas to you too :)
To add to the conversation. There is RaceFlight for Revo, Revo Nano and Sparky 2. A Betaflight Port.
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 ;-)
you got a point there my friend :)
Bookmarked. Excellent write up. Keep up the good work, Sir.
Thank you Chris!
Hi Oscar. Is SPR F3 board from BangGood an original one or fake copy? Price seems to be ok but will it run betaflight ??
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. :)
Dominic Clifton is reading your blog and could have a look.
Here is a link. 2 versions available 6 and 10dof called acro and deluxe
Price is reasonable and pictures looks much better than my existing F1 flip32 versions :)
Dominic told me it’s an unauthorized clone, and they probably use the cheapest possible components so it should be avoided.
Please put a link to a place where we could buy an original one with some money for Dominic.
it’s widely available, just google it.
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.
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.
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!
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.
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.
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.
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.
also by the way, i think you should join our facebook group, we will all definitely benefit from your electronics knowledge from time to time :D … http://multicopterFPV.com
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
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
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.
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
no, it’s a f1.
I am not quite sure myself, maybe have a search on the betaflight thread.
Yes there is but it is maintained by someone else. github.com/sambas/cleanflight
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)
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.
Are you saying the SP3 and the Dodo are no good and it’s best to stay with an F1 board?
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.