Are you trying to decide whether or not to use Pixhawk or Betaflight? Are you considering switching from one to the other?
Look no further! This article will guide you towards the correct decision.
Both platforms are distinctly different and choosing one or the other will very much depend on what you are hoping to achieve.
Personally after gaining a fair amount of experience with both platforms it has become quite clear to me where each platform has its strengths.
I would say it is a more straightforward decision to decide between Betaflight and Pixhawk than it would be to decide between Betaflight and Kiss FC.
Side by side comparison of Betaflight and Pixhawk
First we can take a look at some of the more important parameters and see how they compare.
It would also be worth pointing out that Pixhawk supports two completely different software options, Ardupilot and PX4.
These project are completely separate. PX4 is aimed more at hardcore developers, APM (Ardupilot) is the far more commonly used software for Pixhawk, and the one that I would recommend using.
The following table shows a comparison between the two platforms and gives an overview of how they compare.
Parameter | Pixhawk | Betaflight |
Software source | 2 x Firmware options APM: GitHub open source PX4: GitHub open source | Betaflight GitHub open source |
Supported Platforms | Multi-copter, Fixed Wing, Rover (land/wheeled), Boat | Multi-copter |
Primary objective | Features / Interfacing ability | Flight performance |
Supported hardware | Pixhawk Boards | Mostly all 30×30 and 20×20 flight stacks |
GPS Modes | Full navigation capability, return to home, missions, way points etc. | Rescue mode only |
Hardware Comparison
The first most notable difference between Pixhawk and Betaflight is with the hardware.
Firstly it is important to understand that “Pixhawk” actually describes the hardware (the physical autopilot that goes in your vehicle).
The “APM (ArduPilot)” or “PX4” software will run on the “Pixhawk” hardware.
In the case of Betaflight it is actually the software “Betaflight” which runs on a variety of different boards, named by their manufacturers with individual brand names.
Pixhawk hardware
When choosing Pixhawk, we simply select a Pixhawk board and then need to choose whether we will run the APM or PX4 software on it.
Aside from any clone boards available, at the time of writing the following boards are available:
Pixhawk offers a huge array of different types of input and output ports, including several UART serial ports, I2C, CAN bus, dedicated GPS, SBUS and even an onboard analog to digital convertor.
There is also a bank of PWM outputs suitable for driving servos (or older type ESCs that do not support DSHOT).
In short the Pixhawk platform usually includes every type of IO port that you might need accessible via Molex Clik-mate type connectors.
This can be both an advantage and disadvantage.
You are not likely going to worry about having adequate IO with the Pixhawk.
However as a result the Pixhawk can be carrying additional weight in those extra on-board facilities that a more basic project may not need.
Betaflight hardware
Betaflight actually refers specifically to the firmware that runs on the flight controller. Betaflight is only the software element.
There are many different flight controllers available that will run Betaflight made by various different companies.
Betaflight compatible controllers are almost always supplied in either the 20×20 or 30×30 mounting hole configuration, for example my current favourite flight controller, the SpeedyBee V3.
These boards are square in shape and have 4x mounting holes in each corner, spaced either 20mm or 30.5mm apart.
The flight controller unit most commonly consists of two of these printed circuit boards that screw together to form the flight stack.
The second printed circuit board is the electronic speed controller, or ESC, which controls the motors.
It is also very common for the on screen display to be integral to the flight controller.
This means that the flight controller has the capability to overlay important information over the video feed without requiring any additional hardware.
Betaflight and Pixhawk Hardware comparison
Now that we have a general idea about the hardware for each platform, let’s take a look at a comparison.
In the following table we can compare the hardware for a common Betaflight flight controller, the SpeedyBee V2, with both the Pixhawk 4 and Pixhawk 4 Mini.
Parameter | SpeedyBee V2 | Pixhawk 4 Mini | Pixhawk 4 | |
Dimensions | 41 x 38 x 6.9mm | 38 x 55 x 15.5mm | 44 x 84 x 12mm | |
Processor | STM32 F722 256K RAM | STM32 F765 512K RAM | 1x STM32 F765 512K RAM 1x STM23F100 | |
IO Ports | 6 x UART (Serial) 1 x I2C WS2812 LED Buzzer | 3 x UART (Serial) 2 x I2C 3 x SPI 8 x PWM outputs 4 x PWM inputs CPPM RC input Spektrum/S.Bus input 1 x CAN bus 2 x analog input | 5 x UART (Serial) 3 x I2C 4 x SPI 8-16 PWM outputs 3 x PWM inputs CPPM RC input Spektrum/S.Bus input S.Bus servo out 2 x CAN bus 2 x analog input | |
Power | 3-6S LiPo 11.1V to 22.2V | Power Brick Input: 4.75~5.5V USB Power Input: 4.75~5.25V Servo Rail Input: 0~24V Max current sensing: 120A | Power module output: 4.9~5.5V USB Power Input: 4.75~5.25V Servo Rail Input: 0~36V | |
Inertial Measurement Unit (IMU) | MPU6000 | ICM20689 BMI055 / ICM20602 | ICM20689 BMI055 / ICM20602 | |
GPS/Compas | Support for external compass via UART | UBlox Neo M8N IST8310 magnetometer | UBlox Neo M8N IST8310 magnetometer | |
Barometer | BMP280 | MS5611 | MS5611 | |
On-screen display (OSD) | Betaflight OSD (AT7456E chip) | Not included – supports Minim OSD via UART | Not included – supports Minim OSD via UART | |
Bluetooth/WiFi | BLE: Flight configuration WiFi: Flashing, Blackbox | Not included – supports Bluetooth serial module via UART | Not included – supports Bluetooth serial module via UART | |
Data Logging | 16MB onboard flash memory | SD Card | SD Card | |
Weight | 9g | 37.2g | 15.8g |
Dimensions and weight
It is clear to see that the Betaflight option is a far smaller and lighter option, so Betaflight would be a clear winner for weight / space critical applications.
It is however worth noting that Betaflight flight controllers do not come in a case and the the electronics are not protected.
This may be a consideration for certain projects, although in general it does not cause a problem and the electronics can be waterproofed.
Processor and data logging
The processors used in both the SpeedyBee and Pixhawk offerings are very similar, both being M7 Arm Cortex chips running at 216MHz.
The Pixhawk processors have double the amount of RAM but arguably this is only necessary in order to give it the ability to host additional user programs.
The SpeedyBee features 16MB of dataflash for black box data, which should be ample for the type of flying that it would be used for.
Both Pixhawk offerings have an SD card slot, therefore blackbox logging should not be an issue.
Both the Betaflight and Pixhawk platform have ample processing power and storage.
IO Ports
It is true to say that neither platform is short of IO options!
Although it is clear that there are far more options with Pixhawk, this is not required for the intended purpose of Betaflight.
It can also be a disadvantage to have so many IO options, as this adds a lot of unnecessary weight, should this IO not be required.
Power
Pixhawk offers a wider operating voltage range and most notably it can be powered from a whopping 36V on the servo rail!
The SpeedyBee operates from 3 to 6 cell LiPo batteries, which is a very standard benchmark for drone platforms.
Note that it is possible to run the SpeedyBee from higher voltages, it just requires an additional BEC to step the voltage down sufficiently.
Sensors
Both the Betaflight and Pixhawk offerings have built in inertial measurement units (which includes the gyro and accelerometer, the two sensors the drone uses to orient itself).
Both also have a barometer onboard in order to calculate altitude.
The most notable differences are firstly the SpeedyBee does not have a magnetometer.
Betaflight does not yet support the use of a magnetometer and therefore is unable to perform full scale GPS operation.
Another very interesting point is that the full sized Pixhawk 4 has two IMU modules.
This provides redundancy, should one of the IMU chips fail.
As these chips are vital to the drone staying airborne, this makes Pixhawk a great choice for projects requiring redundancy (think carrying very expensive camera equipment!)
GPS Functionality
Pixhawk has full GPS capability, supporting various different GPS modules and external magnetometers.
Betaflight does support external GPS modules but will not work with an external magnetometer.
Pixhawk is capable of fully autonomous flight, including waypoint missions, position hold and return to home.
Betaflight has a pseudo-return to home function, named “GPS rescue mode.”
It works like a return to home function, but should not be relied upon as it is not as accurate as platforms that make use of the entire GPS module and magnetometer.
Connectivity
SpeedyBee offers superb connectivity, even including the ability to flash over the air using just a mobile phone!
Not all Betaflight flight controllers have this capability, but onboard bluetooth is becoming more common.
The Pixhawk does not yet have these kind of features.
However with both Pixhawk and other Betaflight compatible flight controllers it is possible to connect an external Bluetooth module, such as the HC-05, using a spare UART serial port.
Software Platforms
So far we have examined the hardware for both solutions and it is quite clear that we are dealing with two very different platforms.
Ultimately the hardware will play a vital role in deciding which is the best option for our drone.
However the software is also written with a specific goal in mind.
The main focus of Betaflight, as defined in the statement given on the front page of their website, is flight performance.
This means that Betaflight is suited to pilots who primarily want the best possible flight characteristics from their drone.
A pilot who cares more for a “locked in feeling” rather than GPS way-points will certainly want to check out Betaflight.
Pixhawk provide a somewhat different message on their front page. They promote the primary focus to be on drone systems development.
The Pixhawk platform focuses on giving the user a feature rich hardware and software solution that would allow a vast array of different drone projects to be developed using it.
Should I use Pixhawk or Betaflight?
Ok it’s crunch time! We have compared both the hardware and software and it should now be clear which platform would be best for our projects.
In summary it is clear that Pixhawk is a platform designed for a wide array of different projects.
It operates from a wide range of voltage, has many different IO, supports full GPS control and is capable of waypoint missions.
Betaflight by contrast does not have as much IO, only supports a basic GPS “rescue mode,” will not perform waypoint missions and operates from a limited voltage range.
The hardware however is far lighter, supports on screen OSD and has better flight characteristics.
Who should use Pixhawk?
Pixhawk is best suited for people who…
- Need to fly waypoint missions
- Want to fly long range / high altitude
- Want to build larger drones with specialist features
- Need a higher level of redundancy
- Want to build a rover / lage fixed wing drone
Who should use Betaflight?
Betaflight is best suited for people who…
- Want to build a racing drone
- Want to fly freestyle
- Want to do any other stunt / acrobatic style flying in manual mode
- Want to build a smaller drone 7-inch or under (most frames fit the flight stack by default)
- Don’t need to rely on GPS / redundancy features so much
- Have a critical weight limit / want to build a lightweight drone
Who should use something else…?
There will also be some people who fall in between both of these categories.
The best example could be a 7-inch (ultra) long range drone
In this case it would be advantageous to use the lighter and smaller form factor of the Betaflight flight controller hardware, but the full GPS capabilities of Pixhawk would also be required.
What would be the best option then?
Let me introduce another Betaflight alternative… INAV 🙂