

The SHT45 is a high-accuracy digital temperature and humidity sensor module manufactured by Sensirion. It is designed for precise environmental monitoring and features I2C communication for seamless integration with microcontrollers and other digital systems. The SHT45 is part of Sensirion's 4th generation of humidity sensors, offering improved accuracy, reliability, and energy efficiency.








The SHT45 sensor module is designed to deliver high performance in a compact form factor. Below are its key technical details:
| Parameter | Value |
|---|---|
| Supply Voltage (VDD) | 2.4 V to 5.5 V |
| Average Current Consumption | 0.4 µA (at 1 Hz measurement rate) |
| Temperature Accuracy | ±0.1 °C (typical) |
| Humidity Accuracy | ±1.0 %RH (typical) |
| Operating Temperature Range | -40 °C to +125 °C |
| Operating Humidity Range | 0 %RH to 100 %RH |
| Communication Interface | I2C |
| I2C Address | 0x44 (default) |
| Dimensions | 1.5 mm x 1.5 mm x 0.5 mm |
The SHT45 module has four pins, as described in the table below:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Power supply input (2.4 V to 5.5 V) |
| 2 | GND | Ground |
| 3 | SDA | I2C data line |
| 4 | SCL | I2C clock line |
The SHT45 sensor is straightforward to use in a circuit, thanks to its I2C communication interface. Below are the steps and best practices for integrating the sensor into your project.
0x44. Ensure no other devices on the I2C bus share this address.Below is an example of how to interface the SHT45 with an Arduino UNO using the I2C protocol:
#include <Wire.h>
// SHT45 I2C address
#define SHT45_ADDRESS 0x44
// Function to initialize the sensor
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Initialize serial communication for debugging
Serial.println("SHT45 Sensor Initialization...");
}
// Function to read temperature and humidity
void loop() {
Wire.beginTransmission(SHT45_ADDRESS);
Wire.write(0xFD); // Command to trigger a measurement
Wire.endTransmission();
delay(10); // Wait for measurement to complete
Wire.requestFrom(SHT45_ADDRESS, 6); // Request 6 bytes of data
if (Wire.available() == 6) {
uint16_t tempRaw = (Wire.read() << 8) | Wire.read(); // Read temperature
uint16_t humRaw = (Wire.read() << 8) | Wire.read(); // Read humidity
Wire.read(); // CRC byte (not used in this example)
Wire.read(); // CRC byte (not used in this example)
// Convert raw values to human-readable format
float temperature = -45 + 175 * (tempRaw / 65535.0);
float humidity = 100 * (humRaw / 65535.0);
// Print results to the serial monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %RH");
} else {
Serial.println("Failed to read data from SHT45.");
}
delay(1000); // Wait 1 second before the next reading
}
No Data from Sensor:
0x44) matches the one in your code.Inaccurate Readings:
I2C Communication Errors:
Q: Can the SHT45 operate at 5 V?
A: Yes, the SHT45 supports a supply voltage range of 2.4 V to 5.5 V.
Q: What is the typical response time of the sensor?
A: The typical response time is 8 seconds for humidity and 2 seconds for temperature.
Q: Does the sensor require calibration?
A: No, the SHT45 is factory-calibrated and does not require additional calibration.
Q: Can I use the SHT45 with a Raspberry Pi?
A: Yes, the SHT45 can be used with any device that supports I2C communication, including Raspberry Pi.
By following this documentation, you can effectively integrate the SHT45 sensor into your projects for accurate temperature and humidity measurements.