This is a library to read out sensor values from Silicon Labs' si70xx-range of relative humidity and temperature sensors.

Dependents:   MemLCD-Temperature-Humidity-Demo


This library targets mbed's asynchronous transfer APIs, so it can only be used in conjunction with platforms supporting these APIs.

The library is currently compatible with Si7013, Si7020 and Si7021 parts.


Include mbed low-power to use this driver

#include "mbed.h"
#include "SILABS_RHT.h"
I2C sensorI2C(PD6, PD7); //PD6=SDA, PD7=SCL
silabs::SILABS_RHT rhtSensor(&sensorI2C);
volatile bool busChecked = false;
void respondedCallback( void ) {
    busChecked = true;

int main() {
    rhtSensor.check_availability(si7021, respondedCallback);
    while(busChecked == false) sleep();
    busChecked = false;
    rhtSensor.measure(si7021, respondedCallback);
    while(busChecked == false) sleep();

    if(rhtSensor.get_active()) {
        printf("Temperature: %d.%03d degC\n", rhtSensor.get_Temperature()/1000, rhtSensor.get_Temperature()%1000);
    } else {
        printf("No sensor found\n");

    while(1) sleep();


Download repository: zip gz

Files at revision 2:83a8b7df827f

Name Size Actions
SILABS_RHT.cpp 7835 Revisions Annotate
SILABS_RHT.h 4313 Revisions Annotate