I would like to kindly ask if Raspberry Pi 3 can receive an analog signal directly without using an external ADC? and if I do need an external ADC, what is the best ADC that can I use to have the highest data transfer rate up to 1MSamble/Sec

  • What is best? Maxim alone has 469 ADCs for <5 Msps. What's best really depends on your application.
    – Ghanima
    Commented Jul 17, 2016 at 21:39
  • Even at 6 bits of resolution, that's 6 Mbps -- as joan implies, the only possibility for doing this on the Pi would be via USB, so that's a further qualification.
    – goldilocks
    Commented Jul 17, 2016 at 21:50
  • ADC also has the concept of resolution ... for example, I have commonly seen 8 bit, 10bit and 12bit resolution. The resolution will likely dictate your choice of ADC choice. I think it would also be helpful to understand what it is you are sampling and the frequency with which you need to sample.
    – Kolban
    Commented Jul 17, 2016 at 22:16

2 Answers 2


The Raspberry Pi has no analogue GPIO.

Therefore you need to buy an ADC.

You need to research the best ADC for yourself but I find it unlikely you will manage 1 Msps on the Pi.


As per previous answers, RPi's do not have an ADC. There are a number of ways that it can be done, but they all involve an external module or add-on circuit of some kind. What needs to be implemented depends on what you want to measure. For example, if it is for a weather station, you ony need one sample per minute rather than several per second. Common sense needs to prevail.

One effect that needs to be considered for A to D conversion is what is called "aliasing". This is where the sample rate is too low to accurately represent the signal because the signal changes in between samples. As a general rule, the sample rate needs to be at least twice the signal rate, and ideally up to 10 times the signal rate to be accurate. For example, to measure a 50Hz mains power waveform, you need to measure at a minimum of 100 times per second (which will look almost like a square wave), but to accurately represent it needs 500 samples per second. An audio signal with 16KHz tones will require at least 32KHz sample rate etc.

So the question is - what are you sampling? If you truly require this sort of sample rather, it is beyond the normal abilities of the RPi.

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.