Getting Started with the ProtoCentral ADS1262 32-bit ADC Breakout v4
The ProtoCentral ADS1262 breakout v4 puts Texas Instruments’ 32-bit delta-sigma ADC on a breadboard-friendly board that runs from a single supply pin. This guide takes you from an unboxed board to your first high-resolution voltage reading on an Arduino or ESP32.
Have an earlier board? v4 changed the power pins. Older boards have separate analog and digital supply pins; v4 has a single VCC pin. Check the label next to the pins: if your board has AVDD and DVDD pins, follow the original board’s Getting Started guide instead.
Introduction
The ADS1262 is a 32-bit delta-sigma ADC with a low-noise programmable gain amplifier (PGA), a 2.5 V internal reference, two sensor-excitation current sources (IDACs) and a programmable digital filter. It resolves microvolt-level signals from load cells, strain gauges, RTDs and thermocouples without external signal conditioning.
The ADS1262’s analog supply must be 4.75–5.25 V; it has no 3.3 V analog mode. The v4 board generates that rail itself:
- A TI LM2775 regulated charge pump turns your VCC into a 5.0 V analog supply. It runs at a fixed 2 MHz.
- A two-stage LC filter built from shielded inductors cleans that rail before it reaches the ADC.
- The ADS1262’s digital side runs from VCC through a ferrite, so its I/O level always matches your host. No level translator is needed.
Key Features
- 32-bit ΔΣ ADC, 2.5 SPS to 38,400 SPS
- 10 analog inputs plus AINCOM: 10 single-ended or 5 differential channels
- PGA with gains of 1 to 32, 2.5 V internal reference, two IDACs
- Single VCC pin for 3.3 V or 5 V hosts; the 5 V analog rail is made on board
- On-board pull-ups on START and RST/PWDN, so five signal wires get you to a first reading
- 6.2 V Zener clamp on the 5 V analog rail
- External clock input (CLKIN) with a selection jumper
- Four plated M2 mounting holes
What’s in the Box
| Qty | Item |
|---|---|
| 1 | ProtoCentral ADS1262 32-bit ADC Breakout Board v4, with the 10-pin host header pre-soldered |
| 1 | 12-pin 0.1″ male header strip for the analog inputs (unsoldered) |
Solder the 12-pin strip to the analog header if you want to plug the board into a breadboard or use jumper wires on the inputs; you can also solder sensor wires straight to the pads.
Specifications
| Parameter | Value |
|---|---|
| ADC | Texas Instruments ADS1262, 32-bit ΔΣ |
| Data rate | 2.5 SPS to 38,400 SPS |
| Supply (VCC pin) | 2.7–5.25 V (use your host’s 3.3 V or 5 V rail) |
| Analog supply | 5.0 V generated on board (LM2775 charge pump + two-stage LC filter) |
| Logic level | Same as VCC |
| Interface | SPI |
| Analog header | 12-pin 0.1″: AIN0–AIN9, AINCOM, AVSS (strip included, unsoldered) |
| Host header | 10-pin 0.1″, pre-soldered: VCC, GND, SCK, MOSI, MISO, DRDY, CSB, RST/PWDN, START, CLKIN |
| Board | 32.1 × 37.3 mm, 2-layer, 4 × M2 mounting holes |
Pinout
Host header
| Pin | Label | Function | Required? |
|---|---|---|---|
| 1 | VCC | Supply, 2.7–5.25 V; also sets the logic level | Yes |
| 2 | GND | Ground | Yes |
| 3 | SCK | SPI clock | Yes |
| 4 | MOSI | SPI data in (to the ADS1262) | Yes |
| 5 | MISO | SPI data out (from the ADS1262) | Yes |
| 6 | DRDY | Data ready, active low | Yes |
| 7 | CSB | Chip select, active low | Yes |
| 8 | RST/PWDN | Reset / power-down, active low; pulled up on board | Optional |
| 9 | START | Start conversions; pulled up on board | Optional |
| 10 | CLKIN | External clock input; see the CLK jumper | Optional |
With START left unconnected, its pull-up keeps the ADS1262 converting continuously. The library resets the chip over SPI, so RST/PWDN can stay unconnected too.
Analog header
| Pins | Function |
|---|---|
| AIN0–AIN9 | Analog inputs |
| AINCOM | Common input for single-ended measurements |
| AVSS | Analog ground, tied to GND on the board through a 0 Ω resistor |
CLK jumper
The 3-pad CLK jumper selects the ADS1262 clock source. As shipped it ties the clock input to GND, which selects the ADS1262’s internal oscillator. Move it to the CLKIN side only if you are feeding an external clock into the CLKIN pin.
Wiring
Power VCC from your host’s logic voltage. The ADS1262’s digital pins run at VCC with no level translator in between. Use 5 V for a 5 V board such as the Arduino Uno, and 3.3 V for a 3.3 V board such as the ESP32. Driving 5 V signals into a board powered at 3.3 V can damage the ADS1262.
Arduino Uno (5 V)
| Breakout pin | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| SCK | D13 |
| MOSI | D11 |
| MISO | D12 |
| CSB | D7 |
| DRDY | D6 |
| START (optional) | D5 |
| RST/PWDN (optional) | D4 |
These match the library’s default pins, so the examples run unchanged.
ESP32 (3.3 V)
| Breakout pin | ESP32 (classic, VSPI) |
|---|---|
| VCC | 3.3V |
| GND | GND |
| SCK | GPIO 18 |
| MOSI | GPIO 23 |
| MISO | GPIO 19 |
| CSB | GPIO 5 |
| DRDY | GPIO 21 |
| START (optional) | GPIO 22 |
| RST/PWDN (optional) | GPIO 4 |
Don’t use GPIO 6–11 on a classic ESP32: they connect to the module’s internal flash, and wiring anything to them stops the board from booting. Also avoid GPIO 16–17 on WROVER modules, which use them for PSRAM. Pass your pins to the library’s constructor:
ADS1262 adc(5, 21, 22, 4); // CS, DRDY, START, PWDN
// in setup():
adc.begin(18, 19, 23); // SCK, MISO, MOSI
Installing the Arduino Library
Option 1 — Library Manager (recommended)
- In the Arduino IDE, open Tools → Manage Libraries…
- Search for ProtoCentral ADS1262.
- Install ProtoCentral ADS1262 32-bit precision ADC Library.
Option 2 — Manual install from GitHub
- Download the library as a ZIP from github.com/Protocentral/ProtoCentral_ads1262 (Code → Download ZIP).
- In the Arduino IDE, choose Sketch → Include Library → Add .ZIP Library… and select the file.
Your First Reading
Open File → Examples → ProtoCentral ADS1262 → 01-Basic-Usage. It measures the differential voltage between AIN0 and AIN1 at 100 samples per second, with a gain of 1 and the internal 2.5 V reference. The core of the setup is:
#include <ads1262.h>
ADS1262 adc(7, 6, 5, 4); // CS, DRDY, START, PWDN — the Uno defaults
void setup() {
Serial.begin(115200);
if (!adc.begin()) {
Serial.println("ADS1262 not found - check wiring and power");
while (1) delay(1000);
}
adc.setDataRate(ADS1262_DR_100_SPS);
adc.setGain(ADS1262_GAIN_1);
adc.setReference(ADS1262_REF_INTERNAL_2_5V);
adc.setInputMux(ADS1262_AIN0, ADS1262_AIN1);
adc.startConversion();
}
void loop() {
Serial.println(adc.readVoltage(), 6);
delay(500);
}
Upload it and open the Serial Monitor at 115200 baud. With nothing connected you’ll see a small offset, typically under 1 mV. Connect a battery or a potentiometer wiper across AIN0 and AIN1 to see a real reading.
The library includes four examples:
| Example | What it demonstrates |
|---|---|
| 01-Basic-Usage | Initialization, blocking and non-blocking voltage reads |
| 02-Simple-Differential | Differential measurement between two inputs |
| 03-Simple-Differential-Extended | Differential measurement with gain and filter settings |
| 04-Advanced-Usage | Non-blocking reads, calibration and register access |
Measuring a 0–5 V single-ended signal
For a ground-referenced signal of up to 5 V:
- Connect the signal to an input (for example AIN0) and tie AINCOM to AVSS.
- Measure AIN0 against AINCOM and use the 5 V analog supply as the reference.
- Bypass the PGA. With the PGA enabled, its input range doesn’t reach the supply rails, so readings near 0 V and 5 V clip.
adc.setReference(ADS1262_REF_INTERNAL_AVDD_AVSS);
adc.setInputMux(ADS1262_AIN0, ADS1262_AINCOM);
// MODE2: bit 7 = PGA bypass, bits 6:4 = gain (000 = 1), bits 3:0 = data rate.
// Write it last: setGain() and setDataRate() also write MODE2.
adc.writeRegister(ADS1262_REG_MODE2, 0x80 | ADS1262_DR_100_SPS);
The 5 V rail is the reference here, so its accuracy limits the reading. For the best accuracy on small signals, keep the PGA enabled and use the 2.5 V internal reference.
Troubleshooting
| Symptom | Likely cause | What to try |
|---|---|---|
| “ADS1262 not found” | Wiring or power | Check VCC, GND, SCK, MOSI, MISO and CSB. Check the CSB and DRDY pins in your sketch match your wiring. |
| ESP32 won’t boot after wiring | A signal on GPIO 6–11 | Move it to a free GPIO such as those in the table above. |
| Readings stuck at zero | No signal, or conversions stopped | Check the input wiring. If START is wired to your board, make sure startConversion() is called. |
| Readings stuck at full scale | Input outside the range | With the 2.5 V reference and a gain of 1, the range is ±2.5 V differential. Reduce the gain or use the 0–5 V setup above. |
| Noisy readings | Long wires or a fast data rate | Use short wires, keep analog inputs away from digital lines, and try ADS1262_DR_20_SPS. |
Resources
- Arduino library on GitHub
- v4 schematic (PDF) and KiCad design files
- ADS1262 datasheet (TI)
- LM2775 charge pump datasheet (TI)
License
- Hardware: CERN Open Hardware Licence Version 2 — Permissive (CERN-OHL-P v2)
- Software / library: MIT License
- Documentation: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
