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.

Built With

Share this project:

Updates

Submission history