Sigma-delta ADC demo for Raspberry Pi Pico using PIO
Find a file
2025-06-19 23:25:08 +02:00
etc Initial import - audio output 2025-06-15 22:02:02 +02:00
grc Rename to pico-pio-adc and clean up 2025-06-19 23:25:08 +02:00
images Rename to pico-pio-adc and clean up 2025-06-19 23:25:08 +02:00
src Rename to pico-pio-adc and clean up 2025-06-19 23:25:08 +02:00
.gitignore Initial import - audio output 2025-06-15 22:02:02 +02:00
.gitmodules Initial import - audio output 2025-06-15 22:02:02 +02:00
LICENSE Rename to pico-pio-adc and clean up 2025-06-19 23:25:08 +02:00
README.md Rename to pico-pio-adc and clean up 2025-06-19 23:25:08 +02:00

Pico PIO ADC

Sigma-delta ADC demo for Raspberry Pi Pico using PIO.

Building

  1. You need to have PICO_SDK_PATH set.
  2. Just run cmake -B build src to configure the project.
  3. And then cmake --build build to build it.
  4. Flash the firmware via picotool load -f build/pico-pio-adc.uf2.

GNU Radio Companion

The GNU Radio Companion examples work with a FIFO that receives the stream from the serial. Build creates a simple tool to move the bytes around, so you can do this:

mkfifo samples.fifo
build/tools/serial /dev/ttyACM1 >samples.fifo

Then GRC can grab the samples.

If you tire of having to start the serial tool manually, you can do this:

watch -n1 'build/tools/serial /dev/ttyACM1 >samples.fifo'

This restarts it in a second once it quits.

Circuit

Circuit Schema

Click the image to open interactive version in Paul Falstad's excellent online simulator.

Screenshots

Noise Floor
IR Blast, full rate
IR Blast, tuned at 38 kHz