Introduction
The SHTC3 digital humidity sensor from Sensirion builds on the success of the proven SHTC1 sensor and offers consistent high accuracy within measuring range. The sensor covers a humidity measurement range of 0 to 100%RH and a temperature detection range of -40°C to 125°C with a typical accuracy of ±2%RH and ±0.2℃. The board supply voltage of 3.3V to 5V and an current consumption below 0.15mA in low power mode make the SHTC3 perfectly suitable for mobile or wireless battery-driven applications.
Features
- High Accuracy
- Low Power Comsumption
- Small Size
- Fast Response
Applications
- Intelligent Buidings and Furniture
- Weather Station
- Warehouses
- Animals and Plants Culture
- Animal Incubator
- Germinating Box for plant seed
Specification

- Operating Voltage: 3.3V~5V
- Operating Current: 0.45mA
- Communication Interface: I2C
- Humidity Measurement Range: 0~100%RH
- Humidity Measurement Accuracy: ±2%
- Temperature Measurement Range: -40~+125℃ (-40 to +275℉)
- Temperature Measurement Range: ±0.2℃
- Response Time: 8s(tau63%)
- Dimension: 14×17mm/0.55×0.67”
- Mounting Hole Size: M2 (2mm)
- Mounting Hole Pitch: 10mm
Board Overview

