1-Wire Barometer Calibration

Circuit Details
The resolution of the barometric pressure is about 0.00417 inHg (0.0139 kPa) for a pressure range of 31.0 to 28.0 inHg (105.0 to 95.0 kPa, or 1050 to 950 mb or hPa). Better resolutions are possible with a more restricted pressure range.

The circuit requires an additional power source other than that of the 1-Wire network. The MPX4115 requires about 7 ma of current. This is more than a 1-Wire network can provide without an elaborate circuit to store parasitic power from the 1-Wire network for short burst of current for pressure measurements.
Two voltage regulators are used to provide both 5.0 and 10.0 voltages from a source of DC power ranging from 12 to 24 volts.

General Circuit Schematic for Discussion

Circuit Description

For barometric pressures the MPX4115 output voltage ranges from about 4.25 to 3.79 volts at sea level, and about 2.77 to 2.45 volts at 10,000 feet. Most of this range is above the active voltage range of a 5 volt opamp circuit. In effect the sensor voltage is referenced to the power supply, not ground as desired. Fortunately the DS2438 Smart Battery Monitor accepts inputs as high as 10 volts. Thus by powering an opamp from 10 volts the output of the MPX4115 is well in the opamp and DS2438 range.

The MPX4115 output is fed through a RC filter to opamp stage, U1B, which has a fixed gain of approximately 4. This stage has an adjustable voltage input which is added to the barometric sensor output within the opamp, thereby allowing the adjustment of the output voltage offset to the A/D converter.

This in turn is fed to opamp stage, U1A with an adjustable gain. It is capable of a gain range of 1/1 to about 4.14/1.

The two 10-turn potentiometers (pots) control the gain and offset. VR2 controls the gain of U1A and VR1 controls the offset of the output voltage to the 1-Wire DS2438 A/D converter.

Note that the MPX4115 feeds R2 through a jumper on J1. This allows easy change of the input voltage from a source other than the MPX4115 like the calibration tool.

View the Parts List and Calibration Procedure

Simulators for Calibration

The design presented in the schematic above is not the only possible barometer configuration the values of the resistors can be modified for different ranges of barometric pressure and resolutions.

Two simulators are provided:

    * Calibration Simulator
    * Design Simulator

Jim Jennings has provided Visual Basic Calibration Simulators for pre-calibration of the two pots, VR2 and VR1, and for calibration after construction.
Dave Bray has provided Excel Spreadsheets for modifying the design for different barometric pressure ranges and resolutions, and for pre-calibration of the two pots.


Version 3.0. Large schematic with full details, parts list, version 3.0 simulator, and calibration details. Needed to help construction, for option modifications, and calibration.

Suggestions on Final Calibration

Once you have constructed your barometer and done the initial calibration, it is recommended that you do a final calibration after the barometer has been operated for several days.

Getting your barometer accuracy calibrated will take adjustment over several cycles of barometric pressure change. The initial calibration will not be accurate unless your MPX4115 has the same output vs pressure slope as the typical sensor.

Our recommendation is that you do not attempt to adjust the potentiometers of your barometer until you create a spreadsheet of local airport pressure vs your readings, and do this for a significant number of readings over a range of pressures.

Following is a 14 day data spreadsheet with a pressure range of 1.27 inHg -- 29.31 to 30.58. The barometer was calibrated for a range of 28.8 to 30.8, giving a resolution of 0.01 inHg. (This data was obtained from the David Bray Barometer V1.1a.)


    * The slope of the trendline is nearly perfect: 1.00143.
    * The offset is also excellent. If extrapolated to a pressure of 0 inHg the predicted reading is: -0.03856 inHg.
    * The standard error is 0.01263 inHg.
    * The average difference between local readings and the local airport 25 miles away is: 0.0050.
      To reduce this error to 0 requires me to adjust VR1 to 1/2 of the A/D resolution. Hard to do.

Once you have those results you can use a linear trendline (regression) to find the slope of local vs airport readings. If the trendline slope is not 1.0, use that slope to correct your gain resistor VR2.
The slope will be a multiplicitive change to the current VR2 resistance. For example: if current VR2 resistance is 3K and the slope is 1.05, change VR2 to 3K/1.05 = 2.85K.

Before you spend too much time getting an accurate calibration you should decide what range of pressure changes you want to track and what range of output voltages of U1A you consider satisfactory.

Happy Construction!

Technical Details

The David Bray Version 1.1a web page gives complete details of its design. Those details largely apply to this design also.

The available Design Simulator computes much of this information. So only the very basic details are presented here.

To find the equivalent sea level barometric pressure at any altitude use the following formula:

pressure (inHg) = exp((log(1 - 6.87324e-6 * altitudeFt) * 5.256)) * seaLevelPressure, or
pressure (kPa) = exp((log(1 - 22.5498e-6 * altitudeMeters) * 5.256)) * seaLevelPressure;

To find this MPX4115 voltage output we can use the formula on the MPX4115 data sheet:

MPXVoltage = 5.0 * (0.009 * kPa - 0.095) or
MPXVoltage = 5.0 * (0.009 * inHg * 3.3863 - 0.095)

Thus the maximum voltage is: 5.0 * (0.009 * 31 * 3.3863 - 0.095) = 4.25, and
the minimum voltage at 28 in Hg is: 2.45.

A range of 4.25 to 2.45 is required to allow locations as high as 10,000 feet.

To get the very best resolution you need to establish the linear range of the opamp and DS2438. To do this:

   1. Remove the jumper from J1 pins 4 and 5
   2. Inject a 0-5 volts into J1 pin 4 until the voltage at LM358 pin 7 saturates.
   3. Collect data for a spreadsheet by changing J1 pin 4 input in small steps recording the voltages at J1 pin 4 and LM358 pin 7. Plot it on the spread sheet.
   4. Make another plot for U1A and the DS2438 by recording the input voltage at LM358 pin 3 and the 1-Wire output of the DS2438.

Select the best linear range by examining the plots.
Using this data with the Design Simulator your get find the values for the best resolution.

Following is a sample graph for a barometer input voltage range of: 4.17 to 3.72 volts, and a A/D value of 3.25 to 1.27. Taken for David Bray Barometer V1.1a.

The results show a very linear graph with a small standard error.
It would appear that the upper range could be extended to 3.30, or 3.40 volts.

hiBaro = 31.0, loBaro = 28.0
hiOut = 8.25, loOut = 1.25
inHg/volts = (hiBaro - loBaro)/(hiOut - lowOut) = 0.428
A/D resolution = 2^10 / 10 volts = 100
barometer resolution = 0.428 / 100 = 0.00428 inHg.

Disclaimer and Usage Information
This circuit and construction details are provided without warranty of any kind. This information is published in good faith, and it is believed to be a circuit which will function as described above. However, proper construction techniques are required, and it has not been extensively tested. The user assumes the entire risk related to the use of this information which is provided "as is". The author disclaims any and all warranties.