Skip to content
Weeb Labs
CommercialRP2040RP2350

Picorder

Eight channels of digital audio from I2S, SPDIF, ADAT, TDM or PDM into any computer. No drivers.

8
channels in

over one optical fibre, driverless

Picorder receives a digital audio stream — S/PDIF, I2S master, I2S slave on one to four stereo data lines, or an eight-channel ADAT lightpipe — and hands it to a USB host as a class-compliant USB Audio Class 1.0 recording device. There are no drivers to install on macOS, Windows or Linux. It simply appears.

Which input is active, on which GPIOs, how many stereo lines it captures and at what USB wire depth is all runtime configuration. A small vendor control interface lets a host tool switch inputs, move pins and change the USB audio format without reflashing, and the settings persist to flash. Changing the format makes the device re-enumerate itself — no replug.

Whatever the source, the audio is captured without any resampling. A rate-matching servo adapts the USB data rate to the input clock by varying the isochronous packet size each frame. And if a source-clocked input is locked at a rate the host did not select, Picorder streams silence and raises a status flag rather than quietly playing your audio back at the wrong pitch.

Highlights

  • Four selectable inputs: S/PDIF, I2S master, I2S slave, ADAT lightpipe
  • 2 to 8 channels of PCM at 16 or 24-bit, 44.1 to 96 kHz
  • No resampling — an implicit-feedback servo matches USB to the input clock
  • USB descriptors are built at runtime; format changes re-enumerate, no replug
  • A rate mismatch is muted and flagged, never pitch-shifted
  • Same sources and same behaviour on both Pico and Pico 2

Specifications

Class
USB Audio Class 1.0 capture — no host drivers
Channels
2 / 4 / 6 / 8 · 16 or 24-bit
Rates
44.1 / 48 / 88.2 / 96 kHz
S/PDIF in
Stereo, bi-phase-mark decoded in PIO
I2S in
1–4 stereo lines, shared BCK/LRCLK, master or slave
ADAT in
8 ch @ 44.1/48 kHz (6 ch at 24-bit) · slave only, no SMUX
Clocking
307.2 MHz system clock — exact at 48/96 k, ±2 ppm at 44.1/88.2 k
Configuration
Vendor control interface on EP0, persisted to flash
Boards
Raspberry Pi Pico (RP2040) and Pico 2 (RP2350)

Also from Weeb Labs