The ADS1015 is a Texas Instruments +/-24V Analog Digital Converter implemented by both AdaFruit and Pimoroni (the latter as a Breakout Garden board), both I2C compatible boards. It can be used to measure an analog voltage between -24V DC to +24V DC, returning a value with 12 bit precision.
The ADS1015 has four channels (labeled A0, A1, A2 and A3) that can read voltages from -24V to +24V at sampling rates up to 3.3KHz with a 12-bit resolution. The Pimoroni board only provides three of these channels as usable pins.
The thumbnail image to the right is roughly the size of the boards, which measures 24 x 21mm. As of January 2020 the price of the AdaFruit board is US$9 (~NZ$14), the price of the Pimoroni board is £12 (~NZ$24).
![]() |
for details; the default is set at ±2.048V)
on github
You'll need Python and pip (or pip3 for Python 3) already installed.
If you're using Python 2, just run:
sudo pip install ads1015For Python 3, use:
sudo pip3 install ads1015
The board has three input pins, labeled A0, A1 and A2. Plugging a signal into A0, here's an example of some code to repeatedly read the voltage on the pin until you type Ctrl-C:
#!/usr/bin/env python3
import time
from ads1015 import ADS1015
print('''read-all.py - read the A0 input of the ADC.
Press Ctrl+C to exit!
''')
CHANNEL = 'in0/ref'
ads1015 = ADS1015()
ads1015.set_mode('single')
ads1015.set_programmable_gain(2.048)
ads1015.set_sample_rate(1600)
reference = ads1015.get_reference_voltage()
print("Reference voltage: {:6.3f}v \n".format(reference))
try:
while True:
value = ads1015.get_compensated_voltage(channel=CHANNEL, reference_voltage=reference)
print("A0 value: {:6.3f}v".format(value))
time.sleep(0.5)
except KeyboardInterrupt:
pass
Adafruit product page
Pimoroni product page
datasheet from Texas Instruments