Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use SHT31: Examples, Pinouts, and Specs

Image of SHT31
Cirkit Designer LogoDesign with SHT31 in Cirkit Designer

Introduction

The SHT31, manufactured by Sensirion, is a digital humidity and temperature sensor designed to deliver accurate and reliable environmental measurements. It combines a capacitive humidity sensor and a band-gap temperature sensor on a single chip, providing high precision and fast response times. The SHT31 communicates via an I²C interface, making it easy to integrate into a wide range of applications.

Explore Projects Built with SHT31

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano Weather Station with Ethernet Connectivity
Image of Nano_Sht31_W5500: A project utilizing SHT31 in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an Ethernet W5500 module for network connectivity and an SHT31 sensor for temperature and humidity measurements. The Arduino Nano communicates with the Ethernet module via SPI and reads data from the SHT31 sensor using I2C, enabling remote monitoring of environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Weather Station with ESP32, DHT22, and SHTC3 Sensors
Image of ESP32-POE-ISO 2 AC and 2 Sensor: A project utilizing SHT31 in a practical application
This circuit integrates an ESP32 microcontroller with a DHT22 temperature and humidity sensor, an Adafruit SHTC3 sensor, and a 2-channel relay module. The ESP32 reads environmental data from the sensors and can control external devices through the relay module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Nano-Controlled LED Display with RTC and Humidity Sensing
Image of Alarm Clock: A project utilizing SHT31 in a practical application
This circuit features a Nano 3.0 ATmega328P microcontroller connected to an LED dot display, a real-time clock (RTC DS3231), and a humidity and temperature sensor (SHT21). The microcontroller communicates with the RTC and SHT21 via I2C (using A4 and A5 as SDA and SCL lines, respectively), and it controls the LED display through SPI-like signals (using D10, D11, and D12 for DIN, CS, and CLK). The circuit is designed to display time and environmental data on the LED display, with all components sharing a common power supply and ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Wi-Fi Weather Station with DHT11 and AHT10 Sensors
Image of otro: A project utilizing SHT31 in a practical application
This circuit features an ESP32 microcontroller interfaced with two sensors: a DHT11 for temperature and humidity data, and an AHT10 for more precise temperature and humidity measurements. The ESP32 collects data from these sensors via GPIO pins and I2C communication, respectively, and powers both sensors through its 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SHT31

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Nano_Sht31_W5500: A project utilizing SHT31 in a practical application
Arduino Nano Weather Station with Ethernet Connectivity
This circuit features an Arduino Nano microcontroller interfaced with an Ethernet W5500 module for network connectivity and an SHT31 sensor for temperature and humidity measurements. The Arduino Nano communicates with the Ethernet module via SPI and reads data from the SHT31 sensor using I2C, enabling remote monitoring of environmental conditions.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32-POE-ISO 2 AC and 2 Sensor: A project utilizing SHT31 in a practical application
Wi-Fi Controlled Weather Station with ESP32, DHT22, and SHTC3 Sensors
This circuit integrates an ESP32 microcontroller with a DHT22 temperature and humidity sensor, an Adafruit SHTC3 sensor, and a 2-channel relay module. The ESP32 reads environmental data from the sensors and can control external devices through the relay module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Alarm Clock: A project utilizing SHT31 in a practical application
Arduino Nano-Controlled LED Display with RTC and Humidity Sensing
This circuit features a Nano 3.0 ATmega328P microcontroller connected to an LED dot display, a real-time clock (RTC DS3231), and a humidity and temperature sensor (SHT21). The microcontroller communicates with the RTC and SHT21 via I2C (using A4 and A5 as SDA and SCL lines, respectively), and it controls the LED display through SPI-like signals (using D10, D11, and D12 for DIN, CS, and CLK). The circuit is designed to display time and environmental data on the LED display, with all components sharing a common power supply and ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of otro: A project utilizing SHT31 in a practical application
ESP32-Based Wi-Fi Weather Station with DHT11 and AHT10 Sensors
This circuit features an ESP32 microcontroller interfaced with two sensors: a DHT11 for temperature and humidity data, and an AHT10 for more precise temperature and humidity measurements. The ESP32 collects data from these sensors via GPIO pins and I2C communication, respectively, and powers both sensors through its 3.3V and GND pins.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • HVAC (Heating, Ventilation, and Air Conditioning) systems
  • Weather stations
  • Environmental monitoring
  • Industrial process control
  • IoT (Internet of Things) devices
  • Data loggers

Technical Specifications

The SHT31 sensor is designed for high performance and ease of use. Below are its key technical details:

Key Specifications

