Arduino B.Tech/Diploma Beginner

How to use ADS1220 24-Bit ADC Module with Arduino

Interfacing ADS1220 24-bit ADC Analog-to-Digital Converter Module with Arduino & make Precision Voltmeter with Library & Example Code

  • Suitable forB.Tech/Diploma Arduino students
  • Build time1-2 weeks
  • LevelBeginner
  • Available atAjvika Labs, Kakinada

About this project

Overview:
In this guide, we’ll explore how to integrate the
ADS1220 24-bit ADC Module
with
Arduino
. The ADS1220 breakout board is a
24-bit analog-to-digital converter
(ADC) suitable for use with
Arduino, ESP8266/32, STM32
, and other microcontrollers. The ADS1220 stands out for its impeccable
24-bit resolution
, surpassing the capabilities of the 16-bit A/D converter
ADS1115
While Arduino boards are equipped with a built-in
10-bit ADC
, its precision is somewhat limited. In contrast, the ADS1220 boasts a
24-bit ADC resolution
. To put this into perspective, the smallest voltage that Arduino can detect is 5V / 1024 = 0.0049V
(or
4.9mV
)
. On the other hand, the ADS1220 can measure as little as 5V / 16777216 = 0.0000003V
(or
0.3uV
)
. This means that the ADS1220 can detect much finer
voltage differences
than the standard Arduino ADC, making it a superior choice for more
precise measurements
Bill of Materials
The following are the components required for this tutorial. You may purchase all the components from given links.
S.N.
Components
Quantity
Purchase Link

Arduino Nano

Amazon
AliExpress
SunFounder

ADS1220 24-Bit ADC Module

Amazon
AliExpress

0.96" I2C OLED Display

Amazon
AliExpress
SunFounder

10K Potentiometer

Amazon
AliExpress

Breadboard

Amazon
AliExpress

Connecting Wires

Amazon
AliExpress
ADS1220 Chip
The ADS1220 chip is the core component of the
ADS1220 ADC module
. Made by
Texas Instruments (TI)
, this chip is a high-precision
12-bit analog-to-digital converter
(ADC).
It comes with four single-ended
input channels
. These channels can also be set up to function as two
differential input channels
. One of the standout features of the ADS1220 chip is its
low-noise programmable gain amplifier
(PGA), which enhances its performance. Additionally, the chip provides flexibility in its operation, allowing users to choose between two
conversion modes
:
continuous conversion or single-shot conversion
. This versatility makes the ADS1220 chip a valuable tool for various applications.
Features of the ADS1220 Chip
Analog power supply
: 2.3 to 5.5 volts at AVDD / AVSS (AGND).
Digital power supply
: 2.3 to 5.5 volts at DVDD / DGND.
Bipolar power supply
option: e.g. AVSS to DGND = -2.5 volts, AVDD to DGND = +2.5 volts.
Power consumption
: 120 microamps in duty cycle mode.
Communication
: via SPI.
Reference voltages
:
Internal: 2.048 volts.
External: VREFP
– VREFN
= min. 0.75 volts, max. AVDD.
Gain
: 1 – 128 (with PGA = Programmable Gain Amplifier), 1 – 4 (without PGA).
Data rate
: 5 – 2000 SPS (Samples per Second)
Conversion modes
: Continuous and “Single-Shot” mode.
Voltage inputs
: 4 single-ended (against AVSS) or 2 differential inputs.
Measurement in
multiplex mode
Two programmable
IDACs (digital-to-analog converter for current)
: 10 microamps to 1.5 milliamperes (also called “excitation current source” in the data sheet).
Digital filter
: 50 and/or 60 Hz.
Integrated
temperature sensor
ADS1220 Functional Block Diagram
Recommended SPI Connection with Microcontroller
The ADS1220 can work with the
SPI systems
of most microcontrollers. It uses SPI mode 1, where
CPOL
is set to

and
CPHA
is set to