NO. | Silkscreen | Function |
---|---|---|
1 | VCC | Positive Pole |
2 | GND | Negative Pole |
3 | SCL | I2C ClockLine |
4 | SDA | I2C Data Line |
Tutorial
Requirements
- Hardware
- DFRduino UNO R3 (or similar) x 1
- SHTC3 Digital Temperature and Humudity Sensor x 1#
- M-M/F-M/F-F Jumper wires
- Software
- Arduino IDE
- Download and install the SHT Library (About how to install the library?)
- API Functions
/**
* @brief 初始化Wire,并且对传感器进行软件复位,然后使传感器进入睡眠状态,需要使用时,在对其进行唤醒。
*/
void begin();
/**
* @brief 获取温度数据
* @return 温度值,单位:摄氏度
*/
float getTemperature();
/**
* @brief 获取湿度数据
* @return 湿度值,单位:%RH
*/
float getHumidity();
/**
* @brief 获取温湿度数据
* @param tem 存放温度数据的引用
* @param hum 存放湿度数据的引用
*/
void getTemHum(float &tem, float &hum);
/**
* @brief 设置传感器工作模式
* @param mode 传感器的工作模式
* @n SHTC3:
* @n PRECISION_HIGH_CLKSTRETCH_ON Clock Stretching Enabled
* @n PRECISION_HIGH_CLKSTRETCH_OFF Clock Stretching Disabled
* @n PRECISION_LOW_CLKSTRETCH_ON Clock Stretching Enabled & Low Power
* @n PRECISION_LOW_CLKSTRETCH_OFF Clock Stretching Disabled & Low Power
* @n SHT40:
* @n PRECISION_HIGH_HEATER_OFF measure T & RH with high precision (high repeatability)
* @n PRECISION_MID_HEATER_OFF measure T & RH with medium precision (medium repeatability)
* @n PRECISION_LOW_HEATER_OFF measure T & RH with lowest precision (low repeatability)
* @n PRECISION_HIGH_HEATER_1S activate highest heater power & high precis. meas. (typ. 200mW @ 3.3V) for 1s
* @n PRECISION_HIGH_HEATER_100MS activate highest heater power & high precis. meas. (typ. 200mW @ 3.3V) for 0.1s
* @n PRECISION_MID_HEATER_1S activate medium heater power & high precis. meas. (typ. 110mW @ 3.3V) for 1s
* @n PRECISION_MID_HEATER_100MS activate medium heater power & high precis. meas. (typ. 110mW @ 3.3V) for 0.1s
* @n PRECISION_LOW_HEATER_1S activate lowest heater power & high precis. meas. (typ. 20mW @ 3.3V) for 1s
* @n PRECISION_LOW_HEATER_100MS activate lowest heater power & high precis. meas. (typ. 20mW @ 3.3V) for 0.1s
*/
void setMode(uint16_t mode) ;
/**
* @brief 获取传感器的唯一标识符
* @return 获取成功返回传感器的唯一标识符,失败返回0
*/
uint32_t getDeviceID();
/**
* @brief software reset
*/
void softwareReset() ;
/**
* @brief Obtain raw data of temperature and humidity
* @param temp Pointer to the address of the original value of the temperature
* @param hun Pointer to the address of the original value of the humidity
* @return Is the data obtained correct? return true The data is correct ; return false The data is incorrect
*/
bool getTandRHRawData(uint16_t *temp, uint16_t *hum);
/**
* @brief 当传感器处于睡眠模式时,在进行任何进一步的通信之前,需要唤醒
*/
void wakeup();
/**
* @brief 设置传感器为睡眠模式,设置后,在未唤醒前无法进行数据采集
*/
void sleep();
Connection Diagram
Sample Code - Read Data
Record program and read the current temperature and humidity data.
/**
* @brief 初始化Wire,并且对传感器进行软件复位,然后使传感器进入睡眠状态,需要使用时,在对其进行唤醒。
*/
void begin();
/**
* @brief 获取温度数据
* @return 温度值,单位:摄氏度
*/
float getTemperature();
/**
* @brief 获取湿度数据
* @return 湿度值,单位:%RH
*/
float getHumidity();
/**
* @brief 获取温湿度数据
* @param tem 存放温度数据的引用
* @param hum 存放湿度数据的引用
*/
void getTemHum(float &tem, float &hum);
/**
* @brief 设置传感器工作模式
* @param mode 传感器的工作模式
* @n SHTC3:
* @n PRECISION_HIGH_CLKSTRETCH_ON Clock Stretching Enabled
* @n PRECISION_HIGH_CLKSTRETCH_OFF Clock Stretching Disabled
* @n PRECISION_LOW_CLKSTRETCH_ON Clock Stretching Enabled & Low Power
* @n PRECISION_LOW_CLKSTRETCH_OFF Clock Stretching Disabled & Low Power
* @n SHT40:
* @n PRECISION_HIGH_HEATER_OFF measure T & RH with high precision (high repeatability)
* @n PRECISION_MID_HEATER_OFF measure T & RH with medium precision (medium repeatability)
* @n PRECISION_LOW_HEATER_OFF measure T & RH with lowest precision (low repeatability)
* @n PRECISION_HIGH_HEATER_1S activate highest heater power & high precis. meas. (typ. 200mW @ 3.3V) for 1s
* @n PRECISION_HIGH_HEATER_100MS activate highest heater power & high precis. meas. (typ. 200mW @ 3.3V) for 0.1s
* @n PRECISION_MID_HEATER_1S activate medium heater power & high precis. meas. (typ. 110mW @ 3.3V) for 1s
* @n PRECISION_MID_HEATER_100MS activate medium heater power & high precis. meas. (typ. 110mW @ 3.3V) for 0.1s
* @n PRECISION_LOW_HEATER_1S activate lowest heater power & high precis. meas. (typ. 20mW @ 3.3V) for 1s
* @n PRECISION_LOW_HEATER_100MS activate lowest heater power & high precis. meas. (typ. 20mW @ 3.3V) for 0.1s
*/
void setMode(uint16_t mode) ;
/**
* @brief 获取传感器的唯一标识符
* @return 获取成功返回传感器的唯一标识符,失败返回0
*/
uint32_t getDeviceID();
/**
* @brief software reset
*/
void softwareReset() ;
/**
* @brief Obtain raw data of temperature and humidity
* @param temp Pointer to the address of the original value of the temperature
* @param hun Pointer to the address of the original value of the humidity
* @return Is the data obtained correct? return true The data is correct ; return false The data is incorrect
*/
bool getTandRHRawData(uint16_t *temp, uint16_t *hum);
/**
* @brief 当传感器处于睡眠模式时,在进行任何进一步的通信之前,需要唤醒
*/
void wakeup();
/**
* @brief 设置传感器为睡眠模式,设置后,在未唤醒前无法进行数据采集
*/
void sleep();
Expected Results
Open the serial port to display the current temperature and humidity data.
FAQ
For any questions, advice or cool ideas to share, please visit the DFRobot Forum.
More Documents
Get Fermion: SHTC3 Humidity & Temperature Sensor from DFRobot Store or DFRobot Distributor.