KY-053 Analog Digital Converter Module

View on Amazon
Overview
About KY-053 Analog Digital Converter Module
The KY-053 module is an analog-to-digital converter (ADC) that allows for precise measurement of analog voltage values on up to 4 inputs. It communicates via the I²C bus, making it compatible with various microcontrollers and single-board computers, including Arduino and Raspberry Pi. With a resolution of up to 16 bits and programmable sampling rates ranging from 8 to 860 samples per second (SPS), it is suitable for applications requiring accurate analog measurements.
KY-053 Specifications
Complete technical specification details for KY-053 Analog Digital Converter Module
📊 Technical Parameters
KY-053 Pinout
The **KY-053** is a 7-pin 16-bit ADC module with 4 analog input channels:
Visual Pinout Diagram

Pin Types
Quick Tips
**Interface**: I2C (two-wire),📊 **ADC**: ADS1115 16-bit precision analog-to-digital converter,📈 **Resolution**: 16-bit (65,536 levels)
**Channels**: 4 single-ended or 2 differential inputs,📊 **I2C Address**: 0x48-0x4B (selectable via ADDR pin),⚡ **Power**: 2V to 5.5V operation
**Sampling Rate**: 8 to 860 SPS (samples per second),📊 **PGA**: Programmable gain amplifier (±6.144V to ±0.256V range),🎯 **Applications**: Precision voltage measurement, sensor interfacing, data acquisition, battery monitoring
Pin Descriptions
| Pin Name | Type | Description | Notes |
|---|---|---|---|
1 GND | Power | Ground connection | |
2 VDD | Power | Power supply | 2V to 5.5V |
3 SDA | Communication | I2C data line | Bidirectional data |
4 SCL | Communication | I2C clock line | Clock signal |
5 ADDR | Communication | I2C address select | Connect to GND/VDD/SDA/SCL (0x48-0x4B) |
6 ALRT | Communication | Alert/ready pin | Optional - conversion ready or comparator output |
7 A0-A3 | Communication | Analog input channels | 4 single-ended or 2 differential inputs |
Wiring KY-053 to ESP32
To interface the **KY-053** with an **ESP32** for high-precision analog measurements:
Pin Connections
| KY-053 Pin | Connection | ESP32 Pin | Description |
|---|---|---|---|
1 GND Required | GND | Ground | |
2 VDD Required | 3.3V or 5V | Power supply | |
3 SDA Required | GPIO21 | I2C data (default ESP32 I2C SDA) | |
4 SCL Required | GPIO22 | I2C clock (default ESP32 I2C SCL) | |
5 ADDR Optional | GND | I2C address select (0x48 when GND) | |
6 ALRT Optional | GPIO15 | Alert/ready interrupt (optional) | |
7 A0-A3 Required | Analog signals | Connect to sensors or voltage sources |
**16-bit Precision**: Much higher resolution than ESP32's 12-bit ADC (16x more precise)
**I2C Addresses**: ADDR→GND: 0x48, ADDR→VDD: 0x49, ADDR→SDA: 0x4A, ADDR→SCL: 0x4B
**Voltage**: 3.3V recommended for ESP32, but 5V compatible
**PGA Settings**: Adjust gain for optimal range: ±6.144V, ±4.096V, ±2.048V, ±1.024V, ±0.512V, ±0.256V
**Differential Mode**: Measure voltage difference between two inputs (A0-A1, A2-A3)
**Pull-ups**: External 4.7kΩ pull-ups may be needed on SDA/SCL
**Input Protection**: Don't exceed VDD+0.3V on analog inputs
**ALRT Pin**: Optional interrupt when conversion complete or threshold exceeded
KY-053 Troubleshooting
Common issues and solutions to help you get your sensor working
Common Issues
Issue: The KY-053 module is not recognized by the microcontroller.
Solutions:
- Verify that the I²C interface is enabled and properly configured on the microcontroller.
- Ensure correct wiring connections, especially the SCL and SDA lines.
- Check that the ADDR pin is connected appropriately to set the desired I²C address.
Issue: The module provides inaccurate or fluctuating voltage measurements.
Solutions:
- Confirm that the input voltage on analog pins does not exceed the operating voltage (2V to 5.5V).
- Ensure stable power supply to the module to prevent noise interference.
- Adjust the programmable gain amplifier (PGA) settings to match the expected input voltage range for better resolution.
Debugging Tips
Use the Serial Monitor to check for error messages and verify the sensor's output. Add debug prints in your code to track the sensor's state.
Use a multimeter to verify voltage levels and check for continuity in your connections. Ensure the power supply is stable and within the sensor's requirements.
Additional Resources
KY-053 Programming Examples
Ready-to-use code examples for different platforms and frameworks
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(9600);
ads.setGain(GAIN_TWOTHIRDS); // 2/3x gain ±6.144V 1 bit = 0.1875mV
if (!ads.begin()) {
Serial.println("Failed to initialize KY-053 ADS1115!");
while (1);
}
}
void loop() {
int16_t adc0, adc1, adc2, adc3;
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);
}This Arduino code initializes the KY-053 ADC module using the ADS1115 library. It sets the gain to GAIN_TWOTHIRDS, allowing a maximum input voltage range of ±6.144V. The code continuously reads the values from all four analog input channels and prints them to the serial monitor.
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/i2c.h"
#include "ads1115.h"
#define I2C_MASTER_SCL_IO 22
#define I2C_MASTER_SDA_IO 21
#define I2C_MASTER_NUM I2C_NUM_0
#define I2C_MASTER_FREQ_HZ 100000
void app_main() {
printf("Initializing KY-053 ADC module...\n");
ads1115_t adc;
ads1115_init(&adc, I2C_MASTER_NUM, 0x48, I2C_MASTER_SDA_IO, I2C_MASTER_SCL_IO);
while (1) {
int16_t adc_values[4];
for (int i = 0; i < 4; i++) {
adc_values[i] = ads1115_read(&adc, i);
printf("AIN%d: %d\n", i, adc_values[i]);
}
vTaskDelay(pdMS_TO_TICKS(1000));
}
}This ESP-IDF code initializes the KY-053 ADC module (ADS1115) using the I2C interface on GPIO21 (SDA) and GPIO22 (SCL). It continuously reads all four analog channels and prints the values to the console every second.
sensor:
- platform: ads1115
multiplexer: 'A0_GND'
gain: 6.144
name: "KY-053 ADC Channel 0"
update_interval: 1s
- platform: ads1115
multiplexer: 'A1_GND'
gain: 6.144
name: "KY-053 ADC Channel 1"
update_interval: 1s
- platform: ads1115
multiplexer: 'A2_GND'
gain: 6.144
name: "KY-053 ADC Channel 2"
update_interval: 1s
- platform: ads1115
multiplexer: 'A3_GND'
gain: 6.144
name: "KY-053 ADC Channel 3"
update_interval: 1sThis ESPHome configuration sets up the KY-053 ADC module (ADS1115) to read all four analog channels. Each channel is configured with a gain of 6.144V, and the values are updated every second.
platformio.ini
[env:esp32]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
adafruit/Adafruit ADS1X15main.cpp
#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(115200);
ads.setGain(GAIN_TWOTHIRDS);
if (!ads.begin()) {
Serial.println("Failed to initialize KY-053 ADS1115!");
while (1);
}
}
void loop() {
int16_t values[4];
for (int i = 0; i < 4; i++) {
values[i] = ads.readADC_SingleEnded(i);
Serial.printf("AIN%d: %d\n", i, values[i]);
}
delay(1000);
}This PlatformIO code sets up the KY-053 ADC module (ADS1115) using the I2C interface. It continuously reads and prints the values from all four analog input channels every second.
import machine
import time
from ads1x15 import ADS1115
i2c = machine.I2C(0, scl=machine.Pin(22), sda=machine.Pin(21))
adc = ADS1115(i2c, address=0x48)
while True:
for i in range(4):
value = adc.read(i)
print(f"AIN{i}: {value}")
time.sleep(1)This MicroPython script configures the KY-053 ADC module (ADS1115) using the I2C interface. It continuously reads all four analog channels and prints the values every second.
Wrapping Up KY-053
The ESP32 KY-053 Analog Digital Converter Module is a powerful KY-0xx module sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.
Best Practices
For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.
Safety First
Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.
Ready to Start Building?
Now that you have all the information you need, it's time to integrate the KY-053 into your ESP32 project and bring your ideas to life!
Explore Alternative Sensors
Looking for alternatives to the KY-053? Check out these similar sensors that might fit your project needs.
The KY-029 is a dual-color LED module featuring a 3mm LED that emits red and green light. By adjusting the intensity of each color using...
The KY-010 is a photo interrupter module that detects objects by sensing interruptions in an infrared beam. It's ideal for applications...







