← All parts

ADS1115 16-bit ADC

ADS1115

Texas Instrumentsinterface io display

The ADS1115 is a low-power, 16-bit analog-to-digital converter with an I2C interface. It features a programmable gain amplifier, a multiplexer for up to four single-ended or two differential inputs, and a digital comparator for alert functions.

In stock

Specifications

12
Resolution
16 Bits
Operating Voltage
2.0 to 5.5 V
Supply Current
150 µA
Max Sample Rate
860 SPS
Min Sample Rate
8 SPS
Interface
I2C
Operating Temperature Range
-40 to +125 °C
Input Channels
4 single-ended or 2 differential
Package
X2QFN-10, SOT-10, VSSOP-10
Full Scale Input Voltage Range
±0.256 to ±6.144 V
Programmable Gain Amplifier
Yes
Comparator
Yes

Pinout

10
PinNameFunctionsNotes
1ADDR
GPIO
I2C target address select
2ALERT/RDY
GPIO
Comparator output or conversion ready. Open-drain output.
3GND
GND
Ground
4AIN0
ADC
Analog input 0
5AIN1
ADC
Analog input 1
6AIN2
ADC
Analog input 2
7AIN3
ADC
Analog input 3
8VDD
POWER
Power supply
9SDA
I2C
Serial data input and output
10SCL
I2C
Serial clock input

Interactive pinout

Highlight:
ADS1115

Click a pin to copy its name · tap a tag above to spotlight a bus.

Starter code

Community starter examples — minimal, unofficial, and provided to get you wiring fast. Verify against the manufacturer datasheet before relying on them.

Arduino (C++)

Arduino library: Adafruit ADS1X15

arduino
// ADS1115 16-bit 4-channel ADC (I2C) — community starter example
#include <Adafruit_ADS1X15.h>

Adafruit_ADS1115 ads;

void setup() {
  Serial.begin(115200);
  if (!ads.begin()) { Serial.println("ADS1115 not found"); while (1) delay(10); }
}

void loop() {
  int16_t raw = ads.readADC_SingleEnded(0);   // channel A0
  Serial.print("A0="); Serial.print(raw);
  Serial.print("  V="); Serial.println(ads.computeVolts(raw), 4);
  delay(500);
}

MicroPython

MicroPython library: ads1x15 (robert-hh/ads1x15)

python
# ADS1115 (ESP32) — community starter example
# lib: robert-hh/ads1x15 (ads1x15.py on the board)
from machine import Pin, I2C
from ads1x15 import ADS1115
import time

i2c = I2C(0, scl=Pin(22), sda=Pin(21))
adc = ADS1115(i2c, address=0x48, gain=1)

while True:
    print(adc.read(0))      # channel 0 raw
    time.sleep_ms(500)

Wiring

PinArduino Uno R3ESP32 DevKitC (WROOM-32)Notes
VDD+5V3V32.0-5.5 V
GNDGNDGND
SCLA5/SCLGPIO22I2C clock
SDAA4/SDAGPIO21I2C data
AIN0..AIN3--Analog inputs (single-ended or differential)

Typical uses

  • Precise 16-bit analog inputs over I2C
  • Adding ADC channels to the ESP32/Pi

Related parts

6