Valid make targets for Pixhawk boards

Dear all

I’ve been working with a Pixhawk board with valid 2MB, and so far have always used
make px4fmu-v2_default
as per

However reading the forum and the Makefile I have come across other possible targets as in:
make px4fmu-v3_default ( mRo Pixhawk - #5 by Al_B)
make px4fmu-v4_default ( in Makefile)

How can I figure out which one to use?
Is there some other doc that lists all the possible make targets, the hardware they are used for and what difference there is between them if they are for the same hardware?


Hi Eduardo,

There’s a bit of documentation in the dev guide under the “Autopilot Hardware” category, but not an exhaustive list.

The pixhawk 1 and 2 (and 2.1) are a special case where the hardware is nearly identical and binary compatible.
px4fmu-v3_default is px4fmu-v2_default without the 1MB limit, and more optional modules included as a result.
The other special px4fmu-v2 targets are workarounds for flash limits.
Because you have a newer pixhawk (px4fmu-v2) you can load either px4fmu-v2_default or px4fmu-v3_default. If you don’t care about trying a different estimator, uavcan, or additional drivers sticking with px4fmu-v2_default is fine.

px4fmu-v4_default is for the pixracer (

1 Like

Thanks Daniel
I’m having a bit of trouble figuring out what pixhawk1, 2 and 2.1 are, and how they are related with the different px4fmu-vX versions as shown in the file

Here is a summary of what I’ve understood, would you mind helping me correct it? I’d be happy to help add it to the documentation once corrected if it would help others.

  1. The px4fmu versions correspond to the version of the ARM chip the pixhawk uses ?


px4fmu-v2_default 1MB
px4fmu-v3_default 2MB (BTW Not a recognised target by make in my system)



But I suspect the Pixhawk2 that appears in the is not the one you’re referring to in your reply, as it also doesn’t quite map with what I read in the (see below).

Could someone help me clarify the difference between pixhawk1, pixhawk2 and pixhawk 2.1 and Pixhawk3 Pro?

Thanks a million !

1 Like

Would anyone be able to offer some clarification regarding the different pixhawk variants?

I think you’ve mostly got it. The complication with the Pixhawk 2 is that an earlier version is in the 3DR solo, but was never released standalone. The updated Pixhawk 2.1 can now be purchased separately.

The pixhawk 1, 2, 2.1 are all pin compatible, but have small differences in sensors and effective flash limit.
If px4fmu-v3_default isn’t recognized as a target you’re probably on an older branch.

The pixracer is a px4fmu-v4 and doesn’t have a px4io (backup mcu).
The new Pixhawk Pro ( is px4fmu-v4pro.

Have I answered your question or made it more convoluted?

Certainly helped, thanks ! I think I got it now, I hadn’t heard about the Pixhawk Pro, thanks.

PIXHAWK 2: 3DR solo, not available standalone

And the firmware is:
px4fmu-v2_default (Pixhawk 1MB ( original units with memory issue))
px4fmu-v3_default (Pixhawk 2, Pixhawk 2.1 and Pixhawk 2MB (recent units) )
px4fmu-v4_default (Pixracer)
px4fmu-v4pro_default (Pixhawk 3 Pro)

Please correct if there’s mistakes, thanks.

BTW px4fmu-v3_default recognised now, I was indeed in an old branch, thanks for heads up.

Yes that’s right. To make it more complicated there are some other boards that are px4fmu-v2_default compatible (pixfalcon, pixhawk mini), and a growing list of new hardware like the Intel Aero, Snapdragon Flight, etc.