Altimeters and Variometers

Fred Vachss

Return to home page.

Introduction (1989):

The following is a rather rambling description of an altimeter / variometer I designed and built in 1985. Following completion of the device, a number of pilots asked for altimeter plans and I drew up and sent out schematics to several of them. About a year later, Bay Area pilot Mark Grubbs decided he wanted to build just the vario segment of the circuit and requested plans. The following monograph is essentially a reply to this request and began as a personal letter to Mark - hence the rather chatty tone of the opening paragraphs. In preparing that letter, however, I realized that I might as well produce a more formalized device description including some theoretical background along with a full circuit description. The end result presented here is a bit more bulky, but is at least reasonably thorough. The only caveat I should offer (other than those given in the manuscript) is that the design given here was based upon parts availability circa 1985-86. Some chips are out by now which do things better than those I used in the prototype device and some of the price and availability information given here is certainly out of date. Thus I hope that I've included sufficient background here to allow new instrument builders to choose which elements of the original circuit they wish to retain and which they may modify to suit their own ends.

Additional Comments (1994/95): Many fully temperature compensated pressure transducers are now available which eliminate the need for the somewhat awkward thermistor compensation circuit included in the description below. I have not made a thorough survey of the current market, but the design given below should be usable with these newer transducers with minimal modification (other than the elimination of external temperature compensation as described below and on the altimeter schematic).

To verify this, I have recently built a very cheap and simple audio-only vario based on a segment of the design described here using a Motorola MPX 5100A fully compensated pressure transducer. An appended section describes the construction of this unit and some other simplifications in the power supply circuitry which may be applicable to the original design as well.

Detailed Circuit Description. (Original text - 1986):

1. Power Supply

Included on altimeter schematic

Power is obtained from a 9 volt transistor radio battery. This is fed into an LP 2950 low current voltage regulator which provides a stable 5 volt regulated output. The 2950 is a really nice regulator for battery power applications and had just been introduced when I put this thing together in 1985. It uses only 200 mA quiescent current at 10 mA total load compared to about 10 times this value for the standard regulators like the LM 340 or LM 78LXX series. As the total operating current for the altimeter/variometer is about 10 mA, a couple of mA saved here and there can add up to a big boost in battery lifetime.

This 5 volt regulated output is now fed into an ICL 7660 voltage inverter from Intersil which generates a -5 volt negative supply voltage. This is necessary since most of the op-amps in the circuit want to see 5 volt supply voltages. Note in all cases the heavy use of bypass capacitors - 1 uF for the 2950 and 10 uF for the 7660.

2. Pressure Sensing / Signal Conditioning

Also on altimeter schematic

The pressure sensing is achieved through the SPX 100A piezo-resistive transducer from Sensym. An equivalent and somewhat easier to obtain unit is the Motorola MPX 100A.

Basically, the SPX 100A generates a voltage difference between pins 2 and 4 proportional to the absolute ambient pressure and to the voltage difference across pins 1 and 3. Temperature compensation is achieved through the resistor/thermistor network leading into pin 3 of the SPX 100A. Here RTH is a color TV thermistor with a nominal (cold) resistance of 200 ohm and R2 is chosen to be about 100 to 200 ohm . I use 160 ohm in my vario, but this value may vary from unit to unit. The exact compensation procedure by which this resistor is chosen will be discussed later. I use R1 = 1.5 Kohm for an input resistor, but this value is not particularly critical. The difference voltage on pins 2 and 4 is amplified and referenced to ground through the differential amplifier consisting of the OP-77 op-amp and the four resistors R3 - R6. Here R3 = R4 = 1 Kohm and R5 = R6 = 100 Kohm for a nominal gain of 100 ( the actual effective gain is somewhat less due to loading of the transducer ).

