5 years ago.

Nucleo w/ DHT22 temperature/humidity sensor

Hi, I'm trying to use the DHT22 temperature and humidity sensor with the Nucleo-L152RE. The wiring seems straight forward, I have a pull up resistor on the data pin.

But I'm only getting 0 values from the ReadHumidity() function call. The library I'm using is


include the mbed library with this snippet

#include "mbed.h"
#include "MBed_Adafruit_GPS.h"
#include "DHT.h"
Serial * gps_Serial;
Serial pc (SERIAL_TX, SERIAL_RX); //this is the USB serial output
DHT mydht(PB_4, DHT22); //pin 5 on nucleo
//Serial pc (USBTX, USBRX);

int main() {
    pc.baud(9600); //sets virtual COM serial communication to high rate; this is to allow more time to be spent on GPS retrieval

    char c;
    Timer refresh_Timer;
    const int refresh_Time = 2000; 

    refresh_Timer.start();  //starts the clock on the timer

        if (refresh_Timer.read_ms() >= refresh_Time) {
            int temperature = mydht.ReadHumidity();
            pc.printf("Satellites: %d\n", temperature);


Question relating to:

Affordable and flexible platform to ease prototyping using a STM32L152RET6 microcontroller.

1 Answer

5 years ago.

Hi Eric,

Thanks for your question :)

A couple of things:

What value of pull up resistor are you using, id recommend 4.7K to 10k.

Have you tried this in a simple program?

Have you tried a different library? such as found here:



Andrea, team mbed

Accepted Answer