← back to work

AuraScope

// personal project · built in public · in progress

WIRELESS2× nRF5340 · Auracast (LC3)
HOSTArty Z7-20 · Zynq-7000 · Yocto
OBSERVABILITYkernel char driver + eBPF
STATUSshipping step by step

The idea

Take a Bluetooth LE Audio (Auracast) broadcast, receive it on an nRF5340, and present the receiver to a Zynq-7000 Linux host as a plain USB sound card. Then make the whole audio pipeline observable two different ways — from inside the kernel with a character driver I write, and from outside with eBPF — and surface the data in a small live dashboard.

The point isn't just the gadget. It's to build it as a series of small, self-contained, publishable steps that each teach one thing and each leave a tagged commit behind — so the repo history itself tells the story from first boot to full integration.

nRF5340 #1 nRF5340 #2 Arty Z7-20 (Zynq-7000) [Auracast TX] --BLE--> [RX → USB UAC] --USB--> [ snd-usb-audio → ALSA ] Zephyr/LC3 Zephyr/LC3 | +-------------+--------------+ | char driver (/dev/audiomon) | in-kernel | eBPF probes (kprobes) | external | live dashboard (userspace) | output +-----------------------------+

Why it's worth reading

The build, step by step

Each step links to its own write-up as it ships. Greyed steps are planned but not yet published.

Phase 1 — Foundation: Linux on the Zynq

01

Phase 2 — Wireless audio: nRF5340 & Auracast

Phase 3 — Observability: kernel module & eBPF

Phase 4 — Integration & publish

Phase 5 — Advanced (bonus): I2S / FPGA audio path

// tap a lit step to read it · greyed steps are planned, not yet published

Repo

Source and tagged history: github.com/a-teresa  (repo link to be set)