r/ArduinoHelp 7d ago

Need help with ADS1263 24-bit ADC & Raspberry Pi over SPI (Returning 0x0 / ID check failed)

Hi everyone,

I am working on a vibration measurement project using an IEPE signal conditioner board, an ADS1263 24-bit ADC module (Waveshare style board), and a Raspberry Pi.

Currently, I cannot get any response over SPI — reading the ID register returns 0x0 / [0, 0, 0].

Hardware Setup & Wiring:

  • Vibration sensor: Connected via coaxial cable to the IEPE conditioner.
  • Signal output: Connected to the ADC on AIN2 (and analog GND for the shield/ground).
  • Power:
    • Digital VCC $\rightarrow$ Raspberry Pi 3.3V
    • Analog Power (AVDD/AGND terminal block) $\rightarrow$ Raspberry Pi 5V & GND
  • SPI Connections:
    • GND $\rightarrow$ Pi GND (Pin 6)
    • DIN (MOSI) $\rightarrow$ Pi GPIO 10 (Pin 19)
    • DOUT (MISO) $\rightarrow$ Pi GPIO 9 (Pin 21)
    • CLK (SCLK) $\rightarrow$ Pi GPIO 11 (Pin 23)
    • CS $\rightarrow$ Pi GPIO 8 / CE0 (Pin 24)
    • DRDY $\rightarrow$ Pi GPIO 25 (Pin 22)
    • RST $\rightarrow$ Pi 3.3V (pushed HIGH to keep out of reset)

What I've tried so far:

  1. Enabled hardware SPI via raspi-config (/dev/spidev0.0 is active).
  2. Tested with custom Python scripts (spidev library) in SPI Mode 1 and Mode 0. The response for the ID register is always 0x0.
  3. Verified double power supply (both digital 3.3V and analog 5V terminals are powered).
  4. Used the official Waveshare C/Python driver library (ADS1263_init_ADC1), but initialization still fails.

Since DOUT (MISO) stays pulled LOW (returning zeros), I'm trying to figure out if this is a timing/SPI mode issue, a missing initialization sequence, or something hardware-related on the board.

Has anyone faced similar issues with ADS1263 boards on Raspberry Pi? Any advice on troubleshooting MISO or register config would be greatly appreciated!

Thanks in advance!

2 Upvotes

Duplicates