Altitude Sensor

Looking for a good altitude sensor for an unmanned aerial vehicle. Cheap. I need it to be accurate and give me a reading every other second. UAV rules out ultrasonic. What do you guys think about some other choices?

Well choices are somewhat limited, at least of those that I can think of.

Ground radar altimeter: Kind of expensive, heavy and high power requirements, so forget that one. :smiley:

GPS: However I think I have read that GPS elevation accuracy really sucks and has poor resolution, repeatability, etc.

Barometric pressure sensor: This is the way to go I think. A good quality absolute pressure sensor will have a falling pressure as elevation increases. I’ve played around with an industrial quality absolute pressure transmitter (Foxboro, much to heavy to fly in a small model plane) and use it as a desk barometer. There are good quality pressure sensors on E-bay for bargain prices if you know what you are looking for. Only draw back for it’s use as a altimeter is the need to reset the actual ground level pressure as a reference before each flight, but that could just be part of the setup code in your arduino, so it will be done at every power up before flight.

Can’t think of anything else that would work once your flight elevation exceeds over dozen feet or so.

Good luck


Try making a laser reflection based one, LiDAR is what its based on, i think that this is what the great quality digital tape measures use. being laser, its good for a few hundred meters provided you have the right sensor.

Do you want to know elevation as in flight level?, or distance above ground?, or, do you need a way to fly level? They have different solutions. Perhaps a ground proximity sensor?

An instrument to fly level with is a variometer. It gives a very sensitive indication of the rate of climb or descent. It is not heavy or very expensive to make for your needs. A plastic bottle and a very sensitive differential pressure transducer. The vario should probably be accelerometer based, not pressure. My age is showing.

GPS altitude data will reliably get you over the mountain, It may not be precise, but it will be consistent. It will never be wildly inaccurate and is insensitive to temperature, component aging or barometric pressure changes. You must build in enough margin to allow for the lack of precision, but if you should not be that close to the terrain anyway.

Barometric pressure based altimeters have worked pretty well in aircraft for nearly a hundred years. If the flights are local the take off location. Take off elevation can be 0, if it works for you. If the flights remain local and of reasonable length. changes of barometric pressure while aloft are unlikely to be a factor.

Depending on the budget, a relatively cheap absolute pressure sensor is an automotive MAP sensor. The same kind of device is available for board mounting . A 5 volt output map sensor ('88 little Chevy or Pontiac, lots of others) will provide about a volt of raw signal movement over say a 4000 foot elevation change. Unfortunatly the signal will start at about 5 volts and decrease with elevation increase. This will necessitate some op amp gymnastics to create a signal that starts out near zero and gets larger with increase in elevation. If the signal starts at zero at ground level it will be possible to utilize most of the A-D range. A ten bit A - D will show 3 or 4 foot increments. It can be better than this if you add perhaps 64 conversions into a big int, then shift right to get a better number. Even then you are kidding yourself. More bits would just add to the confusion because the small craft is a lousy platform for gathering good data. My experience suggests that this is quite challenge to get working properly.

Probably someone sells the whole package on a tiny board.

Freescale makes some very compact and light pressure sensors in a range of types and pressures. MPXx2100 is a 100 kPa (~1 bar) absolute pressure sensor --

This model would need an external amplifier to really work with Arduino A2D (it outputs 0..50 mV), but there are various models with 0V..5V output. The Freescale pressure sensors I have weigh in at under a gram.

The MPXx6115 series (and others) from Freescale also work well, but have built-in amplifiers so that the output can go directly to the Arduino's analog inputs.

GPS is lousy for altitude; it's inaccurate and slow to settle.

Pressure sensors will allow you to calculate altitude AGL easily. MSL requires calibration. You can perform this calibration with data from your local airport (if you can hear it from your location and have a receiver), from weather service reports, or from a GPS.


I would go with a barometric pressure sensor except if you already have a good gps receiver for your UAV. Sparkfun sells different models, the best being the SCP1000. They stat that "Under ideal conditions, this sensor can detect the pressure difference within a 9cm column of air". Otherwise search for the other model they have ( a bit cheaper). Hope this helps. Paul


here is the link :

Yeah, thanks guys... Can a barometric pressure sensor sense the difference between 5 feet. Like, the difference between 30 ft. above sea and 35ft. above sea??

robotkid249: Yeah, thanks guys... Can a barometric pressure sensor sense the difference between 5 feet. Like, the difference between 30 ft. above sea and 35ft. above sea??

Pressure would decrease by .00054 psi per Ft.

So it is possible but the accuracy of the sensor and the resolution of the A/D converter used would have to be carefully selected with this precision in mind. Certainly not something you can do with a +/- 2.5% sensor and a 10 bit D/A conversion.

So, is a pressure sensor really a right choice for UAV?

robotkid249: So, is a pressure sensor really a right choice for UAV?

Depends on what you are going to use the pressure reading for. Display data only? Or part of a PID control loop to maintain a fixed hover altitude? Or something else?


is a pressure sensor really a right choice for UAV?

If it can resolve

.00054 psi per Ft.

and that sort of accuracy is important, then yes.

What about a parallax rangefinder, based on a wiimote?

Seems like all right choices... Which of these two sensors will be the most accurate? Any concerns about these? Accuracy is really what I'm looking for.

I bet they would both do the job, and both seem more then accurate enough. Things like stability, ease of interfacing, available code should also enter the selection criteria. That second one linked to a nice Arduino project site where a library is available. Don't underestimate the value of a already developed and tested library to help kick start your project. Keep in mind that both devices are 3.3vdc operation, so a 3.3volt arduino board, or voltage translation chips will be needed.


the most accurate one is the MEMs Barometric Pressure Sensor - SCP1000 :

Also, because you are going to use it outdoor, don't forget to get a Gasket (0.35$) :