# 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
Click the image to open interactive version in Paul Falstad's excellent online simulator.
## Screenshots
Please note that all these are with **AMS-1117** linear voltage regulator replacing the stock switched regulator on Pico. This is done by jumpering `3V3_EN` pin to `GND`, feeding `VSYS` to the regulator input and passing the regulator output to `3V3` pin. The `3V3` rail is then decoupled with `10uF` ceramic capacitor to `GND` on the analog board.
Noise Floor
IR Blast, full rate
IR Blast, tuned at 38 kHz