I know that MCP 3008 can provide sampling rate around 100Ksps. I'm looking to connect ADC with sampling rate least 3Msps.

  • Yes, both SPI and I2C of Raspberry allow you such speed.
    – Eddy_Em
    Jan 12, 2016 at 18:27
  • There is a chapter in the following free book on the Pi that describes ADC connection of various ADC components to the Pi including the ADC0832, the MCP3208, ADS1015 and Arduino. The book can be found here: leanpub.com/pi (Disclosure: I am the author)
    – Kolban
    Feb 12, 2016 at 1:17

2 Answers 2


If your ADC would operate with it's own memory you could operate it with RPI. Problem is not the RPI itself but the fact that you're probably not running RtOS on it.

More is explained in this post: Is Pi powerful enough for an oscilloscope project?


It depends on the ADC and how it stores/transmits samples.

You would need a SPI device as the I2C bus at 400 kbps simply doesn't have the bandwidth.

SPI you could drive at circa 30 Mbps.

However another limitation is in the Linux SPI driver itself. On the Pi you can only make circa 20 k calls per seconds to the SPI driver. If each call can only get one sample than you will be limited to 20 ksps, far short of the desired 3 Msps.

If you bypass the Linux SPI driver you might get 100 k calls per second, so 100 ksps if each call can only provide one sample.

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.