This page describes my first published Android app!
What it does!
The app functions as a barometric altimeter and vertical speed indicator, similar to the instruments you find on aircraft. Note that it requires your Android device to have a pressure sensor. If no pressure sensor is present, it will load, but it will display No Data. It will NOT use GPS at this time.
Just as you can do with a conventional altimeter, you have a "Kollsman window" into which you can "dial" a datum, and the altimeter will then show height above the pressure datum specified in feet. You can choose whether to use hectopascals (equivalent to millibars) or inches of mercury. There are +10, +1, -1 and -10 buttons that allow you to control the setting, and there is a Pressure Alt button that allows you to rapidly select 1013.25hPa (the international standard atmosphere [ISA] mean sea level pressure) and in that case the altimeter will report the nearest flight level in addition to the pressure altitude in feet.
The altimeter display shows the height above the datum numerically in feet, rounded to the nearest foot, and there is a single hand that shows hundreds of feet. I chose this display because it is least likely to be misinterpreted; the type of display with two or three hands is easier to misread and has lead to accidents. The VSI display shows the vertical speed in hundreds of feet in the usual way, plus a numeric representation that is rounded to the nearest foot per minute.
How much does it cost?
Nothing. This one's on me. If it proves popular, I plan to add features to make it more useful, and I might make a small charge for the enhanced version.
What's the point?
Why would you use this? I can't guarantee that your hardware works OK, and as such, it's not approved for aircraft navigation purposes; I have included a warning as such on the display. If you do use it for aircraft navigation, you accept all risks associated with that use.
Aside from the warning, it might work fine; it might even work better than "approved" types. During my pilot training, I have flown in at least one aircraft that had an altimeter that was out of calibration, and the needle used to stick. A backup would be useful for that scenario. I also sometimes fly aircraft with two altimeters, and their readings might be as far as 50' or so different when set to the same setting!
I think the program could be useful for getting your head round how the pressure works in the atmosphere. Reading books about mean sea level pressure (QNH), field elevation (QFE) and flight levels will click far better if you have an altimeter to hand and you can play with it to see how it responds.
I personally consider that besides the training purpose, the app MIGHT be useful as an emergency backup altimeter and VSI, with a few caveats that I detail below. My suggestion is that you try it out at your airfield with the QNH and QFE settings and check the results are close to what you expect (taking into account of course any deviations in height compared with that of the runway), and then try it out on a flight and see how it compares to that of a purpose-designed altimeter.
Things to be aware of.
The altimeter of your aircraft is a device that takes one input: air from the static port. If that were to become blocked and there are no leaks in the pipes, the reading of the altimeter would stop changing. Some aircraft allow you to set an alternate source of static air for this eventuality, which is usually cabin air. If you do that, you have to be aware that cabin air has a slightly lower pressure compared with the static air pressure outside the aircraft while it is flying, and therefore the altimeter will over-read. The degree to which this will occur is detailed in the pilot's operating handbook. This will not affect the VSI.
The effect might not be much (a PA28 handbook stated that the error will be less than 50 feet unless otherwise placarded), but it is something to be aware of. In addition, you may find that further errors occur because of the use of cabin ventilation and such use may be restricted if you want the best accuracy from the altimeter; the pilot's operating handbook will probably advise.
Using this altimeter app would be like using an altimeter with alternate static air (cabin air), so you need to take this variable into account.
If you are lucky enough to have a pressurised aircraft, while you are pressurising the cabin, the altimeter will under-read and not be any use at all for estimating your height.
The altimeter display is filtered in such a way that if the pressure was measured perfectly, a change from one steady state to another would be reflected by 99.7% of the change over a period of five seconds (technically it is five time constants). You can control that filtering by adjusting the settings; I have provided five options including a "no filtering" option. The more filtering you have, the more accurate will be the indication, but the slower the altimeter will respond to changes. For aviation purposes, I think weak or medium filtering would be good.
The VSI display is also filtered in such a way that its indication lags a climb or descent by several seconds. It is no different from a real VSI in this regard. However, its response to changes in vertical speed is likely to differ from that of a real VSI. It is not possible to control the filtering of the VSI at present, and the instrument is to be considered experimental.
How it works!
The app gathers pressure samples from the barometric sensor. It optionally filters the samples as explained above. It then calculates what indication would be shown on an altimeter using the formulae given here:
http://williams.best.vwh.net/avform.htm#Altimetry
Note that the height reported will be subject to exactly the same errors that a purpose-designed altimeter is subjected to. If the air is colder than the ISA (15 deg C at mean sea level with a lapse rate of 1.98 deg C per 1000 feet), it will be denser, and the pressure will fall off at a more rapid rate with increasing height, causing the altimeter to over-read. If the air is warmer than the ISA, it will be less dense, and the pressure will fall off at a lower rate with increasing height, causing the altimeter to under-read.
Testing
Updated 31st May 2013. I am currently on holiday in Saundersfoot, UK. Today, I went to the beach. Obviously, the altitude at the beach will be very close to mean sea level. I obtained the Cardiff QNH through the most recent METAR available and the display was showing -4 feet while I was on the beach.
Unfortunately I am only able to test on the hardware I own. The only Android device I own that has an altimeter is a Nexus 4. That is what the app is tested on and that is what I consider to be the reference platform for this app. I am aware that at least one person is having difficulty on one other platform, that being the Samsung Galaxy S3. The app may or may not work on other devices.
Comments please!
I designed this app for pilots as you can clearly infer from the name. If you are a pilot and you try it, please report your experiences.
Whilst this app is designed for pilots, if you are not a pilot but you find the app useful for any reason, I would also like to hear from you, especially if you have any feature requests. They might make it into a future version of this app, or I might publish a separate app for them.