ADS1115 Breakout Pinout, I²C Address Jumper, Schematic and ESP32 Arduino Example

ADS1115 board hardware reference with pinout, rear address solder jumper, A+ and A− pins, ESP32 wiring, safe voltage limits and Arduino code.

Looking for the ADS1115AliExpress price breakout pinout, the ADDR solderAliExpress price jumper, or the correct way to connect its four analog inputs to an ESP32AliExpress price? This hardware reference is for the Adafruit ADS1115 16-bit, four-channel ADC STEMMA QT breakout (product #1085, 2022-onward layout). It explains the physical connections, the actual board address options, the analog voltage limits, a functional circuit, and short Arduino examples using the current Adafruit ADS1X15 library.

Quick setup: On a classic ESP32 DevKit, connect 3V3 → VIN, GND → GND, GPIO21 → SDA, GPIO22 → SCL. Leave the rear address jumper open for 0x48. To read 0–3.3 V from a 10 kΩ potentiometer, connect its ends to 3V3 and GND, and its wiper to the breakout A0 input. In software use Adafruit_ADS1115, ads.setGain(GAIN_ONE) and ads.computeVolts(ads.readADC_SingleEnded(0)).

Adafruit ADS1115 STEMMA QT breakout board verified labeled pinout for VIN GND SCL SDA ADDR ALRT A+ A- A0 A1 A2 A3
The Adafruit ADS1115 STEMMA QT board exposes four analog inputs, I²C, the ADDR selection pin, ALERT/RDY and filtered analog supply/ground test connections.

This is a board-reference guide, not a replacement for your existing ADS1115 with ESP32 gain and voltage-reading tutorial or the ADS1115 ESPHome calibration guide. Those cover application workflows; this page concentrates on what is physically on the breakout, its solder pads, power rails and safe configuration.

Which ADS1115 breakout does this pinout describe?

Adafruit updated product #1085 to the STEMMA QT / Qwiic form factor on 22 June 2022. The current board has two small JST-SH I²C connectors and a grouped set of labelled through-hole pins. An older Adafruit PCB, a common blue/purple ADS1115 clone, and an ADS1015 breakout can look quite different. Do not copy header positions or reverse-side solder locations between versions simply because they contain an ADS1115 chip.

SpecificationADS1115 / current breakout
Converter16-bit signed delta-sigma ADC with internal reference and PGA
Channels4 single-ended A0–A3, or supported differential pairs via input multiplexer
Analog input multiplexerA0−A1, A0−A3, A1−A3, A2−A3; single-ended A0–A3
Programmable sample rates8, 16, 32, 64, 128, 250, 475, 860 samples/second, total conversion stream
Supply voltageIC: 2.0–5.5 V; this ESP32 example: 3.3 V
I²C addresses0x48, 0x49, 0x4A, 0x4B through ADDR selection
Default I²C address0x48 when Adafruit rear A0 address bridge is open
Connector optionsThrough-hole headers or either of two STEMMA QT I²C connectors
ADC input voltageFor normal operation each analog input is between GND and VDD
Alert outputALRT is programmable ALERT/RDY; optional, not needed for polling
Arduino libraryAdafruit ADS1X15 with <Adafruit_ADS1X15.h>

The ADS1115 does not offer four independent simultaneous ADCs. It contains a multiplexer feeding one converter, so requesting four channels sequentially divides the available conversion capacity among them. The advertised 16-bit resolution also does not mean 16 noise-free bits in every circuit; sample rate, gain, sensor output impedance, layout and noise matter.

ADS1115 board pinout explained

The current Adafruit board labels the four inputs A0, A1, A2, A3. These are ADC inputs and are unrelated to the rear solder jumper also labelled A0. The breakout also exposes VIN, GND, SDA, SCL, ADDR, ALRT and filtered analog-rail points A+/A−. Only the actual silkscreen and original Adafruit PCB artwork should define their physical order in any image.

Breakout labelMeaningUse / caution
VINSupply railFor this ESP32 wiring use 3.3 V; I²C pull-ups go to VIN
GNDDigital groundCommon with ESP32 and analog signal ground
SCLI²C clockAdafruit board has a 10 kΩ pull-up to VIN
SDAI²C dataAdafruit board has a 10 kΩ pull-up to VIN
ADDRAddress-selection inputGND/VDD/SDA/SCL choose 0x48–0x4B
ALRTComparator ALERT / conversion-readyOptional open-drain output; pull-up needed in appropriate circuits
A0–A3Analog input channelsEach must be within the powered chip supply rails for normal operation
A+Filtered analog positive railThis is not an ADC signal input or power input
A−Filtered analog groundThis is not a differential signal input

Do not confuse an ADC channel A0 with the rear I²C address A0 solder bridge; the address setting does not affect the analog channel mapping. And do not use A+/A− as ordinary differential inputs: Adafruit identifies them as the filtered ADC power supply and ground connections.

Change ADS1115 I²C address: 0x48, 0x49, 0x4A or 0x4B

The ADS1115 chip has one address-select pin called ADDR. This is different from three-bit-address expanders like the PCF8574 or MCP23017. Its address depends on which of four electrical nodes the ADDR pin is connected to. The current Adafruit board adds a convenient single rear solder bridge labelled A0 that makes a quick change from 0x48 to 0x49; that bridge alone cannot select all four addresses.

Adafruit ADS1115 rear A0 solder bridge gives I2C address 0x48 open and 0x49 closed; ADDR to SDA or SCL selects 0x4A or 0x4B
The rear solder bridge alone selects 0x48/0x49. For 0x4A/0x4B the external ADDR pin is connected to SDA/SCL respectively, as specified by TI.
ADDR connection7-bit I²C addressAdafruit breakout method
GND0x48Leave rear address A0 solder bridge open (default)
VDD0x49Close rear address A0 solder bridge, or configure external ADDR appropriately
SDA0x4ARear jumper open; wire external ADDR to SDA
SCL0x4BRear jumper open; wire external ADDR to SCL

For example, if a second board uses the closed A0 bridge, call ads.begin(0x49, &Wire) for that board. Two identical boards left at 0x48 cannot both be independently addressed on the same I²C segment. For 0x4A or 0x4B, do not close the 0x49 jumper as well; its address strap would conflict with the external selection. Check the exact clone PCB before attempting the same arrangement.

The separate power LED cut-jumper on the Adafruit rear PCB is not an address setting: cutting its trace disables the on-board power indicator. Power off before soldering or cutting, protect the nearby parts, and verify the resulting address using an I²C scanner.

ADS1115 gain settings and actual input-voltage limits

The programmable gain amplifier changes how the ADC codes map to differential voltage. It does not extend the safe voltage that can be applied to a powered input. Texas Instruments specifies an ADC full-scale differential measurement range from ±0.256 V to ±6.144 V, but for normal operation every AINx pin must stay within GND to VDD. The absolute-maximum stress boundary is GND−0.3 V to VDD+0.3 V; this stress rating is not a recommended measurement range.

Electrical warning: With ADS1115 powered at 3.3 V, do not apply 5 V to an analog input—even if software uses GAIN_TWOTHIRDS (±6.144 V). A negative differential reading is possible when A0 is below A1, but neither physical pin should be driven below ground.

Adafruit gainPGA differential full-scaleIdeal LSB sizePractical note
GAIN_TWOTHIRDS±6.144 V187.5 µVFull-scale code range exceeds a 3.3 V supply; it is not a 6.144 V input protection setting
GAIN_ONE±4.096 V125 µVGood starting gain for a 0–3.3 V potentiometer
GAIN_TWO±2.048 V62.5 µVSignals above +2.048 V saturate even though pins can remain within supply
GAIN_FOUR±1.024 V31.25 µVUse for sub-volt signals with appropriate common mode
GAIN_EIGHT±0.512 V15.625 µVMeasure low differential voltages with adequate noise control
GAIN_SIXTEEN±0.256 V7.8125 µVWatch sensor offset, impedance and noise

The ADS1115 returns a signed 16-bit code. At each gain, positive differential full-scale is represented by 32767 (0x7FFF); in ordinary single-ended mode with the negative input at ground, the usable range is the nonnegative half of the bipolar encoding, not 0–65535. Use the library’s computeVolts(raw) instead of hard-coding a counts-to-volts constant that becomes wrong when gain changes.

ADS1115 functional circuit and schematic references

At chip level, a typical ADS1115 circuit includes VDD/GND, local decoupling, I²C SDA/SCL pull-up resistors to the same logic voltage, a defined ADDR connection, the optional open-drain ALERT/RDY output, and one or more analog sources referenced to ground. The Adafruit PCB also adds ferrite-bead isolation to its analog supply/ground, plus 10 kΩ I²C pull-ups. Do not mistake a conceptual circuit for the manufactured PCB schematic.

ADS1115 chip level functional schematic with I2C pullups, address select, 3.3 V supply, analog input AIN0 and comparator alert pin
Conceptual 3.3 V ADS1115 circuit, not the actual PCB schematic. The commercial Adafruit breakout already includes I²C pull-ups and analog-rail filtering.

For the precise Adafruit PCB revision, use the official Downloads / board schematics. For ADC electrical ratings, register definitions and front-end details, use the Texas Instruments ADS1115 datasheet. Do not add redundant I²C pull-ups to every STEMMA breakout without calculating effective parallel resistance and bus capacitance.

Wire ADS1115 to ESP32 and a 10 kΩ potentiometer

The simplest real-world test is a 10 kΩ potentiometer across the ESP32’s 3.3 V and ground rails. The wiper produces an adjustable voltage between those limits. Connect that to ADS1115 A0. This safely explores the converter’s useful range without feeding it arbitrary external voltages.

ESP32 classic GPIO21 SDA GPIO22 SCL 3V3 GND connected to ADS1115 breakout with a 10k potentiometer on analog input A0
On a classic ESP32 WROOM-32 DevKit, GPIO21 and GPIO22 are example I²C pins. A 10 kΩ potentiometer supplies 0–3.3 V to ADS1115 A0.
Classic ESP32 DevKit pinAdafruit ADS1115 breakoutPurpose
3V3VIN3.3 V power, matched I²C logic
GNDGNDShared return for ESP32, ADS1115 and sensor
GPIO21SDAI²C data
GPIO22SCLI²C clock
10 kΩ pot top terminal → 3V3—Potentiometer supply high end
10 kΩ pot bottom terminal → GND—Potentiometer supply low end
10 kΩ pot centre wiperA0Variable 0–3.3 V input
Not connectedALRTOptional comparator interrupt
Rear address bridge openADDR logic lowDefault I²C address 0x48

The wiring diagram intentionally covers a classic ESP32-WROOM-32 DevKit with GPIO21 SDA and GPIO22 SCL. Other ESP32 families and small boards may have different exposed pins; substitute the actual pins in both hardware and Wire.begin(). On 5 V Arduino boards, the Adafruit breakout can be supplied at the host logic voltage when using compatible hardware, but this guide deliberately keeps the ESP32 I²C bus at 3.3 V.

Install Adafruit ADS1X15 in Arduino IDE

  • Open Library Manager in Arduino IDE 2 and install Adafruit ADS1X15 by Adafruit.
  • Accept or install the Adafruit BusIO dependency when prompted.
  • Select your correct ESP32 board and serial port, wire the ADS1115 to 3.3 V and verify the jumper is open for address 0x48.
  • Use the modern header <Adafruit_ADS1X15.h>, the type Adafruit_ADS1115, and begin(address, &Wire).
  • Open Serial Monitor at 115200 baud and adjust the potentiometer; do not test by driving A0 with unverified external supplies.

Arduino example: read ADS1115 A0 and convert to volts

This complete sketch uses a single ADC channel, explicitly sets the ESP32 I²C pins and uses the Adafruit library’s own voltage conversion, which follows the selected gain. The example is designed to compile with the current library API; results described below are expected behaviour, not a claim of a physical bench test.

#include <Wire.h>
#include <Adafruit_ADS1X15.h>

constexpr int ESP32_SDA = 21;
constexpr int ESP32_SCL = 22;
constexpr uint8_t ADS_ADDR = 0x48;

Adafruit_ADS1115 ads;

void setup() {
  Serial.begin(115200);
  delay(300);
  Wire.begin(ESP32_SDA, ESP32_SCL);
  Wire.setClock(100000);

  if (!ads.begin(ADS_ADDR, &Wire)) {
    Serial.println("ADS1115 not found: check VIN, GND, SDA, SCL and ADDR.");
    while (true) { delay(1000); }
  }

  // ±4.096 V PGA range, but each analog input MUST stay within 0–3.3 V.
  ads.setGain(GAIN_ONE);
  Serial.println("ADS1115 ready. Turn the 10k potentiometer.");
}

void loop() {
  int16_t raw = ads.readADC_SingleEnded(0); // physical A0 input
  float volts = ads.computeVolts(raw);

  Serial.print("A0: ");
  Serial.print(raw);
  Serial.print(" counts, ");
  Serial.print(volts, 4);
  Serial.println(" V");
  delay(500);
}

As the 10 kΩ potentiometer turns, you should see an A0 voltage that approaches 0 V at one end and 3.3 V at the other, subject to contact resistance, supply tolerance and measurement noise. With GAIN_ONE, the positive scale is 125 µV per ideal count. Do not assume the serial values will read exactly 0.0000 or 3.3000: the ESP32 supply, ADC offset and PCB noise affect real measurements.

Differential measurement: A0 minus A1

In differential mode the ADS1115 measures the difference between two analog inputs. It is useful when a sensor output and its reference are both at nonzero positive voltages. For example, if A0 = 2.00 V and A1 = 1.50 V, the expected differential signal is +0.50 V. If the two levels swap, the result is approximately −0.50 V. Both pins are still physically at 0–3.3 V.

ADS1115 differential inputs A0 and A1 with legal 0 to 3.3 volt common mode and gain scale guide for Arduino example
Differential mode measures A0 minus A1, not a negative voltage below ground. Both inputs must remain between GND and VDD in normal operation.
// Use after Wire.begin(...), ads.begin(0x48, &Wire)
// and ads.setGain(GAIN_ONE) in setup().
int16_t signedCounts = ads.readADC_Differential_0_1();
float differenceVolts = ads.computeVolts(signedCounts);
Serial.print("A0 - A1 = ");
Serial.print(differenceVolts, 5);
Serial.println(" V");

Other supported differential selections include A0−A3, A1−A3 and A2−A3; use the exact matching API method. This is one multiplexed ADC, not two simultaneously sampled channels. Differential measurements do not grant an isolated measurement input, permit a negative voltage on an ADC pin, or automatically reject large differences in ground potential. Keep the source within the ADS1115 input common-mode and supply limits.

Using a resistor divider for voltages above 3.3 V

A divider can reduce a higher positive low-voltage DC signal to a safe ADS1115 input. For a 0–16 V source, an example is 47 kΩ from source to A0 and 10 kΩ from A0 to GND. The ideal ratio is 10/(47+10) = 0.17544, so 16.0 V at the top produces approximately 2.81 V at A0. Recover the source voltage in software by multiplying the ADC voltage by 5.7. This example assumes an already safe, isolated DC source with a common reference and does not provide surge protection.

A divider by itself is not sufficient protection if supply transients, reversed polarity, a disconnected ADC supply or voltages beyond 16 V are possible. Use correctly rated resistors, appropriate clamps or input protection, and verify resistor tolerance and effective ADC input loading before treating a voltage measurement as accurate. Do not connect mains, a non-isolated circuit or an automotive electrical system directly to an unprotected breakout.

Troubleshooting and common ADS1115 mistakes

SymptomCheck / likely explanation
No device at 0x48VIN 3.3 V, common GND, SDA/SCL not swapped, rear jumper state, I²C scanner
Scanner finds 0x49 insteadRear A0 solder jumper closed or external ADDR tied to VDD
Wanted 0x4A or 0x4B but still 0x48Use physical ADDR-to-SDA or ADDR-to-SCL connection on the correct breakout; open rear address bridge
Reading clips near 2.048 VPGA is set to GAIN_TWO; select GAIN_ONE for a 0–3.3 V source
Negative raw differential countsA0 is below A1; this is valid when both pins remain within their permitted supply rails
Single-ended values are noisyFloating A0, weak source, long cables, noisy supply, 860 SPS high data rate, insufficient filtering
Only one chip visible with two attachedThe two breakouts share one I²C address; change one jumper or ADDR connection
Input damaged or unexpectedly wrongPotential 5 V/negative input while powering chip at 3.3 V, source overvoltage or supply sequencing fault
Code fails to compileInstall current Adafruit ADS1X15 library and use current class/header/methods

ADS1115 vs ESP32 internal ADC and ADS1015

Use an ADS1115 when you need a convenient I²C interface, programmable gain, a better-specified precision signal path, or measurements that benefit from its delta-sigma architecture. Use the ESP32 internal ADC when board space, speed or cost matters more and the analog limitations are acceptable. The ADS1015 has a closely related interface but is a 12-bit converter and can operate at substantially higher sample rates; never label an ADS1015 board as an ADS1115 without inspecting the installed IC and module revision.

For related reading, see our ADS1115 ESP32 voltage-reading tutorial, ADS1115 ESPHome calibration reference, and ESP32 I²C scanner guide. The Adafruit ADS1115 STEMMA QT breakout and Adafruit ADS1X15 library are manufacturer and code references.

Frequently asked questions

Can the ADS1115 measure 5 V when powered from an ESP32 at 3.3 V?

No. The ±6.144 V gain range describes the ADC coding scale, not an exemption from supply-rail input limits. Use a properly designed divider, buffer or suitable front end for higher voltages.

Does closing the Adafruit A0 solder jumper enable ADC channel A0?

No. The rear solder bridge labelled A0 is an I²C address jumper. Closing it changes the default I²C address from 0x48 to 0x49; analog input A0 is a separate front-board connection.

How do I use four ADS1115 boards on one I²C bus?

Assign different ADDR connections: GND, VDD, SDA and SCL for 0x48, 0x49, 0x4A and 0x4B. On Adafruit’s breakout, only 0x48/0x49 are directly switched by its single rear solder jumper; use the exposed ADDR pad for the other two and verify bus wiring.

What are A+ and A− on the Adafruit ADS1115 board?

They are filtered analog power/ground connections, not the positive and negative differential ADC inputs. For differential conversion connect sensors to the ADC inputs A0–A3 and select an appropriate multiplexer pair.

Does this article reproduce the complete Adafruit PCB schematic?

No. The illustration is explicitly a chip-level functional circuit. Use the manufacturer’s downloadable files for the complete as-built PCB, and always identify the breakout revision when comparing photographs and solder-jumper locations.

CONTINUE EXPLORING / ARDUINO

Read next

Practical guides related to this article.

Explore the topic →
HARDWARE DECISION GUIDEArduino or ESP32 for your next build?

Compare practical options before you choose hardware.

Compare options →