PX4 vs ArduPilot - when to choose what

Hi,
I would like to start using PixHawk-compatible SW for trying some ideas, which require modifying the code. I know that you can upload Ardupilot or PX4 into these things, but I am pretty confused about differences between the two options.

I thought that PX4 is built for potentially more powerful HW with research purposes in mind, and the main differences are in reliability and in the fact that you get e.g. event-based processing, HAL, SITL, HITL, easy custom motor mixing etc. But I was told that the Ardupilot actually shares most of the code with PX4.

I would like to ask you: Is there some good comparison of pros/cons between Ardupilot and PX4, so that I can make a reasonable decision what to use, without reading the code bases? E.g. what is in PX4 and not in Ardupilot?

(I would like to keep this general, but my use case would be some custom VTOL frame - something between this and Joby Lotus. I bought PixRacer. I am not aiming for any advanced vision/lidar/SLAM now, but rather for good aerobatic flight characteristics (nonstop plane/copter motor mixing) and some missions/planning. And the thing should be testable in some good simulator.)

Thank you for any input!

1 Like

That’s a difficult question to answer, and I doubt you’ll find an unbiased comparison. At a high level I think you’ll find they’re quite similar functionality wise. Similar hardware support, simulation options, etc. At one point PX4 supported more VTOL configurations (https://dev.px4.io/airframes-vtol.html), but they may have changed.

Many PX4 developers will tell you they prefer the architecture of PX4 (https://dev.px4.io/concept-architecture.html), but we’re obviously biased. Another difference that may be important to you is the licensing of each project.

You might need more than 6 PWM channels (pixracer) to implement that Joby Lotus design.

Gitter is also a good place if you have PX4 questions. https://gitter.im/PX4/VTOL
I’d also recommend you try Gazebo simulations. You can simulate a VTOL including transitions.
https://dev.px4.io/simulation-gazebo.html

Hi @dagar,

thank you for your answer. So I guess there is no place with some reasonable comparison of the two things…

And unfortunately you are right, after buying the Pixracer, I realized that I need actually 7 PWM outputs :slight_smile: Now I somehow hope that some GPIO pin (part of the Wifi port) can be hacked to produce PWM.