Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig]: Examples, Pinouts, and Specs

Image of ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig]
Cirkit Designer LogoDesign with ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in Cirkit Designer

ADS1115 [KY-053] Analog to I2C Converter Documentation

1. Introduction

The ADS1115 [KY-053] Analog to I2C Converter is a high-precision, 16-bit analog-to-digital converter (ADC) module. It is designed to interface analog signals with digital systems, such as microcontrollers, via the I2C communication protocol. This module is particularly useful for applications requiring precise analog signal measurements, such as sensors, instrumentation, and data acquisition systems.

The ADS1115 is equipped with four analog input channels, which can be configured as single-ended inputs or differential pairs. It also features a programmable gain amplifier (PGA) for handling a wide range of input voltages. The module is compact, easy to use, and compatible with popular development boards like the Arduino UNO and Raspberry Pi.

Common Applications

  • Sensor data acquisition (e.g., temperature, pressure, light sensors)
  • Battery monitoring and management
  • Industrial process control
  • Precision voltage measurement
  • IoT devices requiring analog signal processing

2. Technical Specifications

The following table outlines the key technical details of the ADS1115 [KY-053]:

Parameter Value
Resolution 16-bit
Input Channels 4 (single-ended) or 2 (differential)
Input Voltage Range ±6.144V (programmable via PGA)
Programmable Gain Amplifier Yes (6 gain settings)
Communication Protocol I2C
I2C Address Range 0x48 to 0x4B (configurable)
Operating Voltage 2.0V to 5.5V
Current Consumption 150 µA (typical)
Data Rate Programmable (8 SPS to 860 SPS)
Operating Temperature Range -40°C to +125°C

Pin Configuration

The ADS1115 [KY-053] module has the following pinout:

Pin Name Description
1 VCC Power supply input (2.0V to 5.5V)
2 GND Ground
3 SCL I2C clock line
4 SDA I2C data line
5 ADDR Address pin (sets I2C address: connect to GND, VCC, SCL, or SDA for 0x48-0x4B)
6 A0 Analog input channel 0
7 A1 Analog input channel 1
8 A2 Analog input channel 2
9 A3 Analog input channel 3

3. Usage Instructions

Connecting the ADS1115 to an Arduino UNO

To use the ADS1115 with an Arduino UNO, follow these steps:

  1. Wiring the Module:

    • Connect the VCC pin of the ADS1115 to the 5V pin on the Arduino.
    • Connect the GND pin of the ADS1115 to the GND pin on the Arduino.
    • Connect the SCL pin of the ADS1115 to the A5 pin on the Arduino (I2C clock line).
    • Connect the SDA pin of the ADS1115 to the A4 pin on the Arduino (I2C data line).
    • Optionally, connect the ADDR pin to GND (default I2C address: 0x48).
  2. Install Required Libraries:

    • Install the Adafruit ADS1X15 library in the Arduino IDE. Go to Sketch > Include Library > Manage Libraries, search for "Adafruit ADS1X15", and install it.
  3. Write and Upload Code:

    • Use the example code below to read analog values from the ADS1115.

Example Code: Reading Analog Values

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

// Create an ADS1115 object
Adafruit_ADS1115 ads; 

void setup() {
  Serial.begin(9600); // Initialize serial communication at 9600 baud
  Serial.println("Initializing ADS1115...");

  // Initialize the ADS1115
  if (!ads.begin()) {
    Serial.println("Failed to initialize ADS1115. Check connections!");
    while (1); // Halt execution if initialization fails
  }
  Serial.println("ADS1115 initialized successfully!");
}

void loop() {
  // Read analog values from all four channels
  int16_t adc0 = ads.readADC_SingleEnded(0); // Channel 0
  int16_t adc1 = ads.readADC_SingleEnded(1); // Channel 1
  int16_t adc2 = ads.readADC_SingleEnded(2); // Channel 2
  int16_t adc3 = ads.readADC_SingleEnded(3); // Channel 3

  // Print the readings to the Serial Monitor
  Serial.print("ADC0: "); Serial.print(adc0);
  Serial.print(" | ADC1: "); Serial.print(adc1);
  Serial.print(" | ADC2: "); Serial.print(adc2);
  Serial.print(" | ADC3: "); Serial.println(adc3);

  delay(1000); // Wait 1 second before the next reading
}

Important Considerations

  • Ensure the input voltage to the analog channels does not exceed the configured PGA range.
  • Use appropriate pull-up resistors (typically 4.7kΩ) on the SDA and SCL lines if not already present.
  • The I2C address can be changed by connecting the ADDR pin to GND, VCC, SCL, or SDA.

4. Troubleshooting and FAQs

Common Issues and Solutions

Issue Possible Cause Solution
ADS1115 not detected on I2C bus Incorrect wiring or I2C address mismatch Verify connections and ensure the correct I2C address is used in the code.
Incorrect or unstable analog readings Input voltage exceeds PGA range Check the input voltage and configure the PGA appropriately.
No response from the ADS1115 Missing pull-up resistors on SDA/SCL lines Add 4.7kΩ pull-up resistors to SDA and SCL lines.
Arduino IDE reports "Library not found" Adafruit ADS1X15 library not installed Install the library via the Arduino Library Manager.

