View source for Variometer

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Template used on this page:

Return to Variometer.

Personal tools


The variometer signal is simply the derivative of the barometer signal. It gives a much more accurate vertical speed signal than is possible with GPS. It would probably be best to filter and differentiate the analog pressure signal and then digitize. This kind of measurement is used by the flee flying community (hanggliding, paragliding, ballooning). A device that allows teams of pilots to share position and speed (with accurate vertical speed) data would be lots of fun. Variometer Reference


References to applicable transducers:

Signal Conditioning

The absolute pressure signal needs to be:

  1. Differentiated
  2. Filtered
  • Operational amplifiers in the following configuration:

See the signal conditioning example in this Application Note
It might be best to use a single chip solution if we can find the right fit e.g.: Max1464


We would need two A/D channels:

  1. Absolute Pressure - 12 bit minimum (assuming a operating range of 0 - 12000 meter 12 bits would give resolution of 2.9304 m)
  2. Differential Pressure - 10 bit minimum (assuming a range of +-20m/s 10 bits would give a resolution of 0.0391 m/s)

Extending 8 bit sampling to a usable range for pressure sensing

Driver Code

The driver code samples the input channels and converts the input values from pressure to altitude:

The relationship between static pressure and pressure altitude is defined in terms of the properties of the International Standard Atmosphere. Up to 36,090 ft this can be expressed as:

<math> z =\left (1-\left(\frac{P_{ind}}{101.325}\right)^{0.190263} \right ) \times \frac{87.828}{0.00198122} </math>


  • z = pressure altitude (meter)
  • <math>P_{ind}</math> = static pressure (kPa)

These values are provided to listeners in multiple applications. The sample rate should be application adjustable to conserve power.

Application code

Applications can use the altitude data or combine the data with GPS and accelerometer data. Commonly Kalman filter/observer techniques are used to combine data from multiple sensor types into a robust(with respect to sensor noise), high accuracy estimate of position and speed in 3 axis.


Variometer Code

Combine measurements as described above. Apply knowledge about the aircraft dynamics to increase accuracy:

  • Total Energy compensation
  • Relative Netto Compensation - use accelerometer data to sense when glider is turning in a thermal

User Interface

  • Display speed data in ergonomic manner.
  • Display speed for pilots in group.
  • Visual and audible guidance to pilot with best climb rate (given reasonable proximity)
  • Possible integration with mapping application

Server Based Services

Auto discovery service

  • Pilots with OpenMoko based variometers can choose to publish their status on a central service.
  • Based on location - the system will notify pilots of the presence of others that can participate in group flying.