10 Bit SPI based Analog to digital converter Breakout


                        Tenet Technetronics introduces MCP3008 Breakout board in which, this device is a successive approximation 10-bit Analog to-Digital (A/D) converter with on-board sample and hold circuitry. The MCP3008 is programmable to provide four pseudo-differential input pairs or eight single-ended inputs. Differential Non linearity (DNL) and Integral Non linearity (INL) are specified at ±1 LSB. Communication with the devices is accomplished using a simple serial interface compatible with the SPI protocol. The device is capable of conversion rates of up to 200 ksps. The MCP3008 device operates over a broad voltage range (2.7V – 5.5V). Low-current design permits operation with typical standby currents of only 5 nA and typical active currents of 320 µA.


                 Teaching the Raspberry Pi how to read analog inputs is easier than you think! The Pi does not include a hardware analog-to-digital converter, but an external ADC (such as the MCP3008) can be used, along with some bit banged SPI code in Python to read external analog devices.

Here is a short list of some analog inputs that could be used with this Breakout board:

  • Potentiometer
  • photocell
  • force sensitive resistor (FSR)
  • temperature sensor
  • 2-axis joystick and many more

Interfacing MCP3008 with 8 different sensors:

                      Here we are interfacing the MCP3008 breakout with 8 analog sensors with raspberry pi and we are making use of all 8 input channels of the the MCP3008 and shown the output in a serial window.




Breakout board Features:

  • 10-bit resolution
  • On-chip sample and hold
  • SPI serial interface (modes 0,0 and 1,1)
  • Single supply operation: 2.7V – 5.5V
  • 200 ksps max. sampling rate at VDD = 5V
  • 75 ksps max. sampling rate at VDD = 2.7V
  • Low power CMOS technology
  • 5 nA typical standby current, 2 µA max