// RadioSonic by SigPro Labs
RadioSonic is a portable, low-cost ESP32-S3 platform for hands-on DSP education: real filters, real audio, and wavelength-consistent SDR demos in the acoustic domain. No RF license required.
// open source hardware · hands-on DSP · free shipping* //
*Orders $39+ · continental US only
RadioSonic Signal Processing Platform · Rev 2
// platform
Onboard mics at 30 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 between dual 24-bit ADC in and dual 24-bit DAC out.
DMA framework included. Lessons slot in as self-contained C include files, with no low-level driver work required, and no programming expertise required to run.
Post-processing in Python. Notebooks allow waveform processing 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 firmware provides real-time DMA streaming between dual 24-bit ADC and DAC. Each lesson is a drop-in processing block where students work at the algorithm level, not the driver level. The topics below span current and future courses; the first two bullets are covered in Digital Filters.
// 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.
This 4-week course provides hands-on experience with signal processing of audio waveforms on the RadioSonic platform. Pre-recorded lessons are released each week that students watch on their own schedule prior to live Q&A sessions with the instructors.
Next course start date: to be announced
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.
No prior C coding experience is required. Students will modify and recompile C code at the functional level, focusing on signal processing concepts rather than embedded software infrastructure.
To support returning students, the hardware must be purchased separately.
Enrollment date: to be announced
Enroll nowThe 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.
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.
No prior C coding experience is required. Students will modify and recompile filter code at the functional level, focusing on signal processing concepts rather than embedded software infrastructure.
To support returning students, the hardware must be purchased separately.
Availability date: to be announced
Enroll now// already enrolled
Access your course
Log in to Moodle to continue where you left off.
// 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, Raspberry Pi HAT form factor, and RadioSonic firmware.
Board + self-paced course + Audio Cable Kit + Battery Pack. Everything you need to get started on day one.
Adds two electret condenser microphones. Stack up to two expansion boards per RadioSonic for a full 6-mic beamforming array.
Two 3.5 mm stereo cables, one USB-C to USB-A cable, one USB-A female to USB-C adapter. All the cables you need 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 signal processing skills useful for real-world applications.
Your cart is empty.
Add a product to get started.