DS18B20 and TMP36 significantly different

I have a DS18B20 happily feeding my raspberry pi, and an arduino with TMP36 splatting its readings to that same pi over serial.

They both seem reasonable, reading fairly cold temps in that room that also feels cold. Except, they are 4-5 degrees celsius off from each other! What gives?

Maybe I am doing the math wrong for TMP36, but I kind of doubt it. Should these sensors differ so much?

The TMP36 tend to give unreliable ouput if fed unstable voltage. (ripple)
..the "grade G" may be +/- 3 deg (worst case)
Make sure supply-voltage is good. select 3.3V Aref (external)

knut_ny:
The TMP36 tend to give unreliable ouput if fed unstable voltage. (ripple)
..the "grade G" may be +/- 3 deg (worst case)
Make sure supply-voltage is good. select 3.3V Aref (external)

Oh cool!

Sorry for the total newb status, but what do you mean by 3.3V Aref? I see one pin that says "Aref" on one side of the board, and another that says "3.3V", on the other side under "POWER".

Do I simply hook up to the Aref pin and the ground next to it?

connect 3.3V to Aref.
in program
void setup()
...
analogReference(EXTERNAL); // this enables 3.3V compare ref. for analogRead
....
void loop()
..
float voltage = analogRead(inputpin)*0,003225806; // 3.3/1023
// conv voltage to temp

Awesome! The gap is now down to a quite reasonable 1.25 degrees celsius.

if you operate below 60 deg C, you may be even more excact user the internal 1,1V reference
see: analogReference() - Arduino Reference