The ADC Pi Plus is an 8 channel 17 bit analogue to digital converter designed to work with the Raspberry Pi A+, Raspberry Pi B+ and Raspberry Pi 2 Model B. The ADC Pi Plus 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.
The ADC Pi Plus is available as a kit version where you need to solder the header and address pins yourself.
Not sure which ADC you need ? Check our Analogue to Digital Buyers guide to compare our ADC expansion boards.
We designed the ADC Pi Plus 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 Plus board brings the input voltage range to a much more useful 0 – 5.06V. In this configuration the sample size is 17 bits for each channel.
The ADC Pi Plus 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 Plus along with other expansion boards.
The two MCP3424 A/D converters communicate via i2c to the host Raspberry Pi giving you eight analogue inputs to use. A logic level converter is included on the ADC Pi Plus 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 on-board 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 an on-board 2.048V reference voltage with an input range of ±2.048V differentially (full scale range of 4.096V/PGA). A programmable Gain Amplifier gives 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 software using the I2C interface.
We have a knowledge base article, ADC Sample Rate Comparison which has more detailed sample information and test scripts to compare the different MCP2424 ADC chip bit and sample rates.
Unused inputs should be tied to ground.
I2C Address Selection
The MCP3424 analogue to digital converter contains two address select pins which can be tied to Vss, Vdd or left floating. This gives 8 possible I2C addresses for each chip. The ADC Pi Plus contains two MCP3424 chips so you can stack up to 4 ADC Pi Plus boards on a single Raspberry Pi. To simplify address selection on the ADC Pi Plus we have included a set of address selection pins which can be configured using the included jumpers. The illustrations below show the four recommended configurations for your ADC Pi Plus and the associated I2C addresses.
Disconnect the ADC Pi Plus from the Raspberry Pi before changing the address pins. You may need to short the 5V and ground with a resistor to discharge the capacitors in order for the new addresses to be recognised.
I2C Address Table
|Low or Float
||Low or Float
Do not under any circumstanced connect the two centre pins together. This will create a direct short between the 5V and ground pins and will damage or destroy your Raspberry Pi and ADC Pi Plus board.
Recommended Address Configurations
Analogue Channels 1-4 = I2C Address: 0x68
Analogue Channels 5-8 = I2C Address: 0x69
Analogue Channels 1-4 = I2C Address: 0x6A
Analogue Channels 5-8 = I2C Address: 0x6B
Analogue Channels 1-4 = I2C Address: 0x6C
Analogue Channels 5-8 = I2C Address: 0x6D
Analogue Channels 1-4 = I2C Address: 0x6E
Analogue Channels 5-8 = I2C Address: 0x6F
|Raspberry Pi Model A
|Raspberry Pi Model B
|Raspberry Pi 1 Model A+
|Raspberry Pi 1 Model B+
|Raspberry Pi 2 Model B
|Raspberry Pi 3 Model B
|Raspberry Pi Zero
- 8 x 17-bit 0 to 5V Single Ended Inputs
- Control via the Raspberry Pi I2C port
- Stack up to 4 ADC Pi V2 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
Input Ratings & Specifications
|Vdd (5V pin on I2C bus)
|All AD inputs and outputs
||VSS–0.4V to VDD+0.4 V
|Current at Input Pins
|I2C SDA/SCL voltage
|I2C port current
Kit Version Assembly Instructions
The ADC Pi Plus Kit Version is supplied with the 40 pin GPIO connector and the 12 pin address connector unsoldered.
Before using the ADC Pi Plus Kit Version you will need to solder both connectors onto the PCB. We suggest soldering the 40 pin GPIO connector first and then the address select connector. Soldering the address select connector first will make it difficult to access the three corner pins on the GPIO connector.
Watch the assembly video, best viewed in 1080p high quality mode:
Click to download schematic PDF.
Click image to enlarge
We have Arduino, C, Windows 10 IOT, Python 2 and Python 3 libraries available for this expansion board. You can download all of the libraries from github at:
Download the Arduino libraries from: https://github.com/abelectronicsuk/ABElectronics_Arduino_Libraries
To download the C libraries to your Raspberry Pi type in terminal:
git clone https://github.com/abelectronicsuk/ABElectronics_C_Libraries.git
To download the Python 2 libraries to your Raspberry Pi type in terminal:
git clone https://github.com/abelectronicsuk/ABElectronics_Python_Libraries.git
To download the Python 3 libraries to your Raspberry Pi type in terminal:
git clone https://github.com/abelectronicsuk/ABElectronics_Python3_Libraries.git
Download the Windows 10 IOT libraries from: https://github.com/abelectronicsuk/ABElectronics_Win10IOT_Libraries/
We have a range of tutorials for the ADC Pi and ADC Pi Plus in our Knowledge Base
PCB Header Assembly Jig
Download and print our PCB Header Assembly Jig to hold your circuit board when soldering the header pins.
Legacy ADC Pi Versions
See our KB article for previous versions of this board.
Related Knowledge Base articles
This development board/kit is intended for use for ENGINEERING DEVELOPMENT, DEMONSTRATION, OR EVALUATION PURPOSES ONLY and is not considered by abelectronics.co.uk to be a finished end-product fit for general consumer use. As such, the goods being provided are not intended to be complete in terms of required design-, marketing-, and/or manufacturing-related protective considerations, including product safety and environmental measures typically found in end products that incorporate such semiconductor components or circuit boards. Persons handling the product(s) must have electronics training and observe good engineering practice standards. This development board/kit does not fall within the scope of the European Union directives regarding electromagnetic compatibility, restricted substances (RoHS), recycling (WEEE), FCC, CE or UL, and therefore may not meet the technical requirements of these directives or other related directives.