// RadioSonic by SigPro Labs
RadioSonic is a portable, low-cost ESP32-S3 platform for hands-on digital signal processing education, operating in the acoustic domain, no RF license required.
// open source firmware · no RF license required · ships in 2 days
RadioSonic Signal Processing Platform · Rev 1.2
// platform
Onboard mics at 35 mm spacing, expandable to 6 via codec port, for beamforming and angle-of-arrival demos.
TLV320AIC3204 codec with stereo line in, line out, and headphone out. Real-time DMA ping-pong buffering.
DMA framework included. Lessons slot in as self-contained C include files, with no low-level driver work required.
Post-processing in Python. Notebooks expose code for curious students; no programming expertise required to run them.
Creative approach for wavelength-consistent SDR-style experiments using audio-frequency propagation.
Ample memory for audio recording, long filter pipelines, and buffering experiments. Wi-Fi enables PC streaming.
// firmware
The open source firmware provides real-time DMA sample streaming between ADC and DAC. Each lesson is a drop-in processing block that students implement directly, working at the algorithm level rather than wrestling with drivers or hardware setup.
// Direct Form I biquad: y[n] = b0·x[n] + b1·x[n-1] + b2·x[n-2] // - a1·y[n-1] - a2·y[n-2] // Coefficients loaded from shared state; ch 0 = L, ch 1 = R. const float b0 = g_state.biquad.b0, b1 = g_state.biquad.b1, b2 = g_state.biquad.b2; const float a1 = g_state.biquad.a1, a2 = g_state.biquad.a2; const float k = g_state.biquad.k; // overall gain scalar // Left channel — apply difference equation, then shift delay lines yL = b0*xL + b1*g_df1.x1[0] + b2*g_df1.x2[0] - a1*g_df1.y1[0] - a2*g_df1.y2[0]; g_df1.x2[0] = g_df1.x1[0]; g_df1.x1[0] = xL; // x[n-2] <- x[n-1] <- x[n] g_df1.y2[0] = g_df1.y1[0]; g_df1.y1[0] = yL; // y[n-2] <- y[n-1] <- y[n] yL *= k; // Right channel — identical structure, independent delay lines yR = b0*xR + b1*g_df1.x1[1] + b2*g_df1.x2[1] - a1*g_df1.y1[1] - a2*g_df1.y2[1]; g_df1.x2[1] = g_df1.x1[1]; g_df1.x1[1] = xR; g_df1.y2[1] = g_df1.y1[1]; g_df1.y1[1] = yR; yR *= k;
// courses
Built for working engineers and students who have completed an undergraduate Signals and Systems course and want to go deeper — implementing filters at the core functional level on real hardware, not through library calls.
An intensive two-day weekend course (4 hours per day) combining pre-recorded video with live instructor Q&A. Day 1 works through hands-on demos using precompiled firmware via the RadioSonic interface. Day 2 opens up the code — students see the actual FIR and IIR implementations and, in the final live session, recompile firmware with their own custom changes.
Lab exercises cover convolution, correlation, FIR design (low pass, high pass, band pass), and IIR biquad filters, all using real audio signals on the board. Jupyter Notebooks accompany each topic for deeper exploration.
The complete course in video form — all demos, lab exercises, and Jupyter Notebooks from the guided cohort, available on your own schedule. Covers FIR and IIR filter design from the ground up: convolution, correlation, low/band/high pass filters, and biquad notch filters, all implemented in C on the RadioSonic platform.
Detailed C coding experience is not required. Students modify and recompile filter code at the functional level, focusing on signal processing concepts rather than embedded software infrastructure.
// hardware
All RadioSonic hardware is designed to be affordable, durable, and immediately useful in the classroom or at a lab bench.
ESP32-S3 board with TLV320AIC3204 codec, onboard microphones, Wi-Fi, USB, and HAT form factor.
Board + self-paced course + accessories. Everything you need to get started on day one.
Adds four additional MEMS microphones for a total of 6-mic beamforming array configurations.
3.5 mm stereo cables, BNC adapters, and patch leads for connecting external audio sources and sinks.
Rechargeable lithium polymer pack for portable, untethered classroom and field operation.
Low-profile ABS snap-on enclosure with cutouts for all connectors. Keeps the board safe in a backpack or lab kit.
Join engineers and students using RadioSonic to build real signal processing skills — not just theory.