Electronic project by Lewis Loflin

Arduino uses ADS1115 to Measure Temperature

by Lewis Loflin

This project build on earlier Arduino projects. The TMP37 is an analog Centigrade temperature sensor whose output is proportional to temperature. Instead of connection to the Arduino analog-to-digital connection we use the ADS1115 channel A0 for 15-bit resolution versus 10-bit with a direct Arduino connection. This gives use almost 40 times the resolution and higher accuracy.

The temperature in Centigrade and Fahrenheit is displayed on the Arduino serial monitor.

The TMP37 is intended for applications over the range of 5 degrees C to 100 degrees C and provides an output scale factor of 20 mV per degrees C. The TMP37 provides a 500 mV output at 25 degrees C. Operation extends to 150 degrees C with reduced accuracy for all devices when operating from a 5 V supply.

The supply current runs well below 50 uA, providing very low self-heating-less than 0.1 degrees C in still air. In addition, a shutdown function is provided to cut the supply current to less than 0.5 uA. For more information on the TMP37 download the specification sheet. (pdf format)

Older version of this page see Arduino TMP37 Centigrade Temperature Sensor Tutorial.

Explanation of the Arduino and the ADS1115 see Programming ADS1115 4-Channel I2C ADC with Arduino.

Read TMP37 temp sensor on A0 ADS1115 15-bit
ADC then displays temperature in C and F
on Arduino serial monitor.

By Lewis Loflin lewis@bvu.net
Electronics website:

Arduino sketch for this project: ads1115_temp_sensor.ino