It seems like 2017 has been the year of great ARF quadcopters. While there has been a ton of progress in bringing fully-assembled, cheap and competitive quadcopters to the market, we really have not seen as much progress in parts as we were seeing in 2015 and 2016. When it comes to flight controllers, the market has reached an odd stagnant point where the best flight controllers come in both “F3” and “F4” variations. Surely for your money, you want a faster F4 processor, right? Well, not necessarily. In this article, we’ll take a closer look at the two flight controller families and explain why you might prefer F3, F4 or either.
Flight Controller History (2017 Edition)
First, let’s take a quick walk through the history to figure out how we got to where we are:
The Betaflight firmware shoulders the a lot of the blame for the schism between flight controllers. When it started becoming popular in late 2015, it was because it offered improvements to processor usage which unlocked looptimes of 1kHz and higher. Compared to Cleanflight at the time, there was a noticeable improvement in flight performance between Betaflight and Cleanflight, and many assumed that this was due simply to the faster looptimes. This started the first of many “spec wars” in the miniquad hobby. An early victim in these spec wars was the F1 flight controller, which had a tough time early on supporting looptimes higher than 2kHz—so manufacturers and pilots moved to F3. Here’s the deal with F1 vs F3, though: The F3 processor is objectively better in all ways when it comes to serving in a flight controller. While we all moved to F3 for better looptimes, we actually got a bunch of great new features “for free” in the process.
F4 flight controllers started becoming popular in the middle of 2016. They were being driven by the Raceflight team’s quest to increase looptime to stratospheric levels—as high as 32kHz! It was pretty clear early on, though, that looptime was being taken too far. Pilots flying Raceflight with a 32kHz looptime in races were regularly competing with KISS pilots who were locked in at 1kHz—and they weren’t always winning. It began to become clear that high refresh rate specs had diminishing returns—as did better processors.
Do we need more processing power?
For racing drones: not really. Our little quadcopters are actually pretty simple devices. They are flying machines that use four motors and an inertial sensor to attempt to keep a commanded flight attitude from an RC controller. They do not have any complicated algorithms like navigation computers, AI or swarm controllers built into them. Most of the processing power is spent running sophisticated noise detection algorithms to get rid of vibration data coming from unbalanced props, motors and poor mounting of the inertial sensor—all things you can build around!
Support of high looptime and fast ESC communication rates is another reason often cited for going with F4. These specs are associated with less latency between command and response and improved flight characteristics by being able to react to air disturbances more quickly. The problem with this assumption is that we have long since left a time period where the bottleneck of miniquad performance was in the flight controller. These days, almost everything else is running slower. For example, FrSky receivers have a frame rate between 5–10ms, meaning they provide new input data at 0.2kHz at best. Similarly, brushless motors have a significant lag time between when a power setting is applied from the ESC and when that power setting actually generates the appropriate amount of thrust—as we user bigger motors and fatter props, this time only gets worse.
This all being said, we have heard that some users are unable to use the new dynamic filter feature of Betaflight in conjunction with high looptimes on F3 flight controllers because the CPUs are being overloaded. The solution to this is quite simple: lower your looptimes! 4kHz/4kHz(gyro) has been reported to work, but we think 4kHz/2kHz(gyro) is more than enough “performance” and will net you significant headroom for other features you might want.
F3 vs. F4 Comparison
Detailed breakdowns of F3 and F4 flight controllers are dime a dozen. Here’s the real talk: there really isn’t much of a difference. However, both flight controller types have their own advantages. For miniquad pilots, here are the only two relevant considerations when choosing between F3 and F4 (in my opinion):
F3 Flight Controllers
- Hardware serial inversion support means you can plug your FrSky receiver and SmartPort telemetry into any UART.
- Workarounds for lack of hardware inversion can cause bi-directional serial protocols like Smartaudio to not work.
F4 Flight Controllers
- Double the clock speed means you can run every single feature of Betaflight at 8kHz / 8kHz.
Seem like a short list? That’s because it is! You need only to decide between the versatility of FrSky support offered by the F3 flight controllers with the “future-proof”ness offered by the F4’s higher clock speed when making your purchase. Honestly – my choice is F3.
This is a simple conclusion—the miniquad spec wars are dumb and F3 flight controllers will continue to be relevant for the foreseeable future. If you are a FrSky user, you should have a mild preference for F3 flight controllers. Otherwise, you should pay attention to other factors when choosing your flight controller—like pin layout, OSD, filtering and PDB inclusion. Read our flight controller buyers guide for more info on that.