Grove - Temp&Humi Sensor(SHT31)

Grove - Temp&Humi Sensor(SHT31) is a highly reliable, accurate, quick response and integrated temperature & humidity sensor. The sensor(chip) used in the module is designed with Sensirion's CMOSens® technology. The chip is well calibrated, linearized and compensated for digital output.

The typical accuracy of this module can be ±2%RH (for relative humidity) and ±0.3°C (for temperature). This module is compatible with 3.3 Volts and 5 Volts and hence does not require a voltage level shifter. This module communicates using with I2C serial bus and can work up to 1 MHz speed. We also have provided a highly abstracted library to make this product more easier to use.

Using the sensor is easy. For Seeeduino (compliant with Arduino), just connect this breakout board with the main control board via Grove cable. Then use the provided library and example/demo code available at GitHub to get your data. If you're using an Arduino without a Base Shield, simply connect the VIN pin to the 5V voltage pin, GND to ground, SCL to I2C Clock (Analog 5) and SDA to I2C Data (Analog 4).


  • Highly reliable, accurate and quick response time
  • Grove compatible and easy to use
  • Well calibrated, linearized, compensated for digital output
  • Highly abstracted development library


More details about Grove modules please refer to Grove System


Parameter Value
Input voltage (VCC) 3.3 volts or 5 volts
I/O Logic Level 3.3 volts or 5 volts based on VCC
Operating Current 100 μA
Operating Temperature -40–125 ℃
Temperature Sensor Range -40–125 ℃, with ±0.3°C accuracy
Humidity Sensor Range 0% - 100%(Relative Humidity), with ±2% accuracy
Sensor Chip SHT31(Datasheet)
Port I2C
Weight 4 g (for breakout board), 9 g for whole package each piece
Dimensions 40(length)×20(width) mm

Platforms Supported

Arduino Raspberry Pi BeagleBone Wio LinkIt ONE


The platforms mentioned above as supported is/are an indication of the module's hardware or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Hardware Overview


Do not touch, shake or let this product vibrate while using. Otherwise, it will affect the accuracy of data measured.

Getting Started

Now let us run some basic examples with this module using the library/examples provided.

Play With Arduino

This section shows you how to build a simple project with Arduino platform. If you are using a different type of main control board, these instructions and source code probably still helps.

Materials required

Seeeduino V4.2 Base Shield Grove - Temperature&Humidity Sensor(SHT31)
enter image description here enter image description here enter image description here
Get One Now Get One Now Get One Now


1 Please plug the USB cable gently, otherwise you may damage the port. Please use the USB cable with 4 wires inside, the 2 wires cable can't transfer data. If you are not sure about the wire you have, you can click here to buy

2 Each Grove module comes with a Grove cable when you buy. In case you lose the Grove cable, you can click here to buy


  • Step 1. Connect Grove - Temperature&Humidity Sensor(SHT31) to port I2C of Grove-Base Shield.

  • Step 2. Plug Grove - Base Shield into Seeeduino.

  • Step 3. Connect Seeeduino to PC via a USB cable.


If we don't have Grove Base Shield, We also can directly Grove - Temperature&Humidity Sensor(SHT31) to Seeeduino as below.

Seeeduino Grove - Temperature&Humidity Sensor(SHT31)
5V Red
GND Black
SDA White
SCL Yellow


  • Step 1. Download the Library from Github.

  • Step 2. Refer to How to install library to install library for Arduino.

  • Step 3. Restart the Arduino IDE. Open a new sketch, and copy the following code into the new sketch.

#include <Arduino.h>
#include <Wire.h>
#include "SHT31.h"

SHT31 sht31 = SHT31();

void setup() {  

void loop() {
  float temp = sht31.getTemperature();
  float hum = sht31.getHumidity();
  Serial.print("Temp = "); 
  Serial.println(" C"); //The unit for  Celsius because original arduino don't support speical symbols
  Serial.print("Hum = "); 
  • Step 4. Upload the demo. If you do not know how to upload the code, please check How to upload code.

  • Step 5. Open the Serial Monitor of Arduino IDE by click Tool-> Serial Monitor. Or tap the Ctrl+Shift+M key at the same time. Set the baud rate to 9600. If every thing goes well, you will get the results.

The result should be like:


Tech Support

Please do not hesitate to contact techsupport@seeed.cc if you have any technical issue. Or submit the issue into our forum.