

The StrawberryLinux SHT25 Sensor Module is a high-precision digital humidity and temperature sensor. It is based on the SHT25 sensor, which provides accurate and reliable measurements of relative humidity and temperature. The module communicates via the I2C protocol, making it easy to integrate into microcontroller-based projects. Its compact design and low power consumption make it suitable for a wide range of applications, including environmental monitoring, HVAC systems, weather stations, and industrial automation.








| Parameter | Value |
|---|---|
| Supply Voltage | 3.0V to 5.5V |
| Communication Protocol | I2C |
| Humidity Measurement Range | 0% to 100% RH |
| Humidity Accuracy | ±1.8% RH (typical) |
| Temperature Measurement Range | -40°C to +125°C |
| Temperature Accuracy | ±0.2°C (typical) |
| Power Consumption | 3 µW (at 1 measurement/second) |
| I2C Address | 0x40 (default) |
The SHT25 Sensor Module has a 4-pin interface for easy connection. Below is the pinout description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply (3.0V to 5.5V) |
| 2 | GND | Ground |
| 3 | SDA | I2C data line |
| 4 | SCL | I2C clock line |
VCC pin to a 3.3V or 5V power source and the GND pin to ground.SDA pin to the I2C data line of your microcontroller.SCL pin to the I2C clock line of your microcontroller.SDA and SCL) have pull-up resistors (typically 4.7kΩ). Some microcontroller boards, like the Arduino UNO, already include these resistors.0x40. Ensure no other devices on the I2C bus share this address.Below is an example Arduino sketch to read temperature and humidity data from the SHT25 Sensor Module:
#include <Wire.h>
// SHT25 I2C address
#define SHT25_ADDRESS 0x40
// Command codes for SHT25
#define TRIGGER_TEMP_MEASURE_HOLD 0xE3
#define TRIGGER_HUMD_MEASURE_HOLD 0xE5
void setup() {
Wire.begin(); // Initialize I2C communication
Serial.begin(9600); // Start serial communication for debugging
Serial.println("SHT25 Sensor Module Test");
}
void loop() {
float temperature = readTemperature();
float humidity = readHumidity();
// Print the results to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %RH");
delay(2000); // Wait 2 seconds before the next reading
}
float readTemperature() {
Wire.beginTransmission(SHT25_ADDRESS);
Wire.write(TRIGGER_TEMP_MEASURE_HOLD);
Wire.endTransmission();
delay(100); // Wait for the measurement to complete
Wire.requestFrom(SHT25_ADDRESS, 2);
if (Wire.available() == 2) {
uint16_t rawData = (Wire.read() << 8) | Wire.read();
return -46.85 + 175.72 * (rawData / 65536.0); // Convert to Celsius
}
return NAN; // Return NaN if data is unavailable
}
float readHumidity() {
Wire.beginTransmission(SHT25_ADDRESS);
Wire.write(TRIGGER_HUMD_MEASURE_HOLD);
Wire.endTransmission();
delay(100); // Wait for the measurement to complete
Wire.requestFrom(SHT25_ADDRESS, 2);
if (Wire.available() == 2) {
uint16_t rawData = (Wire.read() << 8) | Wire.read();
return -6.0 + 125.0 * (rawData / 65536.0); // Convert to %RH
}
return NAN; // Return NaN if data is unavailable
}
No Data Received from the Sensor:
0x40) is correct.Inaccurate Readings:
Arduino Freezes During Communication:
SDA and SCL lines if not already present.Q1: Can the SHT25 Sensor Module operate at 5V?
A1: Yes, the module supports a supply voltage range of 3.0V to 5.5V.
Q2: How do I extend the I2C cable length?
A2: Use shielded cables and lower the I2C clock speed to reduce noise and signal degradation.
Q3: Can I use multiple SHT25 sensors on the same I2C bus?
A3: No, the SHT25 has a fixed I2C address (0x40). To use multiple sensors, you will need an I2C multiplexer.
This concludes the documentation for the StrawberryLinux SHT25 Sensor Module.