Frequently Asked Questions

Q1: Can I use the ADS1115 with a 3.3V microcontroller?
A1: Yes, the ADS1115 operates at 2.0V to 5.5V, making it compatible with both 3.3V and 5V systems.

Q2: How do I measure differential signals?
A2: Configure the ADS1115 to read differential pairs (e.g., A0-A1 or A2-A3) using the readADC_Differential function in the Adafruit library.

Q3: What is the maximum sampling rate of the ADS1115?
A3: The maximum sampling rate is 860 samples per second (SPS), configurable via the library.

Q4: Can I connect multiple ADS1115 modules to the same I2C bus?
A4: Yes, you can connect up to four ADS1115 modules by configuring their I2C addresses using the ADDR pin.


This documentation provides a comprehensive guide to using the ADS1115 [KY-053] module. Whether you're a beginner or an experienced user, this guide will help you integrate the ADS1115 into your projects with ease.

Explore Projects Built with ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig]

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Raspberry Pi 4B-based Current Monitoring System with OLED Display
Image of TASK – 2: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an ADS1115 analog-to-digital converter (ADC) and a 0.96" OLED display via I2C communication (using GPIO2 and GPIO3 for SDA and SCL, respectively). The ADS1115 is connected to two current sensors: a generic current sensor and an ACS712, to measure current and report values to the Raspberry Pi, which can display the data on the OLED. Power is distributed from the Raspberry Pi's 5V pin to the other components, and all components share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi 4B-Based Current Monitoring System with I2C OLED Display
Image of Virtual Energy Monitoring Circuit: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an Adafruit ADS1115 16-bit I2C ADC for analog-to-digital conversion and a 0.96" OLED display for visual output. The ADS1115 is connected to a current sensor for measuring electrical current, with the sensor's output and burden pins connected to the ADC's analog input channels. The Raspberry Pi communicates with both the ADC and the OLED display over the I2C bus, using its GPIO2 and GPIO3 pins for data (SDA) and clock (SCL) lines, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi 4B with I2C Current Sensing and OLED Display
Image of iot task 2: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an Adafruit ADS1115 16-bit I2C ADC for analog-to-digital conversion and a 0.96" OLED display for visual output. The ADC is connected to a current sensor for measuring electrical current, with the sensor's output connected to the ADC's AIN0 pin and the burden resistor connected to AIN1. The Raspberry Pi communicates with both the ADC and the OLED display over the I2C bus, using GPIO2 (SDA) and GPIO3 (SCL) for data exchange.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Due and ADS1115 Battery-Powered Differential Voltage Sensor
Image of op_amp: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
This circuit features an Arduino Due microcontroller interfaced with two ADS1115 ADC modules for differential voltage measurement. It includes a 9V battery for powering an LM324 operational amplifier, which processes input signals from multiple resistors and 21700 LI batteries. The Arduino Due reads the processed signals and communicates the data via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig]

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of TASK – 2: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
Raspberry Pi 4B-based Current Monitoring System with OLED Display
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an ADS1115 analog-to-digital converter (ADC) and a 0.96" OLED display via I2C communication (using GPIO2 and GPIO3 for SDA and SCL, respectively). The ADS1115 is connected to two current sensors: a generic current sensor and an ACS712, to measure current and report values to the Raspberry Pi, which can display the data on the OLED. Power is distributed from the Raspberry Pi's 5V pin to the other components, and all components share a common ground.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Virtual Energy Monitoring Circuit: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
Raspberry Pi 4B-Based Current Monitoring System with I2C OLED Display
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an Adafruit ADS1115 16-bit I2C ADC for analog-to-digital conversion and a 0.96" OLED display for visual output. The ADS1115 is connected to a current sensor for measuring electrical current, with the sensor's output and burden pins connected to the ADC's analog input channels. The Raspberry Pi communicates with both the ADC and the OLED display over the I2C bus, using its GPIO2 and GPIO3 pins for data (SDA) and clock (SCL) lines, respectively.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of iot task 2: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
Raspberry Pi 4B with I2C Current Sensing and OLED Display
This circuit features a Raspberry Pi 4B as the central processing unit, interfaced with an Adafruit ADS1115 16-bit I2C ADC for analog-to-digital conversion and a 0.96" OLED display for visual output. The ADC is connected to a current sensor for measuring electrical current, with the sensor's output connected to the ADC's AIN0 pin and the burden resistor connected to AIN1. The Raspberry Pi communicates with both the ADC and the OLED display over the I2C bus, using GPIO2 (SDA) and GPIO3 (SCL) for data exchange.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of op_amp: A project utilizing ADS1115 [KY-053] Analog To i2c Converter [Bill Ludwig] in a practical application
Arduino Due and ADS1115 Battery-Powered Differential Voltage Sensor
This circuit features an Arduino Due microcontroller interfaced with two ADS1115 ADC modules for differential voltage measurement. It includes a 9V battery for powering an LM324 operational amplifier, which processes input signals from multiple resistors and 21700 LI batteries. The Arduino Due reads the processed signals and communicates the data via I2C.
Cirkit Designer LogoOpen Project in Cirkit Designer