About a year ago I started building my own drones. I've settled into Betaflight for FPV and PX4 for photography. I've never used a "real" off-the-shelf drone, being a DIY'er. Recently I saw a Mavic Mini in action and its hover stability was insane. My primary two drones use a JBardwell F7 flight controller (no barometer or GPS, 7" frame with 7040 props, 2806's), and a PixHawk4 Mini (GPS, barometer on a X500 frame with 1045 props, 2216's), both 4S. I realize my FPV build is specifically for that, but I would have expected PX4 to be on par with DJI since the baro and GPS.

In hold mode my PX4 floats around about 1m sphere outdoor in no wind, but the DJI is eerliy rock-solid.

Is this due to my build (parts, tuning, other) or is DJI flight control software just that badass? I don't have a mentor or a club near by with folks I can ask Qs or test builds, I'm just wingin' it based on the web.


1 Answer 1


A barometer and GPS are fairly low resolution (and noisy) methods for determining height and position respectively. As you've observed.

There are two other common methods for measuring height above the ground and position that, while they have limitations, give you much more precision. Sonar for height and optical flow for position. These are usually used in combination with the Barometer and GPS to provide the stability you find in DJI's products.

This higher precision mode will typically only work near the ground because of the range limitations of sonar. Since this is where you need the most stability however, it ends up working really well, allowing the less precise sensors to take over when you are farther away from obstacles.

Optical flow is the combination of downward facing cameras with software that takes the attitude and height of the craft into account and provides a relative movement of the craft. It will suffer in low light or when flying over reflective surfaces (like water).

You can add these sensors to ardupilot. They are relatively expensive compared to a barometer and gps, but should provide a similar level of stability when properly tuned.

  • $\begingroup$ Thanks for the info! Interestingly: I built another quad with a Matek running iNav with a single GPS+BAR, and it is way more solid in POSHOLD compared to PX4. I also tried Ardupilot on the PixHawk4 Mini and it is even worse than PX4. I'm really surprised by the different behavior of GPS+BAR+POSHOLD across different FC firmware and hardware. A little frustrating, but informative study. Hopefully after I spend a year learning I'll have a better idea why. $\endgroup$
    – Freeman
    Aug 4, 2021 at 17:01
  • 1
    $\begingroup$ @PeterT Nice! I would imagine it's more down to placement or any casing of the barometer and GPS. Since barometers are measuring pressure they can be pretty sensitive to propwash moving around them in addition to being light sensitive. A newer GPS also might support some of the other satellite systems to to make it more accurate. $\endgroup$
    – ipaq3115
    Aug 5, 2021 at 18:24
  • $\begingroup$ Pretty sure the DJI Mini's also got an IMU (accelerometer and angular accelerometer). An IMU will tend to drift over time, but for dealing with short-term deviations (eg. a gust of wind), it's incredibly effective. $\endgroup$
    – Mark
    Aug 10, 2021 at 2:20
  • 1
    $\begingroup$ @Mark of course, these days you can't really have a quadcopter without an IMU at it's heart. The IMU serves a different purpose though. It's all about maintaining the commanded attitude whereas the GPS/Optical flow tell you which direction you'll need to set the attitude to counteract the wind blowing you away. $\endgroup$
    – ipaq3115
    Aug 10, 2021 at 20:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.