Features
- 8 x 17-bit 0 to 5V Single Ended Inputs
- Control via the Raspberry Pi I2C port
- Stack up to 4 ADC Pi boards on a single Raspberry Pi
- Jumper selectable I2C addresses
- Buffered 5V I2C port
- Based on the MCP3424 from Microchip Technologies Inc
- Single Ended full-scale range of 5.0V
- On-board 2.048V reference voltage (Accuracy ± 0.05%, Drift: 15 ppm/°C)
- On-Board Programmable Gain Amplifier (PGA): Gains of 1, 2, 4 or 8
- Programmable Data Rate Options:
- 3.75 SPS (17 bits)
- 15 SPS (15 bits)
- 60 SPS (13 bits)
- 240 SPS (11 bits)
- One-Shot or Continuous Conversion Options
The ADC Pi is an 8-channel 17-bit analogue to digital converter designed to work with the Raspberry Pi and other compatible single-board computers. The ADC Pi is based on two Microchip MCP3424 A/D converters, each containing 4 analogue inputs. The MCP3424 is a delta-sigma A/D converter with low noise differential inputs.
Not sure which ADC you need? Check our Analogue to Digital Buyers guide to compare our ADC expansion boards.
We designed the ADC Pi to work as a single-ended A/D converter using the internal 2.048V reference voltage with the -V pins tied to ground. A voltage divider on the ADC Pi board brings the input voltage range to a much more helpful 0 – 5.06V. In this configuration, the sample size is 17 bits for each channel.
The ADC Pi is powered through the host Raspberry Pi using the GPIO port, and extended pins on the GPIO connector allow you to stack the ADC Pi along with other expansion boards.
The two MCP3424 A/D converters communicate via i2c to the host Raspberry Pi giving you eight analogue inputs. A logic level converter is included on the ADC Pi board, giving you a buffered 5V i2c port making it easy to add other I2C devices which operate at 5 volts without damaging the raspberry pi 3.3 volt i2c port. The i2c buffer uses N-channel MOSFETs with a maximum drain current of 100mA.
The I2C address bits are selectable using the onboard jumpers. The MCP3424 supports up to 8 different I2C addresses, so with two A/D converters on each ADC Pi, you can stack up to 4 ADC Pi boards on a single Raspberry Pi, giving you 32 ADC inputs.
The MCP3424 contains a programmable Gain Amplifier giving the user a selectable gain of x1, x2, x4 or x8 before the analogue to digital conversion takes place.
The data rate for analogue to digital conversions is 3.75 (17-bit), 15 (15-bit), 60 (13-bit) or 240 (11-bit) samples per second. Data rate and resolution can be configured within the software using the I2C interface.
We have a knowledge base article, ADC Sample Rate Comparison, with more detailed sample information and test scripts to compare the different MCP2424 ADC chip bits and sample rates.
Unused inputs should be tied to ground.
To sample a higher input voltage, you can use our ADC Pi Input Voltage Calculator to find the additional resistors and calculation values needed.
Code Libraries and Demos
This expansion board has Python, MicroPython, C, C++, Node.JS, .Net Core, Arduino and Home Assistant libraries available to get you started with your next project. You can download all of the libraries from GitHub at:
https://github.com/abelectronicsuk/ or click on the logos below for your selected programming language.
Compatibility
We have tested the ADC Pi on the following platforms.
Model |
Status |
Raspberry Pi Pico series |
|
Raspberry Pi Model A / B |
|
Raspberry Pi 1 Model A+ / B+ |
|
Raspberry Pi 2 Model B |
|
Raspberry Pi 3 Model A+ / B / B+ |
|
Raspberry Pi 4 Model B |
|
Raspberry Pi 5 |
|
Raspberry Pi Zero |
|
Raspberry Pi Zero W / Zero 2 W |
|
Raspberry Pi Compute Module 4 IO Board |
|
Raspberry Pi 400 |
|
Orange Pi |
|
Asus Tinker Board |
|
Odroid |
|