Home ESP8266 SHT30 and BMP180 sensor comparison

SHT30 and BMP180 sensor comparison

by iainhendry

In this article we compare the BMP180 and SHT30 temperature sensors using a Wemos Mini and various shields. We will look and see if there are any significant difference in temperature readings.

SHT 30 Shield

Here is some blurb about the SHT30

The new digital SHT3x humidity sensor series takes sensor technology to a new level. As the successor of the SHT2x series it is determined to set the next industry standard in humidity sensing. The SHT3x humidity sensor series consists of a low-cost version with the SHT30 humidity sensor, a standard version with the SHT31 humidity sensor, and a high-end version with the SHT35 humidity sensor. The SHT3x humidity sensor series combines multiple functions and various interfaces (I2C, analog voltage output) with a applications-friendly, very wide operating voltage range (2.15 to 5.5 V). The SHT3x humidity sensor is available in both large and small volumes.

More information at sensiron

The sensor is an I2C device so uses D1 and D2

 

BMP180 Shield

This time we look at the BMP180 shield

Here is a picture of the shield
BMP180 Digital Barometric Pressure Sensor Board Digital Barometric Pressure Sensor Module For D1 MINI

As stated the shield is not a Wemos designed one but is sturdy construction, good quality and comes with a selection of headers that you can solder yourself to it, its an I2C sensor so the shield uses D1 and D2. here is a typical schematic for a bmp180, this shield is similar but without the 3v3 regulator at the top

 

 

Parts List

This is an image of the build I made, this is a triple base shield, Wemos Mini Pro, BMP180 shield and an SHT30 shield

For Wemos BMP180 Digital Barometric Pressure Sensor Module

SHT30 Shield for D1 mini – SHT30 I2C digital temperature and humidity sensor module

Mini NodeMcu 4M bytes Lua WIFI Internet of Things development board based ESP8266 by WeMos

Triple Shield For WeMos D1 Mini Dua Sided Perf Board For Arduino Compatible

 

Code

Wemos have their own library so we will use that – https://github.com/wemos/WEMOS_SHT3x_Arduino_Library

You also need to add the Adafruit BMP 085 library as well

[codesyntax lang=”cpp”]

#include <WEMOS_SHT3X.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>

SHT3X sht30(0x45);
Adafruit_BMP085 bmp;

void setup() 
{
  Serial.begin(9600);
  if (!bmp.begin()) 
  {
    Serial.println("Could not find BMP180 or BMP085 sensor at 0x77");
    while (1) {}
  }
}

void loop() 
{

  if(sht30.get()==0)
  {
    Serial.print("SHT 30 Temperature in Celsius : ");
    Serial.println(sht30.cTemp);
    Serial.print("BM180 Temperature in Celsius : ");
    Serial.print(bmp.readTemperature());
    Serial.println();
  }
  else
  {
    Serial.println("Error!");
  }
  delay(1000);

}

[/codesyntax]

 

Output

Open the serial monitor

SHT 30 Temperature in Celsius : 24.55
BM180 Temperature in Celsius : 27.20
SHT 30 Temperature in Celsius : 24.58
BM180 Temperature in Celsius : 27.20
SHT 30 Temperature in Celsius : 24.56
BM180 Temperature in Celsius : 27.20
SHT 30 Temperature in Celsius : 24.59
BM180 Temperature in Celsius : 27.20

You can see that there is actually a reasonable difference in the readings, actually the temperature was closer to 25 – so the SHT30 seems more accurate

You may also like

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More