A rant about the state of open-source drones and Ardupilot

I cannot tell you how many issues I have had with ArduPilot. It just never works out of the box, I have wasted so many hours writing parameters and debugging issues to the point I probably could have written my own feature rich autopilot in Arduino and eventually proper C.

Back when I first did drones in 2016-18, documentation for pretty much everything (Betaflight, INav, Ardupilot etc.) was of poor quality and rarely complete. I burned multiple FrSky receivers and Naze32 boards.

After two engineering degrees in robotics, I've come back now in 2024 and am happy to see the overall quality of things has somewhat improved. However there are still massive glaring issues that will need to be improved upon.

- The hex file for the FC I am using has UARTs in the wrong order, motors that are mapped incorrectly which I only worked out after finding an obscure forum post.

- Another FC's hex file for some reason by default has the accelerometer upside down.

- And now currently I am dealing with a CAN bus GPS that outputs only the magnetometer on the bus. This one it would seem is a hardware defect even though the onboard LED says the GPS is getting a fix. I have spent £70 on this module for the love of god.

- Mission Planner needs a visual and UX overhaul, and actual Mac support.

- MAVLINK/PyMAVLINK/MAVROS: I tried, just no.

WHY do I still have to deal with this amateur hour behaviour.

Please tell me there's prosumer/industry projects out there that have their ducks in a row and actually just works. Is there an OpenSource DJI or something? I even put it down as one of those bonus idea things in this round of YC because I am just so fed up of this stupidity.

8 points | by AdobiWanKenobi 574 days ago

5 comments

  • sgillen 574 days ago
    If you think there is a business opportunity do it, but what is the opportunity? how do you make money if you are open source and not selling hardware? I think it's a ton of work to actually make something like this that's reliable and broadly available.
  • palata 574 days ago
    > I have wasted so many hours [...] to the point I probably could have written my own [...]

    I think you under-estimate the work and knowledge needed to do that, by a long shot (disclaimer: I work in the drone industry).

    > WHY do I still have to deal with this amateur hour behaviour.

    First, I think you are a bit harsh. Ardupilot (and other open source autopilots) is very advanced and written by extremely knowledgeable people. Because you have two engineering degrees in robotics does not mean, by a long shot, that you could rewrite the core logic.

    Also to be frank, I started playing with Ardupilot and PX4 10 years ago (without having two engineering degrees in robotics) and it seems like I never had a tenth of your issues...

    But then I agree that this is open source robotics, and the software engineering is generally low quality (many robotics engineer contribute, and most of them are not software engineers). I guess because people who are good with control systems are not necessarily good at software engineering (it's just not their job). Things like MAVLink prove it very clearly. Still it works well enough that no startup has apparently been able to do something better than MAVLink (you would think it should be easy, but there is a whole ecosystem of software that runs well enough with MAVLink). Note that in my experience, drone startups tend to have the same mentality you have: "it's so bad, I would do better from scratch". Most drone startups fail.

    > Is there an OpenSource DJI or something?

    DJI is so far ahead of anything in the western world, it's actually ridiculous. Just the hardware and the mass production capability make it super hard to imitate. It's not that western engineers are dumb, but rather that it may actually be more complicated than you think ;-).

    • auxym 572 days ago
      > Things like MAVLink prove it very clearly.

      Can you expand on the issues with MAVLink? I thought it was reasonably designed, as far serial protocols go.

  • coolvision 574 days ago
    PX4 with Pixhawk FC would be much better in terms of working out of the box. But of you use it with a random "supported" FC then still lots of debugging is needed
  • tra3 574 days ago
    I can sense your frustration. It also sounds like you’re a subject matter expert. Why not contribute to these projects and make them better?
    • palata 574 days ago
      > It also sounds like you’re a subject matter expert.

      Hmm sounds like the opposite to me. If you have some experience with Ardupilot, it actually works really, really well.

      Those open source autopilots are used in Ukraine right now.

  • schappim 574 days ago
    ArduPilot has experienced its fair share of ups and downs.

    Back in 2007, while I was a university student, I started an open-source hardware company that sold Arduino and similar products. At one point, I wanted to stock ArduPilot products from DIYDrones.com. To explore this, I performed a WHOIS lookup on their domain and called the listed number. The founder answered, but his response was less than welcoming. He said something along the lines of, “Do you know who I am? How dare you call me like this.” That was the end of the conversation—and the idea.

    Like others have mentioned, I do believe there’s an opportunity to create an alternative.