Inspiration
Over 2.6 billion students and rural learners attend schools or community centers where cellular data and Wi-Fi are intermittent, congested, or unavailable. Yet almost every student device - even a decade-old budget Android phone or Chromebook - has a speaker and a microphone. We built AirCast to turn any speaker-to-microphone acoustic channel into a zero-hardware, offline-first data and multilingual educational broadcast modem.
What it does
- Dual-Band MFSK Acoustic Modem: Transmits digital frames over Web Audio API using 8-ary Multiple Frequency-Shift Keying (MFSK) across an Audible Robust Band (1,500-3,600 Hz) and a Near-Ultrasonic Band (17,200-19,650 Hz) at 48 kHz sample rate.
- Hamming(7,4) Forward Error Correction + CRC-16-CCITT: Encodes every nibble with a systematic
[7, 4, 3]Hamming code that automatically corrects single-bit acoustic burst errors per symbol and verifies frame integrity via CRC-16-CCITT (0x1021). - Sliding-Window Goertzel Demodulator & Chirp Frame Sync: Uses matched-filter linear chirp preamble correlation (
1,200 -> 2,800 Hz) and bank-of-8 Goertzel resonators for O(N) tone energy extraction. - Live 60 FPS Waterfall Spectrogram & BER Lab: Visualizes real-time FFT spectrum, Goertzel symbol constellation, Hamming syndrome corrections, and simulated AWGN + multipath classroom reverberation channels.
- Multilingual Offline Broadcast Cards: Includes compact STEM lesson cards, emergency weather alerts, and quiz packets in English, Spanish, and Hindi.
How we built it
We built AirCast in pure dependency-free ES2022 JavaScript (js/modem-dsp.js, js/spectrogram.js, js/app.js) using the browser Web Audio API (AudioContext, OscillatorNode, AnalyserNode) and HTML5 Canvas. We validated the DSP pipeline with an automated test and benchmark suite (test.js, 19/19 tests passing).
Challenges we ran into
Acoustic multipath reflections off classroom walls and desks create frequency-selective fading. We solved this by spacing MFSK tone bins orthogonally at integer multiples of the symbol rate and adding systematic Hamming(7,4) nibble FEC so single-tone fades are corrected before CRC validation.
Accomplishments that we're proud of
Achieving 100% frame delivery at 12 dB SNR under simulated classroom AWGN and reverberation while keeping the entire application under 80 KB with zero external runtime dependencies.
What we learned
Matched-filter chirp preambles combined with Goertzel resonator banks outperform full FFT frame synchronization on low-power devices while using a fraction of the CPU budget.
What's next for AirCast
Adding Reed-Solomon outer block coding for multi-packet file transfer and adaptive tone masking around room HVAC noise floors.