The ADC Pi Zero is an 8 channel 17 bit analogue to digital converter designed to work with the Raspberry Pi Zero. The ADC Pi Zero 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.
We designed the ADC Pi Zero 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 Zero 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.
Introduction:
The ADC Pi Zero is powered through the host Raspberry Pi Zero using the GPIO port and extended pins on the GPIO connector allow you to stack the ADC Pi Zero 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 Zero 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 Zero you can stack up to 4 ADC Pi Zero boards on a single Raspberry Pi Zero 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 Comparisonwhich 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.
If you want to sample a higher input voltage you can use our ADC Pi Input Voltage Calculator to find the additional resistors and calculation values needed.
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 Zero contains two MCP3424 chips so you can stack up to 4 ADC Pi Zero boards on a single Raspberry Pi. To simplify address selection on the ADC Pi Zero 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 Zero and the associated I2C addresses.
Note:
Disconnect the ADC Pi Zero 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
Adr 0 |
Adr 1 |
I2C Address |
Low or Float |
Low or Float |
0x68 |
Low |
Float |
0x69 |
Low |
High |
0x6A |
Float |
Low |
0x6B |
High |
Low |
0x6C |
High |
Float |
0x6D |
High |
High |
0x6E |
Float |
High |
0x6F |
Warning
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 Zero board.
Recommended Address Configurations
Configuration 1:
Analogue Channels 1-4 = I2C Address: 0x68
Analogue Channels 5-8 = I2C Address: 0x69
Configuration 2:
Analogue Channels 1-4 = I2C Address: 0x6A
Analogue Channels 5-8 = I2C Address: 0x6B
Configuration 3:
Analogue Channels 1-4 = I2C Address: 0x6C
Analogue Channels 5-8 = I2C Address: 0x6D
Configuration 4:
Analogue Channels 1-4 = I2C Address: 0x6E
Analogue Channels 5-8 = I2C Address: 0x6F
Datasheets
MCP3424
Compatibility Chart
Raspberry Pi Model A |
No |
Raspberry Pi Model B |
No |
Raspberry Pi 1 Model A+ |
Yes |
Raspberry Pi 1 Model B+ |
Yes |
Raspberry Pi 2 Model B |
Yes |
Raspberry Pi 3 Model B |
Yes |
Raspberry Pi Zero |
Yes |
ODroid C1 |
Yes |
ODroid C2 |
Yes |