Parameter Value
Supply Voltage (VDD) 2.4V to 5.5V
Average Current 2 µA (at 1 measurement per second)
Measurement Range Humidity: 0% to 100% RH
Temperature: -40°C to 125°C
Accuracy (Typical) Humidity: ±2% RH
Temperature: ±0.3°C
Communication Interface I²C (up to 1 MHz)
Response Time (τ63%) 8 seconds (for humidity)
Operating Temperature -40°C to 125°C
Storage Temperature -40°C to 125°C
Dimensions 2.5 mm x 2.5 mm x 0.9 mm

Pin Configuration

The SHT31 is typically available in a 4-pin package. Below is the pinout description:

Pin Number Pin Name Description
1 VDD Power supply (2.4V to 5.5V)
2 SDA Serial Data Line for I²C communication
3 GND Ground
4 SCL Serial Clock Line for I²C communication

Usage Instructions

The SHT31 is straightforward to use in a circuit, thanks to its I²C interface. Below are the steps and considerations for integrating the sensor:

Circuit Connection

  1. Connect the VDD pin to a 3.3V or 5V power supply.
  2. Connect the GND pin to the ground of your circuit.
  3. Connect the SDA pin to the SDA line of your microcontroller (e.g., Arduino UNO).
  4. Connect the SCL pin to the SCL line of your microcontroller.
  5. Use pull-up resistors (typically 10 kΩ) on the SDA and SCL lines if not already present.

Important Considerations

  • Ensure the supply voltage is within the specified range (2.4V to 5.5V).
  • Avoid exposing the sensor to extreme conditions (e.g., condensation or high humidity for prolonged periods).
  • Use proper decoupling capacitors (e.g., 0.1 µF) near the VDD pin to stabilize the power supply.
  • The sensor is factory-calibrated, so no additional calibration is required.

Example Code for Arduino UNO

Below is an example of how to use the SHT31 with an Arduino UNO. This code reads temperature and humidity values and displays them on the Serial Monitor.

#include <Wire.h>
#include "Adafruit_SHT31.h"

// Create an instance of the SHT31 sensor
Adafruit_SHT31 sht31 = Adafruit_SHT31();

void setup() {
  Serial.begin(9600); // Initialize Serial Monitor at 9600 baud
  Wire.begin();       // Initialize I²C communication

  // Initialize the SHT31 sensor
  if (!sht31.begin(0x44)) { // 0x44 is the default I²C address
    Serial.println("SHT31 sensor not found. Check wiring!");
    while (1); // Halt execution if sensor is not found
  }
  Serial.println("SHT31 sensor initialized successfully.");
}

void loop() {
  // Read temperature and humidity
  float temperature = sht31.readTemperature();
  float humidity = sht31.readHumidity();

  // Check if readings are valid
  if (!isnan(temperature) && !isnan(humidity)) {
    Serial.print("Temperature: ");
    Serial.print(temperature);
    Serial.println(" °C");

    Serial.print("Humidity: ");
    Serial.print(humidity);
    Serial.println(" %");
  } else {
    Serial.println("Failed to read from SHT31 sensor.");
  }

  delay(2000); // Wait 2 seconds before the next reading
}

Notes on the Code

  • The Adafruit_SHT31 library is used in this example. Install it via the Arduino Library Manager.
  • The sensor's default I²C address is 0x44. If your sensor uses 0x45, update the sht31.begin() call accordingly.

Troubleshooting and FAQs

Common Issues

  1. Sensor not detected by the microcontroller:

    • Verify the wiring, especially the SDA and SCL connections.
    • Ensure pull-up resistors are present on the I²C lines.
    • Check the I²C address (default is 0x44).
  2. Incorrect or unstable readings:

    • Ensure the sensor is not exposed to condensation or contaminants.
    • Verify the power supply voltage is stable and within the specified range.
    • Avoid placing the sensor near heat sources or in direct sunlight.
  3. Library not found or compilation errors:

    • Ensure the Adafruit_SHT31 library is installed correctly.
    • Restart the Arduino IDE after installing the library.

FAQs

Q: Can the SHT31 measure both temperature and humidity simultaneously?
A: Yes, the SHT31 can measure both parameters in a single operation, and the readings are available via the I²C interface.

Q: What is the typical lifespan of the SHT31 sensor?
A: The sensor is designed for long-term use and can operate reliably for several years under normal conditions.

Q: Can I use the SHT31 with a 5V microcontroller?
A: Yes, the SHT31 supports a supply voltage range of 2.4V to 5.5V, making it compatible with both 3.3V and 5V systems.

Q: How do I protect the sensor in harsh environments?
A: Use a protective cover or filter to shield the sensor from dust, water, and other contaminants while allowing air to pass through.

By following the guidelines and best practices outlined in this documentation, you can effectively integrate the SHT31 sensor into your projects and achieve accurate environmental measurements.