
ADS1115: A 16-Bit 4-Channel ADC with Programmable Gain Amplifier – Ultimate Guide by Regent Electronics
In the world of electronics and automation, precision and accuracy are essential for many applications, from medical devices to industrial equipment. One such highly efficient component is the ADS1115, a 16-bit Analog-to-Digital Converter (ADC) with a Programmable Gain Amplifier (PGA). This device plays a crucial role in converting analog signals into digital signals with high precision, making it an ideal choice for applications where minute changes in voltage need to be detected and measured.
At Regent Electronics, we are excited to dive into the details of the ADS1115, explaining its features, how to use it, and its real-world applications.
What is the ADS1115?
The ADS1115 is a 16-bit ADC with an integrated PGA, designed to amplify small analog signals for accurate conversion into digital signals. This 16-bit resolution ensures that even the tiniest voltage variations are captured and converted, making it perfect for precision applications where even the slightest changes matter.
The ADS1115 operates via the I2C interface, simplifying communication with development boards. It comes with four input channels (A0, A1, A2, A3), making it extremely useful for systems like the ESP8266, which only has one analog input. By using the ADS1115, you can easily expand your available analog inputs for more devices.
Whether you’re monitoring temperature, humidity, or other environmental factors, the ADS1115’s precision makes it suitable for use in sensitive systems such as incubators and medical applications where consistent monitoring is critical.
Key Features of ADS1115
- 16-bit Resolution: High precision for detecting small changes in voltage.
- 4 Input Channels: A0, A1, A2, A3 for flexible input expansion.
- Programmable Gain Amplifier: Amplifies small input signals for more accurate conversions.
- I2C Communication: Easy integration with microcontrollers and development boards.
- Low Power Consumption: Ideal for battery-powered applications.
How to Use the ADS1115 Module

The ADS1115 is simple to integrate into your project. Here’s how to set up the connections and code to start using this module.
Connection Instructions

- Connecting the ADS1115 and Arduino:
- SDA and SCL Pins: Connect the SDA and SCL pins of the ADS1115 to the SDA and SCL pins of the Arduino Nano.
- GND: Connect the GND of the ADS1115 to the GND of the Arduino.
- VDD: Connect the VDD of the ADS1115 to the 5V pin of the Arduino.
- Connecting the OLED Display:
- SDA and SCL Pins: Connect the SDA and SCL pins of the OLED display to the corresponding pins on the Arduino.
- GND and VDD: Connect the GND of the OLED display to the GND of the Arduino and the VDD to 5V (or 3.3V, depending on the display’s specifications).
- Connecting the Potentiometer:
- Connect the VCC and GND pins of the potentiometer to the 5V and GND pins of the Arduino.
- Connect the middle pin of the potentiometer to the analog inputs (A0, A1, A2, A3) of the ADS1115.
Once the circuit is connected as shown, the ADS1115 will begin to read the voltage across the potentiometer and display it on the OLED screen.
Code for ADS1115 with OLED Display
Here’s a sample code that demonstrates how to read analog voltages from the ADS1115 and display the results on an OLED screen:
cpp
CopyEdit
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_ADS1015.h>
Adafruit_ADS1115 ads; // ADS1115 module
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup(void) {
Serial.begin(9600);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F(“SSD1306 allocation failed”));
for (;;); // Loop forever if OLED initialization fails
}
display.clearDisplay();
analogReference(INTERNAL);
ads.begin();
}
void loop(void) {
int16_t adc0, adc1, adc2, adc3;
adc0 = ads.readADC_SingleEnded(0); // Read from A0
adc1 = ads.readADC_SingleEnded(1); // Read from A1
adc2 = ads.readADC_SingleEnded(2); // Read from A2
adc3 = ads.readADC_SingleEnded(3); // Read from A3
display.setTextColor(WHITE);
display.setTextSize(2);
display.clearDisplay();
display.setCursor(30, 0);
display.print(adc0); // Display value of A0
display.setCursor(30, 15);
display.print(adc1); // Display value of A1
display.setCursor(30, 30);
display.print(adc2); // Display value of A2
display.setCursor(30, 45);
display.print(adc3); // Display value of A3
display.display();
delay(1000); // Wait for 1 second
}
Real-World Applications of the ADS1115
The ADS1115 is incredibly versatile and can be used in various industries and applications, including:
- Portable Instrumentation: For devices that need precise analog-to-digital conversion in the field, such as portable meters.
- Battery Monitoring: Continuously monitor battery voltage to ensure it stays within safe limits.
- Current Monitoring: Accurate measurement of current in circuits and power systems.
- Temperature Measurement Systems: Useful in systems requiring high-precision temperature sensing, such as medical devices or incubators.
- Factory Automation and Process Control: Essential for precise control systems in manufacturing and industrial processes.
Conclusion
The ADS1115 is a highly efficient 16-bit ADC that offers accurate voltage measurements with its programmable gain amplifier. Whether you’re building a battery monitoring system, designing a portable instrument, or working on precision control systems, the ADS1115 offers a reliable and easy-to-integrate solution.
At Regent Electronics, we provide top-quality components like the ADS1115 for hobbyists, engineers, and professionals to create cutting-edge projects. Explore our range of products and start building your next project with us!