What is altitude hold?
Altitude hold or height hold is a feature that is becoming increasingly popular on consumer grade quadcopters/multirotors and has been common on flight controllers like the Naze32 and the OpenPilot for awhile. The use of altitude hold is as it’s name implies, it holds your quadcopter or other multirotor at whatever height/altitude you set it at.
How does altitude hold work?
Quadcopters with altitude hold use a barometric pressure sensor such as the MS5611 usually in combination with an accelerometer to get data for your quadcopter to use.
By combining barometric pressure data and accelerometer data your quadcopter is able to maintain a consistent altitude/height, and in some controllers like the Ardupilot they also use a sonar/ultrasonic sensor to improve height hold accuracy.
The way that this works is pretty simple, you tell your controller to hold it’s altitude, your controller uses the sensors to get the air pressure at your current altitude then just adjusts throttle to stay at that air pressure value.
The pressure sensors used are extremely accurate and can usually hold a stable altitude within about a foot of what you set it to.
Because air pressure can change rapidly with severe weather if you were to fly during that time you might have problems getting your quadcopter to hold a stable altitude.
How does a barometric pressure sensor work?
A barometer measures air pressure in units called Hectopascal(hPa) or Millibar(mb,mbar), these are both meteorological units of pressure and are both equal to one-thousandth of a bar (more unit info here).
Most pressure sensors such as the BMP180 are piezo-resistive sensors which measure air pressure against a mechanical sensor and changes its resistance value based on that, this combined with an analog to digital converter sends a value to whatever device you’re using and then that device uses some math to calculate the pressure from that value.
You can read this article about piezo-resistive sensors from Maxim for more information here.
Which is the best barometric sensor for a quadcopter?
Most flight controllers you buy will use either a MS5611 or a BMP180/085 though since the MS5611 has a higher resolution it is the most common. Like I said the biggest difference is resolution, the MS5611 has up to 0.012 mbar resolution while the BMP180 has 0.02 resolution. Smaller is better when it comes to this and as you can see the MS5611 has almost double the resolution of the BMP180.