If you are using this device as a variometer and not just an altimeter, using an OP-77 op-amp from Precision Monolithics is critical here. No other op-amp I can find provides a comparable combination of low power consumption, low voltage offset and drift and (most importantly for vario applications) extremely low noise. Any noise introduced at this point is amplified by the rest of the system. This is why I don't use larger values for R3 - R6 and avoid loading of the transducer. Big resistors act like very efficient antennas and really trash up signals by picking up line noise. R3 - R6 should be 1% precision metal film resistors, as can be obtained at Stanford EE stores. Also R3 and R4 as well as R5 and R6 should be hand matched against each other to at least 1 part in 1000 ( I do 1 in 10,000 if possible) to avoid differencing errors. Note though that this isn't as critical if you care only about the vario and not the altimeter. The OP-77 now has an output voltage proportional to absolute pressure referenced to ground and should be somewhere around 1.5 volts at standard sea level pressure. This output is denoted VP.

3. Altimeter Scaling and Display

Now that we have a voltage VP that's proportional to ambient pressure we can do two things with it. Either we can differentiate it and relate its rate of change to our rate of ascent to build a vario, or we can relate this pressure signal directly to our altitude to construct an altimeter. The first of these two procedures is discussed at some length in sections 4 and beyond, so if you're solely interested in vario building you can skip this next section - or else just read it for grins.

This section describes how we can convert VP into an accurate display of altitude. This includes some discussion of both the pressure/altitude relation found in the atmosphere and how this relation can be emulated using the properties of the A/D converters used to drive the LCD displays. There's a fair bit of math here which isn't really necessary to build the device, but which does give an idea of how one might alter my component values for other applications you might want to try.

4. Pressure/Altitude Relations

By balancing the forces of weight and pressure on any given chunk of air, we can write down the relation:

              dP/dz  = - rho g                                      (1) 
where P is the ambient pressure, z is the altitude, rho is the mass density of the air and g the acceleration of gravity. Along we this we will assume that air is an ideal gas - a pretty good assumption for normal atmospheric conditions. So we can also use the ideal gas law:

              P = rho kB T / m                                      (2) 
where kB is Boltzmann's constant, T the absolute temperature and m the average molecular mass of the air. Combining (1) and (2) we get the following equation for P in terms of z and T:

              dP/dz  =  - P mg / (kB T)                             (3) 
Now since T generally varies with altitude, we must express T in terms of z in order to solve (3) for P. We will assume T decreases linearly with altitude at some given lapse rate a. So we can write:

              T(z) = T0 - a z                                       (4) 
where T0 is the temperature at sea level and the lapse rate a is typically equal to about 2 degrees C per 1000 ft. We can thus re-write (3) as:

        dP             P                  1
        ---   =   -  -----    x    -----------------                (5) 
        dz            z0            ( 1 - a z/T0 )  
where z0 = kB T0 / (m g) is an altitude known as the "scale height" and is typically somewhere between 26,000 and 30,000 ft. for most commonly encountered temperatures.

We can now solve (5) directly to obtain the following formula for the altitude in terms of the pressure:

            z(P)  =  { 1 - ( P/P0 )**(a z0/T0) } x (T0/a)           (6) 
where P0 is the pressure at sea level. So we can see right off that the pressure/altitude relation depends strongly upon the lapse rate a.

Frequently in altimeter design it's assumed that the atmosphere is isothermal ( i.e. T doesn't vary with altitude ). In this case a goes to zero and (6) can be replaced by:

            z(P)  =  - z0  ln( P/P0 )                               (7) 
And so a lot of altimeters use some kind of standard logarithmic converter ( like the V-I curve of any diode ) to reflect this behavior. A much more easily implemented ( and less accurate ) approximation also frequently used is to assume a z0/T0 = 1 - in which case T drops off so rapidly with altitude that we'd reach absolute zero by the time our altitude equaled the scale height. In this case we simply get:

            z(P)  =  z0 { 1 - ( P/P0 ) }                            (8) 
and z is just a linear function of P which is very easily realized in hardware - just hook VP up to a voltmeter and you'd be done. In reality however a z0/T0 is typically around 0.2 and so the pressure/altitude relationship falls somewhere between these two extremes. So to realize an accurate altitude conversion we must be a little bit more careful than in the limiting cases of (7) and (8).

Fortunately it turns out that an inherent non-linearity in the response of the A/D converter - display driver chips used in this circuit can be used to mimic the behavior of (6) pretty accurately. Ordinarily a 3-1/2 digit LCD driver (like the Intersil ICL 7116 or 7136 ) will produce a reading of the form:

          Display Count  =  1000 { VHI - VLO } / VREF               (9) 
