Device Calibration

This page describes the calibration settings available for different devices logged by Oww.

The table shows the entries for each device type. The default value is given between []. The units follow. Where no units are given, the calibration value is dimensionless. For example Anemometer slope is dimensionless – it is simply a multiplying factor between the assumed out-of-the-box calibration and your own setting.

Where there is just a slope, the equation for the logged value (y) as a function of the value read from the device (x) is:

y = slope × x

For devices with a slope and an offset the equation is:

y = offset + slope × x

Device 1st Entry 2nd Entry 3rd Entry 4th Entry
Vane switch        
Vane ADC        
Anemometer Anemometer slope [1.0]      
Rain gauge Rain gauge slope [0.01] "/tip      
Thermometer Thermometer slope [1.0] Thermometer offset [0.0] °C    
Humidity Trh slope [1.0] Trh offset [0.0] °C Hygrometer slope [1.0] Hygrometer offset [0.0] %RH
Barometer Barometer slope [50.7975] mBar/V Barometer offset [884.723] mBar    
Barometer [AAG] Altitude scale factor      
GP counter GPC slope [1.0]      
Wind vane        
LCD Type: 0=TAI8590, 1=Hobby Boards      

DS2438-based Barometer Calibration

Calibration entries for a barometer can cause confusion, because Oww uses offset and slope for all devices, whereas barometers are supplied with calibrations as two pairs of voltage and pressure readings. Some trivial maths is required to convert from one to the other.

Pressure is a function of the voltage read from the sensor:

p(V) = a + b * V

where a is the offset and b is the slope.

So if p(V=hiVolt) = hiMb and p(V=loVolt) = loMb

  a + b * hiVolt = hiMb
  a + b * loVolt = loMb
=> hiMb - loMb = a + b * hiVolt - (a + b * loVolt)
    = b * (hiVolt - loVolt)
=> b = (hiMb - loMb) / (hiVolt - loVolt)
  a = loMb - b * loVolt
or if you prefer:      
  a = loMb - loVolt * (hiMb - loMb) / (hiVolt - loVolt)

Please note that the default barometer calibration is particular to one user's device. Yours will most likely require a different calibration.

I have written a php program to perform this conversion.

TAI-8570 Barometer Settings

The TAI-8570 barometer is factory-calibrated. Calibration values are read out on start-up. This means that the four barometer calibration values stored with the devices setup are redundant for the TAI-8570, with the exception of the barometer slope. This is still used, so that station pressure can be rescaled to equivalent sea-level pressure. At sea level, set the slope to 1. At higher altitudes you will need to set it slightly higher than 1.

There is no exact formula for calculating this factor, because all the models have to make assumptions about how pressure and temperature vary with altitude. However, an often-quoted fit to empirical data is the following power law:

P0 = P * (1 - h/44329m)^-5.255876


P0 = P * (1 - h/145442 ft)^-5.255876

So, for my location in Caerphilly, Wales, at 150 m, my correction factor is:

(1 - 150/44329)^-5.255876 = 0.9966 ^ -5.255876 = 1.01797

For your convenience, I have written a calculator script for this formula.


The new thermocouple device (TCx in the devices file) takes two calibration values:

The first value sets the thermocouple type. It should be set according to the type of your thermocouple and the table below:

Cal Value

Oww stores these as floating point values - don't worry.

The offset Voltage should correspond to any offset intrinsic to the TAI8560. Mine has about 0.5 mV. To measure this, replace the thermocouple with a short length of copper wire and assign the device as an ADC. Set logging to, say 100s. Then you can get a good average value of Vsns to enter as the thermocouple offset, to use with the thermocouple reconnected. Logo    SUMMARY  · PROJECTS  · SIMON  · MELHUISH.INFO