PX4 vs ArduPilot - when to choose what

Yes, thank you for all the explanations and for this thread! I will be moving from PX4 to Ardupilot on my Pixracer as well.

Has anyone else moved from PX4 to Ardupilot, on Pixracer? Can I ask for you for your feedback?

I have a Pixracer 1.4 running PX4 and I have been thinking to move to Ardupilot but I’m not sure.

Thank you guys.

Good pm, me im running ardupilot on my racer, ardupilot its more stabe, px4 is more native

1 Like

The Airbus drone delivery challenge project moved from PX4 to Ardupilot when they finally found out that PX4 couldn’t fly the big quad-plane properly. :wink: So you could ask them.

3 Likes

I’m trying to find information about the subject too, but he comments here seem outdated. The video posted above clearly shows the data of the Pixhawk helicopter as 2009… we are in 2018. So is not fair to compare those videos.

It may be true that indeed ArduPilot is more mature, but I’m those videos are no proof.

6 Likes

@Jose_Colmenares it’s like anything where most people invest their limited time in one thing or the other, but not both. Android users will tell you Android is better, iPhone users will tell you iPhone is better. Most normal people don’t own both. I don’t think you’re going to find any good information where someone tried both and compared things side by side with a detailed write up.

Like most things the truth is probably somewhere in between. Android will be better in some areas, iPhone in others. How that aligns with your specific requirements and expectations is even harder to answer. For most of the core use cases you’ll likely be fine either way. Things get more interesting when you get to the point that you need to extend what either platform currently offers.

6 Likes

+1 on what Dagar wrote.
Here’s something I wrote a while back on the subject, a bit long-ish and possibly biased (yet I sure tried not to), it might help …

1 Like

It is worth noting that Ardupilot is now moving to a ChibiOS operating system - improving the efficiency of the code significantly. The current Ardupilot development on ChibiOS allows smaller/slower processors to be used far more efficiently than PX4 can.

1 Like

There hasn’t been a side by side test afaik, so whilst the ChibiOS switch is looking awesome for ArduPilot, unless we have data we can’t really compare to px4: basically I think what @dagar said above remains true, as besides personal opinion and preference, no one has published a detailed performance (or even feature) comparison that I’m aware of.

Interesting reading here :

1 Like

Highly inaccurate though. The two key points in that article are the code structure and license — both of which are more matters of opinion or context than of objective merit.
Almost everything else applies to both code stacks, or is wrong.

2 Likes

I found PX4 was slightly quicker and easier to set up for a first-timer, and relatively easy to get to first flight. Overall a good starting point and could still be employed professionally. There was nothing really wrong with using PX4 but we wanted spline waypoints and it was reported that AC had better performance in wind.
Ardupilot ( copter for me ) has been a jump up from PX4 with more features, more setup and LOTS more learning. It’s been a tougher road but rewarding.
One of the best things about Ardupilot is the continuous development, the community, and especially how close the developers and end-users are.

8 Likes

Agree with PX4 and first setup ! But it’s more about GCS configuration than firmware.
(I found Qgroundcontrol more intuitive than Mission Planner, may be because I’m a linux guy … Mission planner looks like more a windows thing, all you look for is not here in the first time :-/ ! Example on camera trigger with Qgroundcontrol is evident whereas in Mission Planner for the first time is an headache.)

PX4 on copter report to have poor performance in windy condition (If we watch video on youtube about yuneec, it’s not like that ! 8-9 beaufort scale and copter still stable) but what about flying wing ? Wingtra uses PX4 firmware and handle wind in hover and flying wing, with high power 8S but it works !

I don’t understand “ardupilot is [in] continuous development” because PX4 seems to be also in continuous development. But support seems less important due to less users IMO and confusing for some (less messages on forum and social network, people don’t know there is 2 different firmware).

Please note that in my case, I’m not selling any drone and I don’t want to act that one fw is better than another, I’m just a user.

Yes I agree about QGC, it seems like the obvious choice when you’re on Linux.
Much of the rest of the points, as you say, are perception and not actually any real faults or negatives with either ecosystem.
The wind peformance thing was just something we’d been told and not necessarily fact, but it influenced our shift to Arducopter.

totally unfair comparison between 2009 and 2017

4 Likes

I think there is a fundamental mindset difference between the two due to the license. With Ardupilot you are required to allow any improvements to the code to be shared with the community. With PX4 you are not. Hence PX4 is attractive to corporate developers who want a free base to work from and will encapsulate the result of their additions into a closed product.

Ardupliot by nature attracts people interested in growing and sharing the results of their work by adding back to the community.

Theoretically that should give Ardupilot a leg up in development for the end user.

6 Likes

That is wrong… It is not because ArduPilot is GPL that you need to share your developpement with the communauty… You only need to share your ArduPilot source and developpement if somebody buy your product and ask for it.
Most company just chose to hide they use ArduPilot. For PX4, it is different are you can relicense the code as your own and don’t need to share anything if you want.

That is the point if you are a corporation wanting to build a product, which most corporations then sell right? You get most of the work for free and you don’t have to share anything that you develop.

What I said is correct.

1 Like

Hi, I am following the discussion and I am highly interested in the difference between ardupilot and PX4. However, from the last posts, I got a bit confused.

What is the difference at the licensing side?

Regarding PX4 (License type: BSD 3-clause): I read this on the github page (https://github.com/PX4/Firmware/blob/master/LICENSE)

Regarding Ardupilot (License type: GPLv3) here is the information about the license:
http://ardupilot.org/dev/docs/license-gplv3.html

I would like to ask you: what are the differences between Ardupilot and PX4 at the licensing level? I am not an expert in software licenses and it is not super easy to understand.

What I understood so far:
In both cases one can redistribute (as far as I understood in GPL you MUST redistribute while BSD is more permissive. The BSD basically says “here’s the source code, do whatever you want with it, but if you have problems, it’s your problem”. That means you can take BSD’ed code and turn it into a proprietary application if you so wish - there’s nothing saying you have to give the code back (although it is nice to do so).).

I suggest you read this article which clarified a bit the things for me (but maybe it is too old?)
https://fosswire.com/post/2007/04/the-differences-between-the-gpl-lgpl-and-the-bsd/

Thanks for the help.

1 Like

Yes that is the bottom line. With BSD you can do what you want, including making your new product code based on PX4 code entirely proprietary and unavailable… With GPL if you incorporate the code into a product the buyer of that product has the right to demand to view the source code of the product.