where VHI , VLO and VREF are voltage inputs to the chip. So the display output is simply the difference between these first two inputs scaled by the third. This response is obtained however as a limiting case of the more general expression:

                       1            VHI - VLO                                                             
Display Count = 1000  --- ln { 1 +  ---------  [ 1 - exp(-x) ] }    (10) 
                       x               VREF         
where x is a parameter which is usually extremely small - in which case (11) reduces to (10). In (10) unlike (9), however, we have a non-linear response function with two scaling parameters, x and VREF, as opposed to VREF alone in (9). If we let VLO equal VP and adjust VHI to equal the value of VP at sea level, we note that both (9) and (10) will give us the correct response of zero altitude when P = P0. Equation (10), however, with its extra free parameter allows us to do a 3 point curve fit to the true response of (6) while the single parameter in (9) only would allow us a 2 point (linear) fit.

In the case of our circuit, x is proportional to 1/(RP C), where C is the integrating capacitor used with the A/D display chip (see spec. sheet) and RP is a resistor placed in parallel with C. In normal linear applications, RP is ommited and hence x is negligible. By choosing this resistor appropriately however we can force x to be whatever value we choose.

Now suppose VLO and VHI are chosen as above and in addition we set VREF = K x VLO for some constant K < 1 ( as is done with the 2 resistor divider network shown in the altimeter schematic ). We could then re-write (10) as:

                       1                               [ 1 - exp(-x) ]                                                                                        
Display Count = 1000  ---  ln { 1 + [ (P0/P ) - 1 ]   ----------------  }    (11)
                       x                                      K    
We can now choose x and K in a number of ways to best match (11) to (6). Probably the most accurate way to do this is to do a least squares fit of (6) to (11) on a computer over whatever altitude range you expect to encounter. I'm way too lazy to do this however, so I did the next best thing which is to choose two altitudes and choose x and K so that (6) and (11) are equal at these values. Using altitudes of 6,000 and 12,000 ft. as the matching altitudes, it turns out that the results of (6) and (11) differ by less than 100 ft. over 0 - 18,000 ft. Using a scale of 10 ft. per display count ( so a reading of 1000 corresponds to 10,000 ft. ) and using pressure / altitude numbers from a standard atmosphere table ( also enclosed ) we get values of:
    x = 0.45   and    K =  0.29 
To get x to equal this value, we note that for relatively low altitudes where PO isn't that much less than P - like a few thousand ft. or less - the response is roughly given by:

                 1000                     [ 1 - exp(-x) ]                                                                                        
Display Count ~  ----  [ (P0/P ) - 1 ]   -----------------                   (12)
                   K                             x                 
Further we note that when RP is removed (i.e. RP = infinity ), x = 0. Now since [1 - exp(-x)] / x ~ 0.81 for x = 0.45, this means that for relatively low altitudes, the effect of putting in the correct RP will be to reduce our display reading to about 81% of its initial value without RP in place. We thus choose the proper RP by building the device without RP, setting the display equal to 100 by varying VHI, and then putting in resistors of different magnitudes for RP until the display count is reduced to 81. This should occur somewhere around RP = 1 Mohm, but the actual value may vary a fair bit from this - find it by trial and error.

Unfortunately, though the above gives a pretty good starting point, the values of RP and K obtained above won't be quite right in practice due to loading of the transducer and to a lesser extent to regional and seasonal climatic variations. What works in practice is to leave RP more or less alone and adjust K so that the scale is correct. I do this by taking little calibration drives up to Windy Hill (1900 ft. MSL on top). In my devices I've found that K = 0.245 to 0.26 seems to work well. Low altitude scaling is less strongly dependent upon RP, so to re-adjust this parameter I wait for a high altitude trip to Slide or Hull (CA sites about 7000 - 8000 MSL) and see whether my non-linear correction is noticeably off. Thus far I haven't found any noticeable errors below 8000 ft. MSL and have left RP alone. Though I prefer actual tests at altitude like this because they're pretty fool-proof, if you're not planning on taking any trips any time soon you can calibrate the altimeter quite simply by connecting the VLO pin of the A/D to a variable voltage source. Using the standard atmosphere table provided, set VLO = VHI x P(z) / P0 for a couple of different altitudes z, and adjust K and RP until the display matches z at the altitudes you want. This always works reasonably well. A final caveat however: the atmosphere we fly in isn't always all that close to the tabulated standard atmosphere, so I am a bit prejudiced in favor of field tests.

