What Is the MCP3008? 8-Channel SPI ADC (Raspberry Pi) and Uses
The MCP3008 is an 8-channel 10-bit ADC with an SPI interface. It is used mainly to add analog reading (potentiometers, LDRs, sensors) to the Raspberry Pi, which has no built-in ADC. 10-bit resolution gives 0–1023 steps; readings are relative to the VREF pin.
The MCP3008 is an 8-channel, 10-bit ADC (analog-to-digital converter) with an SPI interface. It is the most common way to add analog reading to boards that lack ADC inputs (especially the Raspberry Pi). For the concept, see what is an ADC.
What is the MCP3008 used for?
Reading potentiometers, LDRs, voltage dividers and analog sensors on boards with no analog input, like the Raspberry Pi. With 8 channels it measures many analog signals from one chip. 10-bit resolution gives 0–1023 steps.
Specifications
| Parameter | Value |
|---|---|
| Channels | 8 (single-ended) / 4 (differential) |
| Resolution | 10-bit (0–1023) |
| Interface | SPI |
| Supply | 2.7 – 5.5 V |
Watch out
The measurement reference is the VREF pin; readings are relative to VREF, so a stable reference matters. The SPI lines (CLK/DIN/DOUT/CS) must be wired correctly. For more precise measurement the 16-bit I²C ADS1115 can be considered.
Equivalents
- MCP3208: the 12-bit version of the same family.
- ADS1115: 16-bit I²C ADC (4 channels).
- PCF8591: 8-bit I²C ADC+DAC.
Find it in our catalog
Use the MCP3008 search.