050: High-Accuracy ADC

So far we've been using the Analog Digital Converter that's built into the RP2040, which has been good enough to digitize the pots.  But the PicoADK has a better ADC on board, the (name, specs, etc.)

Why bother using it?  If you try to use the PicoADK to create a voltage-controlled oscillator in an analog synthesizer, you will need to digitize a frequency controlling voltage that is calibrated at 1 volt per octave.  To get reasonably non-painful tuning, you will need an accuracy of better than 5 cents – 1/20 of a semitone, or 1/240 of an octave.  Rounding up to 1/256 of an octave, that means 8 bits of accuracy for every octave, or a solid 10 bits for a four-octave range.

The RP2040's built-in ADC has a nominal resolution of 12 bits, but the effective  resolution is only 8.7 bits (see section 4.9.3 of the RP2040 datasheet) which is good enough to digitize pots, but not good enough for frequency-determining control voltages.



Here we've replaced the internal ADC with the external channels.  For this you will need to move the connections on the pot board to the AD0-AD1 grove connector.


At the point, we've demonstrated all of the hardware on the PickADK board.  Going forward, we will move past "chirp" and look at various sound generating techniques.


NOTE: need to fix bugs: slow ADC SPI down to 12MHz and double-sample to get rid of pipelining problem.


Copyright © 2024 The President and Fellows of Harvard College * Accessibility * Support * Request Access * Terms of Use