Characterizing the Raspberry Pi Pico ADC
The RP2040 datasheet has a woefully underspecified Analog to Digital Converter, only 3 lines.
Compare this to the Digital IO Characteristics (Table 631); it has 18 lines! And ADCs have much more complexity and nuance than a Digital IO (however, Digital IO blocks have surprising complexity).
In this project, I explained different ADC specifications, how they can be characterized, and the results of those tests on the PR2040.12
During this project, I found some issues and inconsistencies with the ADC:
The biggest thing is that the ADC has some significant DNL issues. It looks like those were caused by a systematic error in the capacitors for the DAC portion of the SAR ADC.
1 Square Inch 20msps Oscilloscope
For the Return of the Square Inch Project, James Rowley and I designed a PIC32MZ based oscilloscope that is only 1" by 1" including an OLED screen.
This project is designed around a PIC32MZ EF processor. We use its internal ADCs in an interleaved mode in order to get the full 20Msps.