While humans have done a pretty good job of figuring out how to fly with various mechanical contrivances, the fact remains that our natural senses aren’t really well suited to being off the ground. For example, unless you have a visual reference point, determining which way is up is quite a bit harder than you might think. Which is why pilots rely on instruments such as the variometer, that determines the current rate of climb and descent, to guide them when their eyes can’t be trusted.
It’s also a very handy thing to have when paragliding, which is why [mircemk] decided to build a hand-held version using the Arduino Nano and a BMP180 pressure sensor. Since you don’t want to be staring at a little screen in mid-air, the device conveys changes in altitude with audio tones. A rising tone means you’re moving upwards, while a lower tone indicates downward travel. In the video below, you can see that it only takes a meter or two of vertical movement before the device picks up on the change.
Looking for a simple yet rugged enclosure for the device, [mircemk] found a metal mint tin that would hold the microcontroller, sensor, buzzer, and the 9 V battery that powers it all. We know what you’re thinking, but don’t worry; holes have been popped in the sides to make sure there’s no pressure difference inside the tin. There’s plenty of room to replace the alkaline battery with a rechargeable pack and associated charge controller, but we imagine there’s a certain security in tossing in a fresh new primary cell before slipping the surly bonds of Earth.
If you’re in interested DIY instrumentation for a glider or other aircraft that actually has a proper cockpit, this sunlight readable flight computer made from a Kobo e-reader would be a great start.
20 thoughts on “Arduino Variometer In A Mint Tin”
Remember me laggy variometers 7 years ago. These days everyone use accelerometr for instant respons and high resolution up to 10 cm otherwise it is useless for flying on paraglider with long delay and resolution in meters.
Definitely, they use IMU/barometer sensor fusion here:
The first model is even open source on github !
Another open-source one with the IMU+Baro
Looking at the source code, it indeed takes the raw rate of climb from the pressure sensor, and passes it through a Kalman filter to obtain a (possibly) better prediction of airmass movement. Not exactly instantaneous, as Kalman filters also have some inherent amount of lag, but definitely cool.
I think you’re a bit behind the time on pressure sensors. The BMP180 has sub 1 meter resolution.
Accelerometers are rather more of a faf as you need to combine data from 3 axis to work out which way is down and relative acceleration compared to that. You probably want more than just an accelerometer to do the job properly, but a simple BMP based system is probably good enough for a paraglider.
Pressure sensors have had sufficient resolution for freeflight for a while, but lag is the problem more than resolution. Jitter caused by changing airspeed is also a problem. Accelerometer varios are up to a couple hundred milliseconds faster at reliably registering a climb or descent, though it takes some tweaking to filter out noise from turbulence and aggressive maneuvering (we call those “stick thermals”)
Almost all high end commercial variometers are now either entirely accelerometer based, or they use a combination of accelerometer and barometric pressure to improve reliability.
Can you provide an example of an commercial fully accelerometer based variometer, particularly one that indicates total energy? The main problem with using accelerometers has always been that it is impossible to distinguish air mass movement from pilot control input based on acceleration alone. I didn’t think the physics had changed all that much in recent years.
XCTracer, bluefly, and the Oudie 4 all support 100% accelerometer based vertical velocity measurement. I believe the Digifly does as well. Most if not all have a barometer for altitude measurement, and some can combine both.
Stick thermals are an issue, but with the better models it isn’t much worse than you’d get from rapid airspeed changes on pitot tube models. When scratching in low, weak lift, the accelerometer based systems are far and away superior IMO.
Interesting, it seems they are using GPS altitude for reference, either without, or in conjunction with, pressure altitude (however, BlueFly web site indicates their basic vario uses pressure sensor only). Pressure altitude is typically a more stable short term altitude reference than GPS, and I would guess it works better when compensating for total energy, whether using a TE probe or based on delta airspeed. The other thing that may be different with gliders is that we fly faster and make larger circles, most of us need a longer time constant of 1 to 2 seconds to choose more viable thermals, particularly in the presence of turbulence. Some glider variometers do use accelerometers in parallel with pressure alttitude, but I’ve never found them to be much of an improvement over the best pressure-only devices.
Just stumbled across this. Just as an addition, instant varios that combine acceleration readings with pressure based vertical movement to provide an extremely fast responding vario can be built with the imu and pressure sensor of smartphones already. Pixel phones for instance come with a precise enough BMP280, BMP285 or BMP380 and IMU. In the beginning I also thought there’s not much of an improvement over (the best) pressure only based devices. But developing an instant vario app and comparatively test flying with commercial varios for close to two years now:
Instant varios do make for a much more intuitively flying and centering of thermals in paragliding. The bigger challenge is to get the computations fit for every combination of imu and pressure sensor (precision, accuracy, drift, etc.)
Of course, that might be a biased opinion since I’m the developer team. But you can try for yourself:
As for some numbers, pressure is read out at 25ms and acceleration at 10ms in modern smartphones. We also put a little article on how an instant vario actually works. Still needs some more pictures but the rough idea is quite straightforward.
The seeming low resolution and slow response of the device in the video is probably due to the software needing more refinement. The BMP180 in “ultra-high resolution” mode (~20 Hz sampling rate) is specified to provide 0.17m resolution. With appropriate filtering, this is more than adequate for a quite usable variometer.
Accelerometers alone won’t work as variometers, there would be too much short term drift. Some modern variometers use one along with a pressure sensor and a sensor fusion algorithm (Kalman or similar), but in the real world, most pilots don’t find the difference all that significant.
I’m a long time glider pilot, a friend and I built a series of digitally differentiated variometers starting around 20 years ago, using TI MSC1210 (8051 with 24 bit ADC) mixed-signal processors. At the time, pressure sensors were analog, a limited amount of analog filtering was applied, the pressure sampled via the on-board 24-bit delta-sigma ADC at 100 Hz, then a software FIR filter was applied to provide a reasonably noise-free pressure data stream (also 20 Hz in our case, this is now all done inside the BMP180). We’d apply a slew rate filter to limit gust response, differentiate by taking the difference between each filtered sample and the last, then apply a final FIR stage to produce the variometer signal used to drive a stepper motor needle, audio output, and output data stream (rate of climb, airspeed, altitude, and GPS pass-through) to an attached WinCE handheld. The rate limiter and final FIR filter duration were under pilot control. Generally, one would select a lag of 1 to 2 seconds, anything faster was too twitchy in flight to be of much use.
I was going to mention that in hang gliders and paragliders we don’t have nearly the energy retention of a sail plane, so we don’t often manage more than a quick chirp from a vario due to control inputs. We just can’t manage much of a climb, or even a flat turn without a bit of help.
In decent but turbulent conditions, 2 seconds is a rule of thumb for avoiding sucker thermals, but when scratching low I’m turning almost as soon as the vario lights up.
I know the XCTracer is entirely accelerometer for climb rate, though given the effort put into the design I’m sure they’re using GPS and/or pressure altitude to ensure the accelerometer doesn’t wander off too far from reality. There was a great interview with the designer of the XCTracer on the Cloudbase Mayhem podcast fairly recently that covered some of the practical advantages and “how to use it correctly” sort of topics.
Having never flown a paraglider or hang glider, I don’t really know the differences in flying strategies. There are high-end “inertial” variometers (with pressure sensors) for sailplanes, some pilots use them, most still don’t.
When I raced sailplanes in the western US, on a good day I’d have 400 lbs of (jettisonable) water ballast, cruise at 100+ knots, and pass by any thermals that were less than 8 or 10 knots climb unless I was getting low. Just slowing from 100 knot cruise to 50 knot climb airspeed causes a gain of around 1000 ft in altitude, so accurate total energy compensation is a must. The wide speed range and changing dynamics (flap setting, ballast) seems to make it quite difficult to get consistent results out of an inertial vario in a sailplane.
A lag of a second or two in the variometer isn’t terribly significant to me, as I’d slow down then wait to yank (plus pull climb flap) and bank until the indicated climb rate had peaked for a second or two in any case. I’d just have to learn to wait a bit longer with an “instantaneous” vario. Down low and slow is a different matter, but even with a faster vario, that’s never be a good place to be in a sailplane, even after dumping water.
Very cool! I’ve been looking at mating something like this (or just a bluefly TTL vario) with something similar to the low-cost AR glasses featured last week to get a HUD variometer display on my helmet visor for hang gliding. It would be awfully handy for high speed flying, and would make scratching in weak lift a bit easier since I wouldn’t be constantly tempted to stare at my vario screen.
Mint tin? phsh you have to spend half a decade in open s cad to code a rectangle with rounded corners, a hinged lid and an embossed design in a single shot 3d pring … what is this 2009?
Although I’m at risk of winning an award for Most Correct But Irrelevant Comment… that’s not an Alkaline PP3 9V battery, that’s a Zinc Chloride one.
LOL – I have often wondered about those MCBIC awards as I myself plunge headlong into irrelevant oblivion
If you are interested in the matter, you can give a look at the e-Gnu vario. Fully open-source esp32 with e-ink screen, 3-axis accelerometer + baro.
Also features BT communication to smartphone, flight log and basic elevation to give you altitude above ground level.
This tip is amazing. Thank you for sharing.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)