High-Precision Pressure Sensor

Breakout board based on the OMRON 2SMPB-02E pressure and humidity sensor

SKU 7100-FT1413MEAN 8219671103398Item type: Assembled,

Description

Breakout board based on the OMRON 2SMPB-02E pressure and humidity sensor. It reads atmospheric pressure and temperature. Intended for building weather stations, or applications where those readings matter, such as air mass meters and altimeters. The breakout board has a low drop-out linear voltage regulator and a MOSFET adapter for the I²C-Bus interface. The latter shifts the logic levels supported by the sensor to the standard TTL levels of conventional logic boards and of Arduino.

Using the breakout with Arduino and a simple Sketch, which prints on the serial monitor the values read from the surrounding environment; it can be used for many applications, from a simple weather station to dynamic aeromodelling and visual flight, right up to altimeters for every field of use, wearable electronics and air mass meters (to work out air mass, pressure alone is not enough: you also need the air density, which is linked to the temperature).

N.B. the breakout board is sold ready assembled and tested. Arduino and the jumpers are not included (see related products)

The Arduino demo
Now let us show you how we tested the breakout board together with an Arduino Uno, which, with the sketch provided, reads the data from the Omron sensor and prints it on the serial line, so that by starting the Arduino IDE we can see it on the Serial Monitor.
The wiring diagram below shows how the board is connected to the expansion connectors of an Arduino Uno Rev3. Only six wires are used, namely:
  • two for the I²C-Bus lines, since basic communication is all we need to get the readings and pass them to the serial port; to be precise, we connect SCL on the Arduino to SCK on the breakout board and SDA on the Arduino to SDI on the breakout board;
  • a common ground for the GND of its power supply;
  • a second ground to hold the SDO line of the breakout board at logic zero, since we will work in I²C-Bus mode and will set this address pin to 0, so setting the address of the device to 0;
  • one that takes the 3V3 pin of the Arduino UNO to the RST input of the breakout board, to disable the sensor reset.
THE 2SMPB-02E TRANSDUCER
This little technological gem holds, in a metal case with a ceramic base and 9-pad LGA (Land Grid Array) contacts, a piezoresistive pressure transducer and a semiconductor temperature transducer, both analogue, whose electrical quantities are converted into digital data by a very accurate ADC with 24-bit resolution; the digital interface, used both to read the data and to issue commands, is a serial bus that can be set to I²C or SPI mode through the logic level applied to the CSB contact (1=I²CBus; 0=SPI).
The sensor is calibrated at the factory to make the pressure and humidity readings even more accurate, and the calibration parameters are stored inside an OTP memory, again at the factory.
As for the pressure transducer, it can measure between 30 and 110 kPa (since 1 kilopascal is 0.01 bar, the range is between 0.3 and 1.1 bar) and withstands up to 800 kPa (8 bar); it is perfectly suited to reading atmospheric pressure and also to building an altimeter able to tell which floor of a building you are on, which makes it suitable for fitting in lifts.
The tolerance on the absolute pressure reading is ±50 Pa over an operating temperature range of 0 to 65°C, while between -20°C and 0°C it rises to ±80 Pa. On relative pressure it is ±3.9 Pa. The resolution (that is, the smallest detectable step) on the pressure reading comes to just
0.06 Pa, which makes the sensor more than suitable as an altimeter, since it picks up even the smallest pressure changes, which correspond to small changes in altitude.
As for the temperature reading, the internal sensor reads (between 30 to 110 kPa) over a range from -20°C to +65°C, with a resolution of just 0.0002°C, which is extremely fine, and a tolerance of ±2 °C. As for the power supply, the sensor needs a DC voltage between 1.7 and 3.6Vdc, while the average consumption, assuming a duty cycle of 1 sample/s in Ultra High Accuracy mode (very high precision with 24-bit data output), is just 21.4 μA, which makes the device ideal for very low power applications running on batteries or on energy harvesting. On that note, bear in mind that the Omron device supports a sleep mode, in which it goes completely idle and draws just 2 microamperes.
In continuous operation, pressure measurement draws in the order of 0.64 to 0.8 mA, while the temperature measuring section is between 0.41 and 0.52 mA; the difference depends on the sensor used. The logic levels on the data channels follow the supply voltage, so the outputs are proportional to it:
if we power the chip at 3V, levels 1 and 0 will be 3V and 0V respectively. The pinout of the component is as follows:

1) asynchronous reset (active at logic 1);
2) CSB – sets the communication mode;
3) SDI – SDA of the I²C-Bus and SPI data input;
4) SCK – communication clock;
5) SDO – SPI data output;
6) VDDIO – supply for the digital I/O;
7) GND – common ground;
8) VDD – supply;
9) VPP – programming pulse for the internal OTP.

The component can be set, through a dedicated procedure run by the microcontroller over the serial communication interface, for temperature compensation, that is, the automatic correction of the pressure and temperature readings as the ambient temperature changes.
Documentation and useful links

 

You may also like…

About us

Open-Electronics.org is the brainchild of a world leader in hobby electronics Futura Group srl. Open-Electronics.org is devoted to support development, hacking and playing with electronics: we share exciting open projects and create amazing products!

Open-Electronics.org is not just a container of ideas: it is also a web site lead by a team of engineers and geeks who will take part in the discussions and give support.

Our mission is to become a reference Open Source hacking site with ideas and feedback aimed to enrich the community.