I have this sensor: http://cdn.sparkfun.com/datasheets/Sensors/Weather/RHT03.pdf

On page 3 there is an image showing how to communicate. I also attach an image of this here: communication scheme

In my understanding, the PI should send a "start signal" and then proceed to read the response.

My questions are:

  1. Is it correct to communicate using a GPIO pin?
  2. If so, should it be set to input?
  3. If so, is the "pull low" and "pull high" the same thing as setting the pin pull to down and up? That is, is that the proper way to send the start signal?

By using software code, my plan is then to read the response by checking the state of the pin using timing.

Finally, is this a proper way to approach this problem, given that I don't have access to any driver for this sensor?

2 Answers 2


UmaN the sparkfun product description says "RHT03 (also known by DHT-22)" So finding the information you require should be much easier.


adafruit's github repo Has the "driver" written in python. So you can use the sensor with your PI. They also have instructions on how to set it up.

Arduino library: https://github.com/adafruit/DHT-sensor-library



simulate this circuit – Schematic created using CircuitLab


That appears to be a DHT22 sensor using a different brand name.

Try my http://abyz.me.uk/rpi/pigpio/examples.html#pdif2_DHTXXD software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.