Altitude hold with only Barometer

I am developing my own autopilot system with arduino Mega 2560 i added most features that the arducopter has like gps position hold, waypoint, point of interest but the thing that i cant be success is altitude hold. I am usning Bosch BMP085 barometric pressure sensor. When I examine the data results of BMP085 about 3 min. its not accurate enough to use inside the PID, like it is roaming about -1m between 1m. when i use Low Pass Filter the results become stationary (Sensor was stationary when i took the readings) .But this time its become so slow and my quadrotor crash the ground or fly-up. I tried changing the coefficients of PID, Low Pass ratio but no luck! I Know INS is a good solution for this but when i try to use my accelerometer data for the speed estimate the data is too noisy because of motors. I also use anti-vibration mounting gels.  So Do you have any idea for this problem?

Sorry for the bad english :(


You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • In my case I got as much as 500m of difference, I must say it was completely exposed to ligth and propwash, it ended up in a spectacular crash of course:

  • Developer

    That particular barometer is the one we use to use with the APM1.  It's very noisy which is why we moved to the MS5611.

    You'll just need to filter it a lot and make the PIDs very low.  Best of luck.

This reply was deleted.