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.
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 ;-).
Can you expand on the issues with MAVLink? I thought it was reasonably designed, as far serial protocols go.
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.
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.