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

How to Use ADS1256: Examples, Pinouts, and Specs

Image of ADS1256
Cirkit Designer LogoDesign with ADS1256 in Cirkit Designer

Introduction

The ADS1256, manufactured by Texas Instruments, is a high-performance 24-bit analog-to-digital converter (ADC) with a high-speed serial interface. It is designed for precision measurement applications, offering exceptional resolution, low noise, and versatile input configurations. The ADS1256 features an integrated programmable gain amplifier (PGA), multiple input channels, and a flexible data rate, making it ideal for applications requiring accurate and reliable data acquisition.

Explore Projects Built with ADS1256

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ADS1115 and ACS712 Current Sensor-Based Voltage and Current Monitoring System
Image of Solar_Monitoring_Code: A project utilizing ADS1256 in a practical application
This circuit includes an ADS1115 analog-to-digital converter connected to two voltage divider networks formed by resistors. The voltage dividers are used to scale down the input voltages before they are read by the ADS1115 on channels A0 and A1.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Smart Lighting System with Power Monitoring
Image of Energy Monitoring System: A project utilizing ADS1256 in a practical application
This circuit appears to be a multi-channel current monitoring system using several ACS712 current sensors to measure the current through different loads, likely bulbs connected to a 220V power source. The current readings from the sensors are digitized by an Adafruit ADS1115 16-bit ADC, which interfaces with an ESP32 microcontroller via I2C communication for further processing or telemetry. A buck converter is used to step down the voltage to power the ESP32 and the sensors, and the system is powered through a 2.1mm DC barrel jack, indicating it is designed for external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and ADXL343-Based Battery-Powered Accelerometer with SPI Communication
Image of vibration module: A project utilizing ADS1256 in a practical application
This circuit features an ESP32 microcontroller interfaced with an ADXL343 accelerometer via SPI communication, powered by a 12V battery regulated down to 5V and 8V using 7805 and 7808 voltage regulators. The ESP32 reads accelerometer data and outputs it via serial communication, with additional components including a pushbutton and a rocker switch for user input.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Due and ADS1115 Battery-Powered Differential Voltage Sensor
Image of op_amp: A project utilizing ADS1256 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 ADS1256

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 Solar_Monitoring_Code: A project utilizing ADS1256 in a practical application
ADS1115 and ACS712 Current Sensor-Based Voltage and Current Monitoring System
This circuit includes an ADS1115 analog-to-digital converter connected to two voltage divider networks formed by resistors. The voltage dividers are used to scale down the input voltages before they are read by the ADS1115 on channels A0 and A1.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Energy Monitoring System: A project utilizing ADS1256 in a practical application
ESP32-Controlled Smart Lighting System with Power Monitoring
This circuit appears to be a multi-channel current monitoring system using several ACS712 current sensors to measure the current through different loads, likely bulbs connected to a 220V power source. The current readings from the sensors are digitized by an Adafruit ADS1115 16-bit ADC, which interfaces with an ESP32 microcontroller via I2C communication for further processing or telemetry. A buck converter is used to step down the voltage to power the ESP32 and the sensors, and the system is powered through a 2.1mm DC barrel jack, indicating it is designed for external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of vibration module: A project utilizing ADS1256 in a practical application
ESP32 and ADXL343-Based Battery-Powered Accelerometer with SPI Communication
This circuit features an ESP32 microcontroller interfaced with an ADXL343 accelerometer via SPI communication, powered by a 12V battery regulated down to 5V and 8V using 7805 and 7808 voltage regulators. The ESP32 reads accelerometer data and outputs it via serial communication, with additional components including a pushbutton and a rocker switch for user input.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of op_amp: A project utilizing ADS1256 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

Common Applications

  • Industrial automation and control systems
  • Medical instrumentation and diagnostic devices
  • Sensor data acquisition (e.g., temperature, pressure, and strain gauges)
  • Weighing scales and precision measurement systems
  • Energy monitoring and metering

Technical Specifications

Key Technical Details

Parameter Value
Resolution 24-bit
Number of Input Channels 8 single-ended or 4 differential
Input Voltage Range ±2.5V (default, with internal reference)
Programmable Gain Options 1, 2, 4, 8, 16, 32, 64
Data Rate 2.5 SPS to 30,000 SPS
Interface SPI (Serial Peripheral Interface)
Supply Voltage 2.7V to 5.25V
Power Consumption 21mW (typical at 5V supply)
Operating Temperature Range -40°C to +85°C

Pin Configuration and Descriptions

The ADS1256 is typically available in a 28-pin TSSOP package. Below is the pin configuration:

Pin Number Pin Name Description
1 VREFP Positive reference voltage input
2 VREFN Negative reference voltage input
3 AIN0 Analog input channel 0
4 AIN1 Analog input channel 1
5 AIN2 Analog input channel 2
6 AIN3 Analog input channel 3
7 AIN4 Analog input channel 4
8 AIN5 Analog input channel 5
9 AIN6 Analog input channel 6
10 AIN7 Analog input channel 7
11 AGND Analog ground
12 DGND Digital ground
13 DVDD Digital supply voltage
14 AVDD Analog supply voltage
15 CLKIN External clock input
16 CLKOUT Clock output
17 DRDY Data ready output (active low)
18 CS Chip select input (active low)
19 DIN SPI data input
20 DOUT SPI data output
21 SCLK SPI clock input
22 RESET Reset input (active low)
23-28 NC No connection

Usage Instructions

How to Use the ADS1256 in a Circuit

  1. Power Supply: Connect the analog (AVDD) and digital (DVDD) supply pins to a stable voltage source within the specified range (2.7V to 5.25V). Ensure proper decoupling capacitors are placed close to the supply pins.
  2. Reference Voltage: Provide a stable reference voltage to the VREFP and VREFN pins. The internal reference can also be used for simplicity.
  3. Input Configuration: Connect the analog input signals to the AINx pins. Configure the inputs as single-ended or differential based on your application.
  4. SPI Communication: Connect the SPI interface pins (CS, DIN, DOUT, SCLK) to a microcontroller or processor. Ensure proper pull-up or pull-down resistors are used as needed.
  5. Clock Source: Provide an external clock signal to the CLKIN pin or use the internal oscillator.
  6. Data Acquisition: Monitor the DRDY pin to detect when new data is available. Use SPI commands to read the converted data from the DOUT pin.

Important Considerations and Best Practices

  • Use low-noise power supplies and proper grounding techniques to minimize noise and interference.
  • Place decoupling capacitors (e.g., 0.1µF and 10µF) close to the power supply pins.
  • Avoid long traces for analog input signals to reduce noise pickup.
  • Configure the PGA gain and data rate based on the input signal characteristics and desired resolution.
  • Ensure the SPI clock frequency does not exceed the maximum specified in the datasheet.

Example Code for Arduino UNO

Below is an example of how to interface the ADS1256 with an Arduino UNO using SPI:

#include <SPI.h>

// Pin definitions
#define CS_PIN 10  // Chip select pin
#define DRDY_PIN 9 // Data ready pin

void setup() {
  pinMode(CS_PIN, OUTPUT);
  pinMode(DRDY_PIN, INPUT);
  digitalWrite(CS_PIN, HIGH); // Set CS high initially

  SPI.begin(); // Initialize SPI
  SPI.setDataMode(SPI_MODE1); // ADS1256 uses SPI mode 1
  SPI.setClockDivider(SPI_CLOCK_DIV16); // Set SPI clock speed
  Serial.begin(9600); // Initialize serial communication
}

void loop() {
  if (digitalRead(DRDY_PIN) == LOW) { // Check if data is ready
    digitalWrite(CS_PIN, LOW); // Select the ADS1256
    byte command = 0x01; // Example command to read data
    SPI.transfer(command); // Send command
    byte dataHigh = SPI.transfer(0x00); // Read high byte
    byte dataMid = SPI.transfer(0x00); // Read middle byte
    byte dataLow = SPI.transfer(0x00); // Read low byte
    digitalWrite(CS_PIN, HIGH); // Deselect the ADS1256

    // Combine the bytes into a 24-bit value
    long result = ((long)dataHigh << 16) | ((long)dataMid << 8) | dataLow;
    Serial.println(result); // Print the result
  }
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. No Data Output:

    • Ensure the SPI connections (CS, DIN, DOUT, SCLK) are correctly wired.
    • Verify that the DRDY pin is monitored to detect when data is ready.
    • Check the power supply and reference voltage connections.
  2. Noisy or Inaccurate Readings:

    • Use proper grounding and shielding to minimize noise.
    • Verify that the input signals are within the specified voltage range.
    • Ensure the PGA gain and data rate are configured appropriately.
  3. Device Not Responding:

    • Confirm that the CS pin is pulled low during SPI communication.
    • Check the SPI clock frequency and mode settings.

FAQs

Q: Can I use the ADS1256 with a 3.3V microcontroller?
A: Yes, the ADS1256 supports a supply voltage range of 2.7V to 5.25V, making it compatible with 3.3V systems.

Q: What is the maximum sampling rate of the ADS1256?
A: The ADS1256 supports a maximum data rate of 30,000 samples per second (SPS).

Q: Can I use the internal reference voltage?
A: Yes, the ADS1256 includes an internal reference voltage, but for higher accuracy, an external reference is recommended.