5. Vario Scaling - A Brief Theoretical Digression

The pressure altitude relationship is approximately exponential. That is:

            P(z) ~ P0  x  exp( - z/z0 )                             (1) 
where P0 is the pressure at sea level, z is the altitude and z0 is the scale height given by:

            z0 = kB T0 /( m g ) ~  27,000  -  28,000  ft.           (2) 
for 20 - 30 degree C air. Note that (1) above is only strictly true for an isothermal atmosphere ( T constant with altitude ), but is pretty good for typical lapse rates. This lapse rate induced variation in z0 is taken into account when scaling the altimeter, but may be ignored for vario calibration since absolute vario accuracy is not as important. (i.e. We care a lot if the altimeter reads 9000 ft when we're really at 10,000 ft, but nobody's going to notice the difference if the vario reads 900 fpm up when we're really climbing at 1000 fpm)

Differentiating (1) we obtain:

              - ( 1/P0 ) x  dP/dt  =  ( 1/z0 ) x  dz/dt             (3) 
In particular since VP is a voltage proportional to P, we may write:

                     dz/dt  =  - ( z0/VP ) x  dVP/dt                (4) 
The A/D converter/display-driver ICL 7136 operates by taking an input voltage VHI , subtacting off another voltage VLO, dividing this difference by a reference voltage VREF, multiplying this result by 1000 and driving a 3-1/2 digit LCD display with the final result. To come up with a display proportional to dz/dt then, we see from (4) above that we'd like to set VREF = VP, VLO = ground and set VHI = - C x dVP/dt for some constant C. We will now evaluate this constant.

Suppose we want the display to read in 10's of feet/minute (fpm). This is the scale I use and seems to be a good compromise between noise and resolution. This scale implies that a display reading of 1000 corresponds to 10,000 fpm. So taking VREF = VP, VHI = - C x dVP/dt and substituting into (4) we obtain:

                      dz/dt  =  z0 x VHI / ( C x VREF )             (5) 
So using VHI = VREF when dz/dt = 10,000 fpm. we obtain:

Constant =  27,000  ft. / 10,000 fpm  =  2.7 min. ~ 162 sec.        (6) 
So the input VHI we must generate for the A/D display driver chip must have the value:

                     VHI  =  - 162  sec. x  dVP / dt                (7) 
Now a simple inverting op-amp differentiator as shown,

will generate an output voltage of: VOUT = - RC x dVP/dt. Unfortunately, however, this circuit will also have a response time of RC. So since we don't want to wait 162 seconds for our vario to respond, we must generate VHI in two stages - a fast differentiation followed by a big gain stage. What I do is generate an intermediate output equal to -1/4 sec. x dVP/dt which has a minimal lag time, and then amplify it by a factor of about 600 to get VHI. This process is detailed on the

6. Vario Circuit Description

On vario schematic

VP is input to the inverting differentiator using one fourth of a PMI OP-400 low noise/low drift / low power op-amp (amplifier A1 on the vario schematic) with two 270 Kohm resistors and two 1.0 uF capacitors giving an effective time constant of 0.27 seconds. Use Mylar capacitors here since any leakage current will show up directly in the vario output. These two caps are probably the most critical in the operation of the vario circuit.

The use of a quad op-amp in this application is a relatively recent development for me. In the first few device prototypes, I used a separate OP-77 for this task. Quads have come a long way in the last few years, however, and the specs on the 400 are too good not to use it and reduce the parts count. The only problem using a quad here is that there is no offset adjustment. This is necessary to "tweak" the zero on the vario - everybody's favorite pre-launch ritual. Though with good op- amps not much tweaking is ever really needed, having that degree of freedom is always appealing. For this reason you'll note a little resistor network on the non-inverting input side of the differentiator stage. In particular, note that there's a relatively big (250 Kohm) resistor going to the potentiometer P1, but a really small (10 ohm) resistor going to ground. This ensures that only very small voltage adjustments can be made at this fairly sensitive early stage of the amplifier chain.

The output of the inverting differentiator is fed into another fourth of the OP-400 (A2) set up as a non-inverting amplifier with a gain of 500 - 600. Use of a 0.47 uF cap in the feedback loop also provides another stage of low pass filtering to clean up the signal. The output of this op-amp stage goes to the INPUT HI pin of the ICL 7136 display driver. VP from the [pressure] block of the schematic goes to the REF HI pin of the 7136 and the INPUT LO pin is grounded. All other hook-ups to and from the 7136 are exactly as described in the spec. sheet for this chip.

This concludes the construction of the display section and provides an interim opportunity to check your results. Paradoxically, it was the generation of the audio portion of the vario that I found to be the difficult part, with the display working reasonably well from the start. In a nutshell, the problem is that to make the vario beep on command, we have to introduce a big noise source into a relatively noise sensitive environment and all sorts of nasty feedback problems result if you're not careful. The following describes the audio circuit I currently use which seems to circumvent most of these problems.

7. Audio Output Circuit Description

Also on vario schematic

One of the ways we avoid noise in the system is by running the audio circuitry off of +9 volts and ground directly from the battery, while the signal processing and display electronics are run off 5 volts. Thus any transients feeding back into the audio voltage supply aren't fed into the signal processing supplies. In order to do this, the vario output signal from the 2nd stage of the OP-400 ( VHI ) which varies from about -4 to 4 volts must be converted to a purely positive voltage - in this case in the range from 0 to 5 volts. Also to provide a crisp transition for turning the audio circuit on and off, we further amplify the shit out of VHI before using it as an audio control voltage.

Basically the remaining two quarters (A3 and A4) of the OP-400 serve to generate an output of the form:

                     VCONTROL  ~  2.6 volts  -  6 x VHI             (8) 
The diode D1 limits VCONTROL to values no less than ground. Thus VCONTROL ~ 2.6 volts when VHI = 0 ( i.e. when vario reads zero ). As VHI increases, VCONTROL rapidly decreases, and reaches zero when VHI ~ 0.4 volts ( corresponding to 2000 - 3000 fpm up ). VCONTROL will remain at zero for VHI > 0.4 volts. Similarly VCONTROL will saturate at a maximum value of about 4.5 volts when VHI < - 0.4 volts. The remaining quarter of the OP-400 is set up as a voltage follower to further isolate the signal processing and audio circuits.

The output of A4, VCONTROL, serves two purposes: to switch on the up and down alarms at the appropriate points and to vary the pitch of the audio signal coming from the speaker as the climb rate varies. The first of these functions is accomplished by using VCONTROL as an input to the LM 393 dual comparator (amplifiers A5 and A6 on the schematic). The comparator will switch on ( and pull its output down to ground ) if VCONTROL is greater than the voltage on the wiper of potentiometer P2 or less than that on the wiper of P3. We can thus use P3 and P2 to set the climb and sink rates at which the vario will turn on and start making noise. Note that since VCONTROL decreases with increasing VHI , P2 sets the sink alarm point and P3 the lift alarm. The comparator inputs should be connected by 0.1 uF capacitors ( C4 and C5 ) as shown to avoid oscillation problems. The 390 Kohm resistor R9 also helps to isolate the comparator circuitry as well as smooth the transition somewhat. The outputs from the 393 are connected to one end of the output speaker through a 0.1 uF cap. Any speaker may be used, but a small two wire piezo- electric element from the Hang Glider Pilots Electronic Resource Center (Radio Shack) seems to give a pretty loud output with minimal power drain.

The audio signal itself is generated by an EXAR L-555 low power timer chip. Finding this chip as opposed to other similar timers took a whole bunch of time. It turns out that using an ordinary 555 gives rise to big current transients which screw up the signal, while a CMOS 555 seems to have too much internal resistance to work properly. The frequency of oscillation is governed by resistors R10 and R11 and capacitor C7. I use R10 = 1 Mohm and R11 = 5.6 Mohm for low duty cycle and low power dissipation. For these resistor values try C7 in the range of 100 to 900 pF to get a tone you like - I use about 250 pF. This pitch is modified by feeding VCONTROL through the 3.9 Kohm resistor R12 to the control pin ( pin 5 ) of the L-555. The variable frequency square wave output of the L-555 is fed through the wiper of potentiometer P4 to the other terminal of the speaker. Adjusting P4 gives a good volume control.

The above is pretty much it. You should be able to put a working vario together using this circuit. You may however wish to do some things differently from me if your priorities are different. For instance, I needed to make my device as small as possible so single battery operation was a must. If you can tolerate two batteries (one for positive supply and one for negative), you can ignore the 7660 voltage inverter and get a substantially louder audio output by hooking up the audio circuitry to 9 volts rather than +9 volts and ground as I do. This may increase electrical noise problems though.

My vario/altimeter is made using Intersil ICL 7116 A/D display drivers because I didn't know any better at the time. You can save 1 - 2 mA of load current by using the equivalent ICL 7136 low power drivers. Note that the op-amps used have sufficiently low drift so that nulling is generally unnecessary.

Component Sources

Some of the components required in this circuit are rather common and can be obtained through most electronic hobby shops - even Radio Shack sometimes has a pretty good selection. The stuff you can often find at this sort of place includes all the passive components (resistors, capacitors, potentiometers), construction materials (perf board, IC sockets) as well as some of the the more common ICs like the LM 393 and maybe even the LP 2950 and ICL 7136. For some things like the pressure transducer (and probably the OP-77 and/or OP-400), however, you will probably have to go to a large electronics distributor.

In some locales with a large technology base, you may be able to find such distributors locally and drive around and pick up your parts. More typically, however, you will have to deal with a mail order distributor. Newark Electronics and Hamilton/Avnet are two that I've dealt with extensively, but there are many others. These guys will typically have an excellent selection, but will require a minimum order of at least $20 (maybe more) so make sure you know exactly what you want the first time you place an order.

Nominal Passive Component Values

1a. Altimeter Schematic ( Segment also required for vario )
R1 = 1.5 - 2.0 Kohm

R2 = 100 - 200 ohm
     check VP out of OP-77 at room temperature then place device in the fridge 
     for a couple of minutes and re-measure it. Vary R2 in this range until VP 
     is roughly temperature independent.

RTH = 200 - 250 ohm (cold)
     If this value is substantially altered, R1 and R2 should be altered 

R3 = R4 = 1.0 Kohm
     Use precision metal film resistors. Absolute value is not critical, but
     R3 must equal R4 to as high a degree of accuracy as possible.

R5 = R6 = 100 Kohm
     Use precision metal film resistors. Same matching criteria as R3 and R4.

Note 10 uF capacitors should be tantalum so observe proper polarity.

1b. Altimeter Schematic ( Additional components required for altimeter but not necessary for variometer )
P1 = 2 Kohm
     Use high quality damped pot or stable trim pot.

R7 and R8 = 10 - 25 Kohm
     Use precision metal film. R7 and R8 are chosen so that wiper of pot P1 
     is approximately equal to VP at sea level. For VP = 1.5  volts, 
     R7 = 25 Kohm and R8 = 11 Kohm should work. 

R10 = 31 - 32 Kohm

R11 = 10 Kohm
     Use precision metal film for both R10 and R11. Ratio of R10 to R11 may 
     require some fine adjustment to get proper altimeter scaling.  Altimeter 
     response is extremely sensitive to these two resistor values.

RP = 0.5 to 5.0 Mohm
     Choose this resistor so that altimeter reading drops to 80% of the value 
     it displayed with RP absent. 1 Mohm is a good nominal choice.

All other componenet values are chosen in accord with the display driver spec. sheet.

2. Vario Schematic ( Those entries marked with a (*) are also used in audio-only vario schematic )
R0 = R1 = 2.7 Mohm
     Use metal film if available

C1 = C2 = 0.1 uF
     Use Mylar or other low leakage high stability caps. 
     (Monolithic Ceramic caps are not acceptable here.)

R2 = 10 ohm

R3 = 250 Kohm   

R3.5 = 470 ohm

R4 = 250 Kohm   (*)
     R3.5 and R4 are not critical, but should have a ratio of 1 : 500 - 600.

C3 = 0.47 uF  (*)

P1 = 2 Kohm

R5 = 560 Kohm

R6 = 75 Kohm

R7 = 71 Kohm
     Not critical but R7 should be about 95% of R6.

R8 = 3.3 Mohm

R9 = 390 Kohm   (*)

D1   Not critical but should suck as little current as practical, so don't 
     use Zeners or high power diodes.

P2 = P3 = 25 Kohm

C4 = C5 = 0.1 uF  (*)
     You can probably use smaller caps here, but I like to overkill in the 
     name of stability. Don't use larger ones or response time may start to suffer.

C6 = 0.1 uF   (*)

P4 = 100 Kohm

C7 = 150 - 900 pF (*)  depending on pitch preference

R10 = 1 Mohm   (*)

R11 = 5.6 Mohm  (*)

      R10 and R11 may also be adjusted to vary tone quality.

R12 = 3.9 Kohm   (*)

General Comments:

For moderately large capacitors ( up to about 1 F ) monolithic ceramics are fine - cheap, compact and easy to use. For precision applications use Mylar, Polycarbonate or similar low leakage types. Of the precision caps, Mylar seems to have the best size and availability combination. For large value caps, polar tantalum are OK. Avoid metal can electrolytics like the plague.

Precision Metal Film resistors ( 1% ) are always nice if you can get them. They cost 2 - 5 times as much as standard carbon resistors though, and are sometimes tough to obtain in values higher than 1 Mohm. They're not absolutely necessary except in the input/output network of the OP-77. Try to get good stable potentiometers. I use the small can 1/2 watt pots from Allen-Bradley. Little IC trim pots may wander too much for your satisfaction.

Well that's all I can think of for now. I've probably left some stuff out so call me if you run into any problems. My numbers are:

                (805) 492-6342  (home)
                (805) 373-4582  (days)
or send
e-mail to

Good luck

(end of original 1986 text)

Appendix 1: Building a REALLY Simple Vario

(February 1995) If all you want is a quick and dirty device that'll make noise when you go up, you may wish to consider the following somewhat simpler alternative to the device described above. I recently received a free sample of a Motorola MPX 5100A temperature compensated signal conditioned monolithic pressure transducer. Basically this has two input pins for V+ and Ground and an output pin that gives a voltage equal to 5 V x Pressure / 15 psi. In other words, in three pins it does all the work of the transducer, temperature compensation network and first OP-77 amplifier in the altimeter design described above. This suggests that varios and altimeters could be constructed from this (or similar) transducers with relatively few additional parts. So I decided to build the simplest and cheapest vario I could using this chip.

One warning though, this transducer does have a somewhat higher current drain than you can get using the original design. I measured a drain of about 9 ma from this chip alone, leading to a total device load of about 20 ma compared to maybe 12 for the original device. This isn't all that big a deal, but it will drain your batteries quicker. I elected to power this vario from the same pack of C-cells I use to run my 2-meter radio and so have power to burn. If battery duration is a major issue, then I'd either recommend staying with a non-signal conditioned pressure tranducer followed by an OP-77 amplifier as in the original design, or else find a signal conditioned transducer with lower current requirements than the MPX 5100 series. Also you'll probably find that the non-signal conditioned varios are LOTS cheaper than the 5100, which sells for $50 - $60 - perhaps twice the cost of the simpler transducers.

Anyway, the design is a subset of the altimeter and variometer designs described earlier. Here is a link to the schematic diagram.

An LP 2950 voltage regulator is again used to provide a regulated source of +5V. This is fed into the MPX 5100A which has an output of VP proportional to the ambient pressure. We have just duplicated all the work of sections 1 and 2 of the original design. The remainder of the circuit is very similar to the more complicated vario circuit described earlier.

The main difference (other than the elimination of the display circuitry) is the elimination of a negative voltage supply. Rather than use a 7660 voltage inverter as in previous design I just used V- = Ground and V+ = +9 V (or whatever your input battery source is) as the supply voltages for all the ICs except the transducer itself. This saves both space and current and given how well it worked in this application is probably a modifiaction I'd suggest even in the full circuit desribed earlier. You'll note, though, that since amplifiers can't generate outputs below their negative supply, we have to do something about the negative voltages encountered when we differentiate a decreasing signal. The trick is to use the +5V source from the voltage regulator as a substitute reference voltage instead of ground. Thus the output voltages from the differentiator stages will now be 5V whatever vario signal we have. This turns out to work just fine (it just requires a little bit different choice of components). This is described in more detail below.

Again VP is differentiated using 1/4 of an OP-400 low noise quad op-amp using resistors and capacitors to give about a 0.25 second response time. I used matched 250Kohm metal film resistors and matched 1 uF Mylar capacitors in this stage. Here, however, instead of ground we connect +5 V to the non-inverting input of the op-amp. This references our vario output to +5 V instead of zero. Note also that we don't bother making this output adjustable. Any adjustment we need can be obtained by adjusting the inputs to the comparator later. In the next stage (A2 on the schematic), since we no longer need a properly scaled display, I just use another 1/4 of the OP- 400 to amplify the heck out of the differentiator output by a factor of about 2000 (but the exact gain is not critical). In this amplifier stage all the passive component values are the same as those used in the earlier vario design except for R3 leading from the inverting input to the +5V reference. Reduce this value to about 1/2000 times the value of the feedback resistor R4. This ensures that the response time of the RC filter included in this stage stays the same (again a value of around .25 to 0.35 seconds seems to work well). The output from A2 is the voltage fed into the comparator to turn on the audio output. Now I cheated a little bit and relied on the fact that the output of this stage was somewhat less than 5V when the differentiator input was constant (i.e. zero sink). This meant that I just had to set up a voltage divider using a couple of resistors between +5 and ground to get a voltage corresponding to zero sink. This is the voltage fed into 1/2 of the LM 393 dual comparator and against which the vario signal is compared. If you wish a sink alarm then use another resistor in this network to obtain another lower voltage and use this as the input to the other half of the comparator. Play with the resistor values until you get a sink alarm point you like. For my device I used resistors of 5 Kohm , 2 Kohm and a 1 Kohm potentiometer in series between 0 and +5V to obtain a sink alarm point of somewhere between 500 and 1000 fpm down and an adjustable lift alarm point.

Note: If the zero sink output of the amplifier is greater than 5V I'd use a voltage slightly lower than +5 as the non-inverting input to the differentiator stage (first OP-400 stage, A1 on the schematic). To get this, just connect two resistors in series between 0 and +5 V and use the connecting point between them as the input. Choise the values of these resistors so that the zero sink output of the second amplifier stage (A2) is a few tenths of volt below +5V.

Finally the output of the second amplifier stage (A2) is fed into an inverting amplifier (A3) using another 1/4 of the OP-400 and the output is the control voltage fed into pin 5 of the L-555 low power oscillator to control the output frequency. The signal is inverted here since we want higher lift to correspond to higher pitch. Again, the gain isn't all that important. I used unity gain (i.e. the two resistors leading to this stage of the amp are the same- I used 50 Kohm for each) but if you want the pitch to be more or less sensitive to changes in climb rate you can alter this as you see fit. All the passive components surrounding the L-555 are the same as in the earlier design.

Anyway, the output of the L-555 leads to one side of the piezo speaker and the output of the comparator leads to a 0.1 uF capacitor and then into the other side of the speaker. And you're done. In my unit both the power input lines and the speaker output lines are connected to phono plugs. I just bury the vario in my harness and plug it nto my radio's C-cell pack when I want to fly. The speaker connections get plugged into a piezo speaker that lives in my helmet - but is so loud that I will probably put elsewhere on my harness - or even be conventional and attach it to the vario. I've flown with this unit. It's fast, sensitive and measures 1.5 x 2 inches on the perf board.

In fairness, I should point out that the vario I describe here is probably very similar to the audio varios produced by Malletec in the USA. These varios are very compact, work quite well, and sell for about $170. The total cost of my device was about $15 + transducer. Depending on how cheaply one can come by a suitable transducer, the savings can make home building this unit worthwhile.