I am interested in obtaining an ADC (Analog to Digital Converter) or Analog input for the Raspberry Pi. I understand that various boards exits to use an Arduino as input to the Pi and that Libellium has an arduino-like adapter containing Analog inputs as well as in theory the I2C and SPI interfaces possible with ADC chips. Does anyone have a daughter board with multiple ADC inputs, and/or is their a software library for any of the available USB data capture devices that would meet this neet without considerable interfacing expertise and level shifting?

3 Answers 3


A good starting point is adafruit's tutorial at http://learn.adafruit.com/reading-a-analog-in-and-controlling-audio-volume-with-the-raspberry-pi/overview. Adafruit also has breakout boards for the RasPi to make things a little easier... This post is also useful: How can I connect an analog to digital converter (ADC)?

The MCP3008 seems to be one of the more popular ADC's for the RasPi and it uses the SPI interface for communications

If you want to attach an Arduino via USB and read out its ADC's check this posting: How to attach an Arduino?


Another alternative is the PCF8591 which uses the I2C bus. It's only 8bit vs the MCP3008 (10bit) but with the PCF8591 you only have to use 2 pins (SDA/SCL) vs the 5 pins of the SPI (MOSI/MISO/CLK/CE0/CE1) (really 4 for I2C and 7 for SPI including the VCC and GND pins) so if you need the extra pins and are ok with the 8bit vs 10bit, check out the PCF8591.


Another option (for the ones needing a bit more precison and willing to pay a bit more) is the ADS1256, have been using it on a commercial product of mine for a while, works pretty well. How can Rpi read ADS1256 ADC Data

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.