Yun and Uno reading sensor differently

Newbie here, sorry for dumb questions.

I've got one of the starter pack circuits that simply reads temperature. Setup and code are exactly as on

I did this on my Arduino Uno and it worked fine (outputs 23-24C, indoors with AC at that level). I then simply switched the Arduino to use to YUN instead (not changing anything else, all wires connected to the same ports) and here the output is suddenly wrong (33C).

Is there any reason why a same circuit would output different numbers on Uno vs Yun?

That is not a dumb question at all. It has to do with the analog sensor and the 5V reference and the current used by the Yun.

The Yun is an Arduino Leonardo board with a wifi/linux/OpenWRT module. That module requires some amount of current. If you power the Yun only with the USB cable, the 5V could be lower. For example 4.6V instead of 5.0V.

The TMP36 is an analog temperature sensor. When the Arduino Uno reads a volatage, the 5V is used as reference. If the 5.0V would be lower, then the Uno thinks that the analog signal is higher ! and that results in a higher temperature.

Do you have a power supply (for example a wall wart) of 7.5 or 9V ? If you connect that to the power jack of the Uno, the temperature should be okay.

Most of us start with an analog temperature sensor, but because of these problems, we like digital temperature sensors more, for example the DS18B20.

Great. Thanks :-)