ADS1115/The board in your box/04. Power, and a first scan
The board in your box · 04 of 11

Power, and a first scan

Four wires, and one of them decides the highest voltage you will ever be able to measure. Then a scan that prints 0x48, which is the only proof that the supply, the ground and both bus wires are all right at once.

The order the wires go on

Four wires, then a scan
3.3 V supply · step 0 of 5
Which supply pin VCC goes to
Supply
3.3 V
Highest input
3.3 V
Power LED
off
Address
3.3 V is the safe default and it caps your measurement at 3.3 V. The pull-ups hold the bus at 3.3 V, which every ESP32, Pico and Pi is happy with. The trade is real: an analog input must stay below the supply, so anything bigger than 3.3 V needs a divider in front of it. The chip itself runs anywhere from 2 V to 5.5 V; the back of the board prints the narrower 35 V it is sold for.

Supply and ground before either bus wire. A module with data on its pins and no power on them is not a neutral situation — it is the commonest way to get a scan that finds nothing and a board that looks broken.

3.3 V or 5 V

This is the one real decision on this page, and it is not about the chip. The ADS1115 runs happily from either.

It is about two consequences:

  1. The supply is the ceiling on every measurement. An analog input may not go more than 0.3 V above VCC. Run the board from 3.3 V and nothing you measure may exceed about 3.3 V, whichever range you select.
  2. The supply is what the bus pull-ups pull to. Those two 10 kΩ resistors go to VCC, so a board powered from 5 V puts 5 V on SDA and SCL when the bus is idle. A 3.3 V microcontroller should not have that on its pins.

So: a 3.3 V board gets 3.3 V. An Uno or another 5 V board gets 5 V and an extra volt of measuring range for free. Mixing them — 5 V on the module, a 3.3 V microcontroller — needs a level converter in the bus, and is rarely worth it when a divider on the input does the same job with two resistors.

What the scan proves

Finding 0x48 is a better test than it looks. An acknowledgement is the module pulling SDA low while the microcontroller is listening, so a successful scan means: the supply is present, the grounds are shared, SDA works in both directions, and SCL is clocking. One line of output, four faults ruled out.

If you have more than one module, wire and scan them one at a time. Two boards straight out of their boxes both answer at 0x48, and the result is not an error — it is two devices replying at once and a bus that behaves strangely. Two addresses on this board is how to separate them.

What is not wired yet

ADDR and ALERT stay empty. Both already have a resistor holding them where they need to be, and a wire in either hole at this stage can only make things worse.

A0 to A3 stay empty too. They will read nonsense until something is connected to them, which is correct behaviour rather than a fault — there is nothing on the board holding an unused input anywhere in particular.

The code

ads1115_scan.ino

A bus scan and nothing else — no library, no ADS1115-specific code. It prints which pins your board uses for SDA and SCL, then lists every address that answers. A module with its ADDR pad untouched answers at 0x48.

// Wiring for this sketch.
//
//   ESP32 3V3  -> VCC     (5V instead only on a 5 V board like an Uno)
//   ESP32 GND  -> GND
//   ESP32 SDA  -> SDA
//   ESP32 SCL  -> SCL
//
//   ADDR, ALERT and A0..A3 stay unconnected for this test.
//
// Arduino IDE: any board. No library needed - Wire is built in.
// Tools settings as you normally use them.

#include <Wire.h>

void setup() {
  Serial.begin(115200);
  delay(500);
  Wire.begin();
  Serial.printf("SDA is pin %d, SCL is pin %d\n", SDA, SCL);
}

void loop() {
  int found = 0;
  for (uint8_t addr = 1; addr < 127; addr++) {
    Wire.beginTransmission(addr);
    if (Wire.endTransmission() == 0) {
      Serial.printf("found a device at 0x%02X\n", addr);
      found++;
    }
  }
  if (found == 0) Serial.println("nothing answered - check the power LED first");
  Serial.println();
  delay(3000);
}

If it prints nothing, the fault is wiring and not software. Check the red LED first: no LED means no supply, and a module with no supply cannot acknowledge anything. If the LED is lit and the scan is still empty, SDA and SCL are swapped or the ground is not shared.

When it does not work

The scan finds nothing and the LED is off

There is no supply reaching the board. Check VCC and GND are in the right holes and not one row off on the breadboard, and that the wire is in a pin the board actually powers — on some ESP32 boards the 5V pin is dead unless USB is plugged in. The LED is across the supply, so it lights whenever VCC does.

The scan finds nothing and the LED is on

The supply is fine, so it is the bus. Either SDA and SCL are swapped, or the ground is not shared with the microcontroller. Swapping the two bus wires is harmless — try it. If your board lets you choose I²C pins, make sure the sketch's Wire.begin matches the pins you actually used.

It finds a device at 0x49 and I never touched the address pad

Then the ADDR pin is not sitting at ground. Check nothing is plugged into that hole, and look at the solder jumper on the front under a light — a stray bridge of solder across those two pads ties ADDR to VCC. On a breadboard, a neighbouring wire pushed into the ADDR row will do the same.

It finds the board but readings are wild once I add a sensor

The scan proves the bus, not the analog side. An unconnected analog input drifts because nothing on this board holds it anywhere, and a sensor with its own supply needs its ground joined to this one. /manuals/ads1115/when-the-reading-is-wrong has the four shapes those faults make.

Where this goes next

The setting that decides your resolution, and the one that gets boards damaged.

The gain is a range, not an amplifier

Edit this page — content/books/ads1115/power-and-a-first-scan.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

This page covers several products. Choose yours to see the right discussions.

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum