Going into this 20Msps to 40Msps pHAT for Raspberry Pi

A project log for 20Msps+ ADC RaspberryPi HAT

Always wanted to have Msps ADCs on a Raspberry ... Let's dig into it.

kelu124kelu124 05/18/2017 at 20:110 Comments

Problem and solution!

Problem was that the Pi0 or PiW, with the current kernel module, can't run faster than around 10 to 12 Msps. Clock can be faster, but the memcpy limits the transfer to memory. Soooo.. what can we do? As a reminder, I wanted at least a 10Msps 10bit ADC.

Solution Why not interleaving two ADCs, with clocks in opposite phase? Hum that means 2 times 10 bits, and I had only 18 pins left once the Ultrasound SDK board connected. That means.. quite obviously, 2 times 9 bits.

So now I can run at twice the speed of the transfer, so a bit over 20Msps, over this time 9 bits. Or by oversampling, that could be 10Msps at 10 bits. With more flexibility !


At least for the moment, now I need to order the PCBs and some components.

-> BOM is around 30$ components, 5$ OSHPark PCB.. that's quite neat.