

The ADS1293 is a low-power, 24-bit analog-to-digital converter (ADC) specifically designed for biopotential measurements, such as electrocardiogram (ECG) and electroencephalogram (EEG) applications. This highly integrated device features multiple channels, high precision, and programmable gain amplifiers (PGAs), making it ideal for medical devices, wearable health monitors, and other biopotential sensing applications. Its compact design and low power consumption make it particularly suitable for battery-powered devices.








The ADS1293 comes in a 28-pin TSSOP package. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Positive power supply (2.0 V to 3.6 V). |
| 2 | GND | Ground reference for the device. |
| 3 | CS | Chip select for SPI communication. Active low. |
| 4 | SCLK | Serial clock input for SPI communication. |
| 5 | SDI | Serial data input for SPI communication. |
| 6 | SDO | Serial data output for SPI communication. |
| 7 | CLKSEL | Clock source selection pin. |
| 8 | RESET | Active-low reset pin. |
| 9 | DRDY | Data ready output. Indicates when new data is available. |
| 10-12 | IN1P, IN1N | Positive and negative inputs for Channel 1. |
| 13-15 | IN2P, IN2N | Positive and negative inputs for Channel 2. |
| 16-18 | IN3P, IN3N | Positive and negative inputs for Channel 3. |
| 19 | RLDOUT | Right-leg drive output. |
| 20 | RLDIN | Right-leg drive input. |
| 21 | VREFP | Positive reference voltage input. |
| 22 | VREFN | Negative reference voltage input. |
| 23 | CAP1 | External capacitor connection for internal reference. |
| 24 | CAP2 | External capacitor connection for internal reference. |
| 25 | CAP3 | External capacitor connection for internal reference. |
| 26 | GPIO1 | General-purpose input/output pin 1. |
| 27 | GPIO2 | General-purpose input/output pin 2. |
| 28 | GPIO3 | General-purpose input/output pin 3. |
Below is an example of how to interface the ADS1293 with an Arduino UNO using SPI:
#include <SPI.h>
// Pin definitions
#define CS_PIN 10 // Chip select pin for ADS1293
#define DRDY_PIN 2 // Data ready pin for ADS1293
void setup() {
// Initialize SPI communication
SPI.begin();
pinMode(CS_PIN, OUTPUT);
pinMode(DRDY_PIN, INPUT);
digitalWrite(CS_PIN, HIGH); // Set CS high initially
// Configure ADS1293 (example: setting sampling rate and enabling channels)
digitalWrite(CS_PIN, LOW); // Select the ADS1293
SPI.transfer(0x01); // Write to configuration register (example address)
SPI.transfer(0x80); // Example configuration value
digitalWrite(CS_PIN, HIGH); // Deselect the ADS1293
Serial.begin(9600);
}
void loop() {
// Wait for data ready signal
if (digitalRead(DRDY_PIN) == LOW) {
digitalWrite(CS_PIN, LOW); // Select the ADS1293
byte data = SPI.transfer(0x00); // Read data (example)
digitalWrite(CS_PIN, HIGH); // Deselect the ADS1293
// Print the received data
Serial.println(data, HEX);
}
}
No Data Output:
High Noise in Measurements:
Incorrect Readings:
Device Not Responding:
Q1: Can the ADS1293 be used for non-medical applications?
A1: Yes, the ADS1293 can be used for any application requiring high-precision, low-noise ADC measurements, such as industrial sensors or research projects.
Q2: What is the maximum sampling rate of the ADS1293?
A2: The maximum sampling rate is 25.6 kSPS, but lower rates can be configured to save power.
Q3: How do I detect if an electrode is disconnected?
A3: The ADS1293 includes a lead-off detection feature that can be configured to monitor electrode connections and alert the user if a disconnection occurs.
Q4: Can I use the ADS1293 with a 5V microcontroller?
A4: The ADS1293 operates at a maximum of 3.6 V. Use level shifters to interface with a 5V microcontroller.