

The Adafruit ADS1015 is a precision, low-power, 12-bit analog-to-digital converter (ADC) equipped with an I2C-compatible interface. It offers four multiplexed inputs and can measure signals with a variety of gains, allowing for a range of ±2.048V. This component is ideal for applications requiring accurate analog-to-digital conversion, such as sensor data acquisition, voltage monitoring, and signal analysis. Its small size and ease of use make it suitable for prototyping and integration into existing projects.








| Pin Number | Pin Name | Description | 
|---|---|---|
| 1 | VDD | Power supply (2.0V to 5.5V) | 
| 2 | GND | Ground connection | 
| 3 | SCL | I2C clock input | 
| 4 | SDA | I2C data input/output | 
| 5 | ADDR | Address pin for I2C address selection | 
| 6 | ALERT | Alert/Ready pin (configurable) | 
| 7 | A0 | Analog input channel 0 | 
| 8 | A1 | Analog input channel 1 | 
| 9 | A2 | Analog input channel 2 | 
| 10 | A3 | Analog input channel 3 | 
#include <Wire.h>
#include <Adafruit_ADS1015.h>
Adafruit_ADS1115 ads;  // Use this for the 16-bit version
void setup(void) {
  Serial.begin(9600);
  ads.begin();  // Initialize the ADS1015
}
void loop(void) {
  int16_t adc0, adc1, adc2, adc3;
  // Read all four channels and print them out
  adc0 = ads.readADC_SingleEnded(0);
  adc1 = ads.readADC_SingleEnded(1);
  adc2 = ads.readADC_SingleEnded(2);
  adc3 = ads.readADC_SingleEnded(3);
  Serial.print("AIN0: "); Serial.println(adc0);
  Serial.print("AIN1: "); Serial.println(adc1);
  Serial.print("AIN2: "); Serial.println(adc2);
  Serial.print("AIN3: "); Serial.println(adc3);
  Serial.println(" ");
  delay(1000);  // Pause for a second
}
Q: How do I change the I2C address of the ADS1015? A: The I2C address can be changed by connecting the ADDR pin to GND, VDD, SDA, or SCL, resulting in four possible addresses.
Q: Can the ADS1015 be used with a 3.3V system? A: Yes, the ADS1015 can operate at voltages between 2.0V and 5.5V, making it compatible with both 3.3V and 5V systems.
Q: How can I increase the resolution of my measurements? A: The ADS1015 is a 12-bit ADC, so the resolution is fixed. However, you can increase the effective resolution by using the programmable gain amplifier (PGA) to match the input signal range.
Q: What is the purpose of the ALERT pin? A: The ALERT pin can be configured to act as a conversion ready signal or as an alert when the analog input exceeds a programmed threshold.
This documentation provides a comprehensive guide to using the Adafruit ADS1015 12-Bit I2C ADC with an Arduino UNO. For further information, consult the datasheet and additional resources provided by Adafruit.