← All parts

SHT31 Humidity/Temp

SHT31

Sensirionsensor environment

The SHT3x-DIS is a fully calibrated digital sensor that measures humidity and temperature. It features an I2C interface, a wide supply voltage range, and enhanced accuracy, making it suitable for various applications.

In stock

Specifications

11
Operating Voltage
2.15 V
Operating Voltage
5.5 V
Interface
I2C
Clock Speed
1 MHz
Humidity Accuracy
1.5 %RH
Temperature Accuracy
0.1 °C
Package
8-Pin DFN
Temperature Range
-40 °C
Temperature Range
125 °C
Supply Current Idle
0.2 µA
Supply Current Measuring
600 µA

Pinout

8
PinNameFunctionsNotes
1SDA
I2C
Serial data; input / output
2ADDR
I2C
Address pin; connect to logic high or low
3ALERT
GPIO
Indicates alarm condition; output; leave floating if unused
4SCL
I2C
Serial clock; input / output
5VDD
POWER
Supply voltage; input
6nRESET
GPIO
Reset pin active low; leave floating if unused
7R
No electrical function; to be connected to VSS
8VSS
GND
Ground

Interactive pinout

Highlight:
SHT31

Click a pin to copy its name · tap a tag above to spotlight a bus.

Logic level & voltage

Operates from 2.15-5.5 V (per the datasheet specs) over I2C, so it interfaces with both 3.3 V and 5 V microcontrollers.

Typical uses

  • Accurate humidity and temperature sensing
  • Environmental monitoring and HVAC
  • Greenhouse / incubator control

Wiring notes & gotchas

  • I2C address is 0x44 or 0x45 via the ADDR pin.
  • Add SDA/SCL pull-ups if not on the module.
  • Keep the sensor away from self-heating components for accurate readings.

Commonly used with

3

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

Arduino library: Adafruit SHT31 Library

arduino
// SHT31 temperature + humidity (I2C) — community starter example
#include <Adafruit_SHT31.h>

Adafruit_SHT31 sht;

void setup() {
  Serial.begin(115200);
  if (!sht.begin(0x44)) { Serial.println("SHT31 not found"); while (1) delay(10); }
}

void loop() {
  Serial.print("T="); Serial.print(sht.readTemperature()); Serial.print(" C  RH=");
  Serial.println(sht.readHumidity());
  delay(1000);
}

MicroPython

MicroPython library: sht31 (kfricke/micropython-sht31)

python
# SHT31 (ESP32) — community starter example
# lib: kfricke/micropython-sht31 (sht31.py on the board)
from machine import Pin, I2C
import sht31, time

i2c = I2C(0, scl=Pin(22), sda=Pin(21))
sensor = sht31.SHT31(i2c, addr=0x44)

while True:
    t, h = sensor.get_temp_humi()
    print(t, "C", h, "%")
    time.sleep(1)

Wiring

PinArduino Uno R3ESP32 DevKitC (WROOM-32)Notes
VCC+5V3V32.4-5.5 V
GNDGNDGND
SCLA5/SCLGPIO22I2C clock
SDAA4/SDAGPIO21I2C data

Related parts

6