Interfacing DHTxx Temperature Humidity Sensor

In this article we are going to take a look at DHTxx series sensors, which is used for measuring temperature and humidity, both the functionality is integrated into one module.

By: Girish Radhakrishnan

We are going to see their specification, so that you can choose best sensor for your project and finally we are going to interface it with arduino and read the values in serial monitor of arduino IDE software.

DHTxx consist of just two series DHT11 and DHT22. The major difference between them is their specification and cost. DHT11 is low end sensor and DHT22 is high end one. DHT22 is more expensive than DHT11, but low end is decent enough for hobby project unless you do some serious measurement with you project.

DHTxx is 4-pin device one of them is NC or no connection so, we are going to use just 3-pins. Two of them are supply pins and remaining one is output pin. The sensor may look simple, but it requires a library for handling it.

The sensor consists of a thermistor, a humidity sensing device and a microcontroller embedded in a module. Their specifications are as follows:

• Operating voltage range is 3 to 5V.
• Its maximum current consumption is 2.5mA.
• It can measure humidity ranging from 20% to 80% -/+ 5% accuracy.
• It can measure temperature ranging from 0 to 50 degree Celsius +/- 2% accuracy.
• It refreshes it value every one second.
• Its size is 15.5mm x 12mm x 5.5mm

• Operating voltage is 3 to 5V
• Its maximum current consumption is 2.5mA.
• It can measure humidity ranging from 0% to 100% 2-5 % accuracy.
• It can measure temperature ranging from -40 to +125 degree Celsius +/- 0.5% accuracy.
• It refreshes it value twice every one second.
• Its size is 15.1mm x 25mm x 7.7mm
From the above raw specifications you can choose which one is optimum for your project.

The data pin always should be connected with a pull-up resistor from 4.7K to 10K. The above illustrated sensor came with PCB with eliminated NC pin and with pull-up resistor. But some sensors come without those feature, without the pull-up resistor the readings send to arduino will be fatally error values.

Now we are going to interface DHT sensor with arduino. Before proceeding the project download the library file form the following link:

You just need these four components: DHTxx sensor, arduino Uno, USB cable, and a PC.

Just insert the sensor on analog pins of the arduino as illustrated in prototype and dump the code to arduino, open the serial monitor and you can see the readings.
Author’s prototype:

//----------------------Program developed by R.Girish-------------//

#include <dht.h>

dht DHT;

#define DHTxxPIN A1

int p = A0;

int n = A2;

int ack;

int f;

void setup(){





void loop()





  int chk = DHT.read11(DHTxxPIN);

  switch (chk)









  Serial.print("Temperature(°C) = ");


  Serial.print("Temperature(°F) = ");



  Serial.print("Humidity(%) = ");







  Serial.print("NO DATA");





//----------------------Program developed by R.Girish-------------//

Serial monitor output:

Need Help? Please send your queries through Comments for quick replies! And please Bookmark my site :)


Ananth kamath said…
Sir can we use LM35 or thermistor sensors instead of DHTxx?
Swagatam said…
Ananth, it will depend on the specifications of the two sensors, if they match reasonably well then perhaps it could work with the proposed Arduino design.

you can't use LM35 in the place of DHT sensor, they both work in very different way.
Nitin said…
If can we control temperature and humidity, how
Swag said…
Mr.Girish will reply you soon...
Girish Radhakrishnan said…
Hi Nitin,

To control temperature and humidity you need a cooling or heating device or both. To control humidity you need water vaporizer (humidifier) or dehumidifier or both. The sensor and Arduino must be programmed in a way that it triggers the mentioned climate control devices on/off to meet your set temp & humidity.
The above concept works optimally in a closed enclosure.

One example of this is a incubator:

Ubaid said…
Hello sir !

I use correct library for dht as
Above mention link.but I face error in compilation.
Void loop:
was not declared in this scope.

but i delete this line from code

Compilation successful.

Contact me for Customized Circuits


Email *

Message *

 Follow on G+  Follow on Facebook   Follow on Tweeter  Follow on G+  Follow on G+

Follow Homemade Circuits