Embedded & hardware
AudioBus
64-channel audio + I/O multiplexing over a single twisted pair.
An ESP-IDF component that carries up to 64 channels of 32-bit audio, plus SPI/I2C/GPIO/MIDI tunneling, over a single Cat5 pair using commodity LVDS transceivers. Daisy-chainable, hot-pluggable, deterministic and zero-jitter.
Background
Multichannel digital audio buses are usually proprietary or expensive — AudioBus is a $2-per-port alternative built on a single SN65LVDT41 LVDS transceiver, only 5 GPIO pins and 8b10b-encoded TDM frames over a Cat5 pair. The slot map is computed once at config time so packing and unpacking are simple memcpys with no allocation, and the ESP32 EMAC stays free for Ethernet or WiFi.
Specifications
- 25 ch/dir @ 48 kHz/32-bit (1-chip), 64 ch/dir @ 491 Mbps (2-chip)
- 8b10b encoded, self-clocking, half-duplex with ~650 ns guard
- Daisy-chain up to 16 nodes, frame timeout / CDR hot-plug detection
- Tunneling: SPI, I2C, 16 GPIO/node, MIDI, sideband sync triggers
- ~21 µs latency per hop · ESP32 EMAC stays free for IP networking
- ~$8 master / ~$14 high-density node BOM
More from Embedded & hardware
-
Self-tuning Si5351Self-calibrating multi-output clock generator.
Si5351A driver and web control surface for the ESP32-P4-Nano, with hardware frequency counting on the PCNT peripheral, three-phase auto-calibration to ~1 ppm, and a background PI controller that compensates crystal thermal drift over hours.
-
RomEMUSPI flash & I2C EEPROM emulator with a real-time web UI.
Turns an ESP32-S3 or ESP32-P4 into a drop-in replacement for common SPI flash and I2C EEPROM chips. Upload images over WiFi or Ethernet, switch slots instantly, and the target boots from PSRAM — no chip flashing required.
-
PARLIO Audio TXI2S, TDM, ADAT and S/PDIF — all from one peripheral.
An ESP32-P4 audio transmitter that creatively repurposes the parallel-IO peripheral as a deep multi-protocol digital audio output. APLL drives the I2S MCLK, the same GPIO is fed back into PARLIO as an external clock, and DMA buffers shift out pre-encoded bit patterns on 16 parallel data lines — synthesizing I2S, TDM-8/16, ADAT and S/PDIF in software.
-
ADAT for ESP32-P48-channel ADAT lightpipe TX/RX in software.
ADAT optical I/O on the ESP32-P4: I2S+APLL generates the exact bit clock for transmit, while the RMT peripheral measures pulse durations from a TOSLINK module to recover the receive clock — no external PLL needed.
-
USB/IP for ESP32-P4Standalone USB/IP server for the ESP32-P4-Nano.
Plug USB devices into an ESP32-P4 (directly or via a hub) and expose them as native USB devices on remote Linux, Windows or macOS hosts — wire-compatible with the standard usbip and usbip-win2 clients.
-
AES67 for ESP32-P4Sub-millisecond AES67 / RAVENNA on a $20 board.
An ESP-IDF component implementing AES67 and RAVENNA-compatible audio-over-IP on the ESP32-P4, with PTP slave/grandmaster, ISR-driven DMA playback and a Layer-2 RTP hook that bypasses lwIP entirely.