Adding CircuitPython support for PICO dv

I’ve created a branch of CircuitPython with the board and pin definitions for the Pimoroni PICO dv board.

I’ve built CircuitPython using this update and the DVI output, SD Card and I2S audio all seem to work well.

I’m not sure what Adafruit’s policy will be with respect to adding a “demo base” like this as a board since my update will only work if an RP2040 based board is installed as apposed to something like an ESP32-S2 board with a Pico form factor.

But before I submitted the PR asking Adafruit if this approach was appropriate, I thought I should run it by someone at Pimoroni and see if you had any objections to me submitting the PR or perhaps you would prefer to look over/update my attempt at the PR and submit it yourselves.

Thanks!
RetiredWizard

Here is the test script I ran which mounts an SD card from which you can play a .WAV file by entering “/sd/filename.wav” when prompted.

Using the “absolute newest” version of CircuitPython (8.1.0 Beta 1) and the board updates from above plugging in an HDMI monitor results in REPL output being displayed. The board.DISPLAY object can be used normally with the displayio, adafruit_turtle, gifio, etc… libraries.

import board
import bitbangio
import adafruit_sdcard
import digitalio
import storage
import audiocore
import audiobusio
fname = input("Filename:")
spi = bitbangio.SPI(board.SD_SCK,board.SD_MOSI,board.SD_MISO)
cs = digitalio.DigitalInOut(board.SD_CS)
sd = adafruit_sdcard.SDCard(spi,cs)
vfs = storage.VfsFat(sd)
storage.mount(vfs,'/sd')
f = open(fname, "rb")
wav = audiocore.WaveFile(f)
a = audiobusio.I2SOut(board.I2S_BCLK, board.I2S_OUT, board.I2S_WS)
try:
    a.play(wav)
    while a.playing:
        pass
except:
    pass
f.close()
a.deinit()
1 Like

Ooh - the CircuitPython DV stuff looks really cool, looking forward to playing with that.

I’ve dropped you a DM :)

I also have a number of “ready for PR” board definitions for Pimoroni products. Currently for the Badger2040w, the Plasma2040w, InkyFrame 5.7 (WIP).

You can find the UF2 for the Pico DV Base using a Pi Pico on the Circuitpython.org download page now.

It doesn’t work yet with a Pico W but I’m hoping that I’ll work that out eventually as well.

1 Like