Skip to content
BenchMesh

Record the lab’s temperature, humidity and pressure with every measurement

Let’s do this the right way. A measurement without its conditions is half a result, so BenchMesh puts the room into every recording: plug a sensor board into a USB-I2C adapter and its readings land on the same second as your power supplies, meters and scopes.

25.0°CTemp38%RHHumidity1012.6hPaPressure
Recording · “10 V reference drift”interval 30 min
TimeDC voltageHP 34401A · VTemperatureBME280 0x76 · °CHumidityBME280 0x76 · %RHPressureBME280 0x76 · hPa
13:00:0010.0001222.8441013.4
13:30:0010.0001323.1431013.3
14:00:0010.0001423.6421013.1
14:30:0010.0001524.3401012.9
15:00:0010.0001624.9391012.8
15:30:0010.0001725.2381012.6
16:00:0010.0001625.0381012.6
The reference rose 50 µV while the lab warmed 2.4 °C - about 2 ppm/K. With the conditions in the same recording, the drift is explained instead of guessed.

Why the conditions belong in the recording

  • Drift you can explain

    Voltage references, shunts, crystals and meters all move with temperature. With the room in the same recording, a slow change is either the device or the afternoon sun, and you can see which.

  • Specs hold in a temperature band

    Instrument accuracy is usually specified around 23 °C, within a few degrees. A recording that carries the temperature shows whether the instrument was inside its band for the whole run.

  • Humidity changes high-impedance results

    Leakage, insulation resistance, capacitor values and anything with a high-value resistor shift with humidity. Record it and the outlier at 70 %RH stops being a mystery.

  • Characteristics you can reproduce

    When you take down a characteristic - a tempco, a regulation curve, an efficiency map - the conditions are part of the result. Calibration labs record them anyway; ISO/IEC 17025 asks for it where they influence the results.

How it records

  • While a sensor reports, every running or paused recording gets one series per reading, sampled by the same whole-second sampler as the instruments.
  • The series cannot be removed from a recording: no result leaves the lab without its conditions. They are on the chart and in the CSV export like any other series.
  • Every chip is its own series, named after it and its I2C address, e.g. “Temperature (SHT4x 0x44)”. The title bar shows each quantity from the most accurate chip that measures it.
  • A reading older than 5 s is never shown or recorded: an unplugged adapter leaves a gap, never a stale value. The adapter is opened again every 2 s until it answers.
  • The sensors are read every second; the bus is scanned again every 30 s for boards connected later.

How recording works →

In your units

Temperature
°C, °F, K
Humidity
relative humidity (%RH), dew point (in the temperature unit), absolute humidity (g/m³)
Pressure
hPa, mbar, kPa, Pa, bar, atm, mmHg, inHg, psi

The sensors measure °C, %RH and hPa; BenchMesh converts, so the title bar, the API and the recordings agree. Changing a unit ends the series and starts a new one.

Set up in three steps

  1. Wire the boards

    Connect one sensor board or several to the SDA, SCL, VCC and GND of a CH341A USB-I2C adapter (USB 1a86:5512) and plug it into the bench computer.

  2. Pick the sensor

    In Instruments - Sensors - Environmental sensors choose BenchMesh Sensors I2C. The bus is scanned and every supported chip is found; a board added later is found within 30 s.

  3. Choose your units

    Pick the units for temperature, humidity and pressure. The readings appear in the title bar and go into every recording from now on.

Windows reaches the adapter through Microsoft’s generic WinUSB driver: the Sensors tab installs it with one button. On Linux the tab shows the udev command that gives your user access. macOS needs nothing.

Supported sensors

50 sensor chips, in any mix on one bus. Each chip is identified by what it answers - an ID register, a CRC-checked reply, a valid calibration PROM - never by its address alone, so an unknown device at a shared address is left alone.

MakerChipsMeasuresI2C address
BoschBME280temperature, humidity, pressure0x76, 0x77
BoschBME680, BME688temperature, humidity, pressure0x76, 0x77
BoschBMP280temperature, pressure0x76, 0x77
BoschBMP388, BMP390temperature, pressure0x76, 0x77
BoschBMP580, BMP581, BMP585temperature, pressure0x46, 0x47
BoschBMP180, BMP085temperature, pressure0x77
SensirionSHT40, SHT41, SHT43, SHT45temperature, humidity0x44, 0x45, 0x46
SensirionSHT30, SHT31, SHT35, SHT85temperature, humidity0x44, 0x45
SensirionSHTC3temperature, humidity0x70
Sensirion / TESHT20, SHT21, SHT25, HTU21Dtemperature, humidity0x40
InfineonDPS310, DPS368temperature, pressure0x76, 0x77
TEMS5611, MS5607temperature, pressure0x76, 0x77
STLPS22HB, LPS22HH, LPS22DFtemperature, pressure0x5C, 0x5D
STLPS25HB, LPS25Htemperature, pressure0x5C, 0x5D
STHTS221temperature, humidity0x5F
TIHDC1080temperature, humidity0x40
TIHDC2080, HDC2010temperature, humidity0x40, 0x41
TITMP116, TMP117, TMP119temperature0x48 - 0x4B
Silicon LabsSi7006, Si7013, Si7020, Si7021temperature, humidity0x40
AosongAHT10, AHT20, AHT21, AHT25, DHT20temperature, humidity0x38
MicrochipMCP9808temperature0x18 - 0x1F

T temperature · H humidity · P pressure. A BME280 gives all three from one board; an SHT41 next to a BMP390 is a more accurate pair.

Questions

Which sensors can I use?
Breakout boards with any of 50 sensor chips from Bosch, Sensirion, Infineon, TE, ST, TI, Silicon Labs, Aosong and Microchip - BME280, SHT4x, BMP390, DPS310, HDC2080, TMP117 and more - on a CH341A USB-I2C adapter. Each chip is identified by what it answers, never by its address alone.
Can I connect several sensors?
Yes. Put several boards on the same bus, for example an SHT41 for humidity next to a BMP390 for pressure. Every chip gets its own series in a recording, named with its I2C address; the title bar shows each quantity from the most accurate chip that measures it.
Do I need a driver?
On Windows the adapter uses Microsoft’s generic WinUSB driver: BenchMesh installs it with one button (Windows asks for administrator approval once). On Linux the app shows the one udev command that gives your user access. macOS needs nothing.
Can I record without the environment?
No, and that is the point: while a sensor reports, every running or paused recording gets its readings and the series cannot be removed. Choose None as the sensor to record the instruments alone.
What if the sensor is unplugged during a recording?
Its series get a gap - a reading older than 5 s is never recorded - and the adapter is opened again every 2 s until it answers. When you change a unit, the series ends and a new one starts in the new unit.
Is it in the open-source build?
Environmental sensors come with the BenchMesh download. The open-source server has the hooks (recordings, the title-bar readout, GET /environment) but no sensor of its own.