. In this mode,
SCLK
stays low when idle. Data changes or starts only when
SCLK
goes up and is read or locked when
SCLK
goes down.
Texas Instruments (TI) suggests using
47-Ω resistors
with all the digital input and output pins like
CS, SCLK, DIN, DOUT/DRDY
, and
DRDY
. These resistors help in making transitions smoother, controlling overshoot, and giving some protection against high voltage. However, when adding these resistors, it’s important to make sure all
SPI timings
are still met because the resistors can affect the
digital signals
due to bus capacitances.
ADS1220 Chip Package
The ADS1220 chip comes in two different
integrated circuit packages
, as illustrated in the provided figure.
The first package is the
16-pin TSSOP
(
Thin Shrink Small Outline Package
). This is the larger package, with a chip body measuring approximately
5.1mm x 4.5mm
. The second package is the
VQFN
(
Quad Flatpack No-Lead
). This is a much more compact package, with a body dimension of just
3.6mm x 3.6mm
. The choice between these packages depends on the
specific requirements
and
space constraints
of the project or application in which the chip will be used.
To learn more about the ADS1220 Chip, refer to the
ADS1220 Datasheet
ADS1220 Breakout Board
The ADS1220 chip comes in a very small package. That is, it is not available in a bigger DIP package that can be inserted on a breadboard.
Therefore, for protyping and testing we need to use breakout Board or Module. There are many manufacturers of these boards such as Protocentral, Olimex and CJMCU. Out of these the CJMCU model is sold most.
ADS1220 Breakout Schematic
The image above shows the schematic for Protocentral’s ADS1220 ADC module.
While the CJMCU ADS1220 ADC modules have a similar design, there’s a small difference. The CJMCU versions use 24Ohms resistors for the SPI lines, unlike the 47Ohms resistors used by Protocentral.
ADS1220 Module Pinout
The ADS1220 Chip or the Breakout Board has a total of 18 pins.
Here are the pin details with function.
Pin Number
Pin Name
Description

DRDY
Data Ready Pin. Goes LOW when data is available for reading.

MISO (DOUT)
Master In Slave Out (MISO) pin. Also indicates when data is ready to be read.

MOSI (DIN)
Master Out Slave In (MOSI) pin. Used to send data from the master to the slave.

SCLK
Serial Clock (SCLK) pin. Provides synchronization for data transmission.

CS
Chip Select (CS) pin. Activates the slave device for communication.

CLK
Optional external clock input.

DVDD
Supply pin for digital voltage.

DGND
Ground pin for digital voltage.

AGND
Ground pin for analog voltage.

AVDD
Supply pin for analog voltage.

REFP0
Positive pin for external reference voltage.

REFFN0
Negative pin for external reference voltage.

AIN3
Analog input for voltage measurement. Can also serve as a negative input for an external reference voltage.

AIN2
Analog input for voltage measurement.

AIN1
Analog input for voltage measurement.

AIN0
Analog input for voltage measurement. Can also serve as a positive input for an external reference voltage.
Interfacing ADS1220 24-Bit ADC Module with Arduino
Now let us learn how we can connect the ADS1220 24-Bit ADC Module with Arduino Nano Microcontroller Board. Here is a simple connection diagram.
This table provides a clear mapping of each ADS1220 Module pin to its corresponding Arduino pin.
ADS1220 Module Pin
Arduino Pin
DRDY
D6
MISO
D12
MOSI
D11
SCLK
D13
CS
D7
DVDD
+5V
DGND
GND
AGND
GND
The Module can be easily assembled on a breadboard with Arduino Nano Board.
The analog input can be fed through AIN0, AIN1, AIN2 and AIN3 Pin. If you don’t have a Variable Power Supply Source, you may use a Potentiometer to fed the input voltage.
For demonstration I used a 10K potentiometer to fed analog voltage between 5V to 0V.
ADS1220 Arduino Library Installation & Usage
The
Protocentral ADS1220 Arduino Library
is designed to simplify the interfacing of the ADS1220 ADC module with Arduino boards. Here’s a detailed guide on its installation and usage:
Library Installation
Arduino IDE:
You can install the
Protocentral ADS1220 library
directly from the Arduino IDE. Go to
Sketch
>
Include Library
>
Manage Libraries
, then search for “Protocentral ADS1220” and install it.
Manual Installation:
Alternatively, you can download the library from
GitHub
or the Protocentral website and manually add it to your Arduino libraries folder.
Library Usage
1. Protocentral ADS1220 Library READ Methods:
The library provides methods to read data directly from the ADS1220 ADC module. The primary method is:

int32_t
adc_data
=
ads1220
read_data
(
)
;
This method fetches the ADC reading as a 32-bit signed integer, representing the raw ADC value. This value

Technologies used

ESP8266ArduinoSTM32BLEOLEDI2CSPIADCArduino IDE

Hardware components

  • ESP8266
  • Arduino
  • STM32
  • OLED

Software & tools

  • Arduino IDE

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.