Creative Commons images are CC BY-NC-SA 3.0

Description: The MCP3002 has a 10-bit analog to digital converter (ADC) with a simple to use SPI interface. Use this IC if your microcontroller does not have an ADC or have enough ADC lines. A great chip when you need to add additional ADC lines.


  • 2.7V to 5.5V supply
  • 10-bit resolution
  • 8-pin DIP package
  • 3 wire SPI interface
  • Up to 75,000 samples per second
  • Low power shutdown


Recommended Products

Customer Comments

  • I want to use this chip with the ESP 8266 Dev Board which lacks a sufficient 0-5v ADC. Is there a library for use with this chip? I have never used an SPI device without a library…How does one go about doing this?

  • You should stock a more precise version, 16 bit or something, and with an external Reference.

  • Not mentioned in review, this is a dual ADC. One IC gives you 2 analog lines

  • Are there any tutorials or examples of this in use? Specifically, I would like to achieve the maximum sampling rate on both inputs when used with an arduino. I’ve got a lot of samples to take, then compress, then send over a bluetooth connection. Think HUGE multi-touch mousepad!

  • will there be a BOB for this?

    • its a DIP. do you really need a breakout board for one

      • I would enjoy a breakout board for interfacing with jumper cables. A standardized 8 pin breakout board is what we are looking for.

  • Could i use to say, convert the analog uadio input from an headphone socket to something usable by the arduino?

  • 75 000 samples per second @ 2.7V, 200 000 @ 5V.

  • I’d love to see this in the SparkFun Eagle library.

  • Is it possible to daisy chain multiple MCP3002 chips together?

  • Datasheet PDF wont load or download. Broken ?

  • Help Please. I have tried bit-banging and the SPI lib. I’ve found some code for the 3008 and tried to modify that. I’ve tried it with all diff wiring configs. Used 2 Uno’s and a Uno32 with 3 diff 3002’s. Can you post any code? I’ll even take .NET written for an ARM with good documentation.

  • Could you use this to transmit a raw analog feed (like video, audio, resistor values) over a serial modem and (not using this one of course) have them converted back to analog.

    • You’d need a microcontroller to interface with the ADC and spit out “normal” serial data, but yeah that should work. It won’t have a high enough sampling rate to decode video, however. At least not standard composite video.

Customer Reviews

5 out of 5

Based on 1 ratings:

5 star
4 star
3 star
2 star
1 star

6 of 6 found this helpful:

Works great

It’s easy to use, the datasheet is excellent, and it is much faster that the built-in ADC on the Arduino. Just note that that it needs a low resistance source (see pages 11-12 of the datasheet for details), so use an op-amp if your source has high resistance, especially if you’re sampling very quickly.