Problem with RHT03 sensor (from Sparkfun)

Hi All, I am using the RHT03 Sensor from sparkfun, and i'm having trouble getting it up and going. At present I am using the nethoncho's library (, and the data pin in use is A3 (analog pin that I would like to use as a digital input). When I try to run the code I get the "ACK" error message. I'm thinking it may have to do with using the A3 pin as input. In the library C++ code, the input for 'pin' is an integer; so perhaps when I pass 'A3' to the pin value, there is an issue?

On a more fundamental note, when I declare pins, such as with the function pinMode(A3), will pinMode take as an argument an integer, as convert A3 to integer? If so, then having the argument type integer in nethoncho's library may not be the problem... (Also note that I would prefer not to use another pin than A3 as I have already printed a PCB with A3 hooked up to the sensor... I know I should have layed it out before...).

At any rate, I would really appreciate any feedback! Thanks, -Nick

A0 to A5 are integers with the values 14 through 19, being the unambiguous pin numbers for the analog pins. These values work in either digitalRead/Write and analogRead. Values 0..5 for analogRead and interpreted as analog pins (unlike digitalRead/Write/pinMode).

So for instance if you want to use an analog pin as a digital output pin, you must be careful to do

  pinMode (A3, OUTPUT) ;

(rather than use just 3).

Thanks for the reply.

I am still not certain as to why the A3 pin is not working with the library developed for the RHT03 sensor... In my code, I did declare: pinMode(A3,OUTPUT), but you also need to pass the pin number (i.e. A3) to the functions developed in the RHT03 library. So, I would suspect, if the library is looking for a digital pin as an input, and you give it A3 (which is number 17 according to your post), then the function from the RHT03 library would be looking to communicate over pin 17 rather than pin A3?

That raises the question: what happens when you write pinMode(A3,OUTPUT) with the arduino Mega, for example. If A3 corresponds to the value 17, then wouldn't that mean you care configuring pin 17 (which is a digital pin on the arduino) to be an output rather than pin A3?