# Pixhawk Series
Pixhawk® (opens new window) is an independent open-hardware project providing readily-available, low-cost, and high-end, autopilot hardware designs to the academic, hobby and industrial communities.
Pixhawk is the reference hardware platform for PX4, and runs PX4 on the NuttX (opens new window) OS.
Manufacturers have created many different boards based on the open designs, with form factors that are optimised for applications from cargo carrying though to first person view (FPV) racers.
For computationally intensive tasks (e.g. computer vision) you will need a separate companion computer (e.g. Raspberry Pi 2/3 Navio2) or a platform with an integrated companion solution.
# Key Benefits
Key benefits of using a Pixhawk series controller include:
- Software support - as PX4 reference hardware these are our best-maintained boards.
- Flexibility in terms of hardware peripherals that can be attached.
- High quality.
- Highly customizable in terms of form factor.
- Widely-used and thus well-tested/stable.
- Automated update of latest firmware via QGroundControl (end-user friendly).
# Supported Boards
The PX4 Project uses Pixhawk Standard Autopilots as reference hardware. These are the controllers that are fully compatible with the Pixhawk standard (including use of trademarks) and that are still being manufactured.
The PX4 maintenance and test teams maintain and support these standard boards.
The list of boards supported by the PX4 project is reproduced below:
- Holybro Pixhawk 5X (FMUv5X)
- Holybro Pixhawk 4 (FMUv5)
- Holybro Pixhawk 4 Mini (FMUv5)
- Drotek Pixhawk 3 Pro (FMUv4)
- mRo Pixracer (FMUv4)
- CUAV Pixhack v3 (FMUv3)
- CUAV Pixhawk V6X (FMUv6X)
- Hex Cube Black (FMUv3)
- mRo Pixhawk (FMUv2)
- Holybro pix32 (FMUv2)
- Holybro Pixhawk Mini (FMUv2)
Pixhawk-like boards that are not fully compliant with the specification may be manufacturer-supported, experimental/discontinued, or unsupported.
The rest of this topic explains a bit more about the Pixhawk series, but is not required reading.
The Pixhawk project (opens new window) creates open hardware designs in the form of schematics, which define a set of components (CPU, sensors, etc.) and their connections/pin mappings.
Manufacturers are encouraged to take the open designs (opens new window) and create products that are best suited to a particular market or use case (the physical layout/form factor not part of the open specification). Boards based on the same design are binary compatible.
While a physical connector standard is not mandated, newer products generally follow the Pixhawk Connector Standard (opens new window).
The project also creates reference autopilot boards based on the open designs, and shares them under the same licence.
# FMU Versions
The Pixhawk project has created a number of different open designs/schematics. All boards based on a design should be binary compatible (run the same firmware).
Each design is named using the designation: FMUvX (e.g.: FMUv1, FMUv2, FMUv3, FMUv4, etc.). Higher FMU numbers indicate that the board is more recent, but may not indicate increased capability (versions can be almost identical - differing only in connector wiring).
PX4 users generally do not need to know very much about FMU versions:
- QGroundControl automatically downloads the correct firmware for a connected autopilot (based on its FMU version "under the hood").
- Choosing a controller is usually based on physical constraints/form factor rather than FMU version.
The exception is that if you're using FMUv2 firmware it is limited to 1MB of flash. In order to fit PX4 into this limited space, many modules are disabled by default. You may find that some parameters are missing and that some hardware does not work "out of the box".
PX4 developers need to know the FMU version of their board, as this is required to build custom hardware.
At very high level, the main differences are:
- FMUv2: Single board with STM32427VI processor (Pixhawk 1 (Discontinued), pix32, Pixfalcon, Drotek DroPix)
- FMUv3: Identical to FMUv2, but usable flash doubled to 2MB (Hex Cube Black,CUAV Pixhack v3,mRo Pixhawk, Pixhawk Mini (Discontinued))
- FMUv4: Increased RAM. Faster CPU. More serial ports. No IO processor (Pixracer)
- FMUv4-PRO: Slightly increased RAM. More serial ports. IO processor (Pixhawk 3 Pro)
- FMUv5: New processor (F7). Much faster. More RAM. More CAN buses. Much more configurable. (Pixhawk 4,CUAV v5,CUAV V5+,CUAV V5 nano)
- FMUv5X: New processor (F7). Much faster, Modular design. More reliable. More Redundancy. More RAM. More CAN buses. Much more configurable & customizable .(Pixhawk 5X, Skynode)
# Licensing and Trademarks
Pixhawk project schematics and reference designs are licensed under CC BY-SA 3 (opens new window).
The license allows you to use, sell, share, modify and build on the files in almost any way you like - provided that you give credit/attribution, and that you share any changes that you make under the same open source license (see the human readable version of the license (opens new window) for a concise summary of the rights and obligations).
Boards that are derived directly from Pixhawk project schematic files (or reference boards) must be open sourced. They can't be commercially licensed as proprietary products.
Manufacturers can create (compatible) fully independent products by first generating fresh schematic files that have the same pin mapping/components as the FMU designs. Products that are based on independently created schematics are considered original works, and can be licensed as required.
Product names/brands can also be trademarked. Trademarked names may not be used without the permission of the owner.
Pixhawk is a trademark, and cannot be used in product names without permission.
# Additional Information
All Pixhawk-series flight controllers support:
- A user facing RGB UI LED to indicate the current readiness to fly status of the vehicle. This is typically a superbright I2C peripheral, which may or may not be mounted on the board (i.e. FMUv4 does not have one on board and typically uses an LED mounted on the GPS).
- Three Status LEDs that provide lower level power status, bootloader mode and activity, and error information.
To interpret the LEDs see: LED Meanings.