Hands-on, browser-based labs for sensing systems — acoustics, radios, cameras, and motion. Pick a concept, open it in your browser, and play with the math behind it.
Sensors
Live data straight from this device’s microphone, camera, or motion sensors — or from a paired phone.
Tone & Spectrum
Generate a sine tone through your speakers and watch the live FFT of what your microphone hears.
OpenTone & Spectrum · Remote
Pair your phone via QR code. The phone is the speaker and microphone; this laptop displays the spectrum.
OpenBack Camera
Use this device’s rear camera directly. Live feed plus per-channel red, green, and blue averages, all on-device.
OpenBack Camera · Remote
Pair your phone via a 4-digit code and stream its rear-facing camera live to this laptop over WebRTC.
OpenFront Camera
Use this device’s front-facing (selfie) camera directly. Live feed plus pose tracking, breathing waveform, and RGB averages, all on-device.
OpenFront Camera · Remote
Pair your phone via a 4-digit code and stream its front-facing (selfie) camera live to this laptop over WebRTC.
OpenIMU
Stream this device's own accelerometer, gyroscope, and magnetometer to live charts. No pairing required.
OpenIMU · Remote
Pair your phone via QR code and stream its accelerometer, gyroscope, and magnetometer to live charts here.
OpenWireless & Networking
Watch radio behavior at the link layer — from raw signal strength to channel-access protocols.
Wi-Fi RSSI
Connect this laptop to your phone's hotspot, run the local helper, and watch the radio signal track in real time as you move the phone.
OpenSLIP
Watch the simplest framing protocol in action: one byte means “end,” one byte rescues that meaning when it appears in your data. See exactly how byte stuffing turns a payload into a self-delimiting frame.
OpenCOBS
Replace every zero in your payload with a forward-pointer to the next zero. The result has exactly one 0x00 — at the end, marking the frame boundary — with overhead bounded at 1 byte per 254. See the linked list of pointers form.
MAC Protocols
Simulate a shared radio channel under ALOHA, slotted ALOHA, CSMA, and p-persistent CSMA. Watch successes, collisions, and the throughput curve in real time.
OpenCAN Bus Arbitration
Watch three ECUs fight for one wire, bit by bit. The wired-AND bus turns the collision into a priority auction — lowest ID wins, no bits lost.
OpenEmbedded & Real-Time
How firmware shares one CPU among periodic tasks — and how a bit of priority math keeps deadlines from slipping.
Waves & Acoustics
Acoustic propagation in a simulated room, and the impulse response of the real one you’re sitting in.
Wave Propagation
Drop sources, paint walls, and watch reflection, diffraction, and standing waves form on a 2D acoustic FDTD simulation.
OpenRoom Impulse Response
Play an exponential sine sweep through your speakers, deconvolve it from the mic recording, and recover the room’s impulse response and RT60.
OpenSignal Processing
Encode, decode, and resolve signals — the math behind microphone arrays, chirps, and digital modulation.
Beamforming
Drag sound sources past a uniform linear array. Watch Bartlett, MVDR, and MUSIC argue about where they are — and how spacing, frequency, and grating lobes change everything.
OpenAcoustic Ranging
Pair your phone, then both devices record while the laptop and phone each emit a 200 ms 1–4 kHz chirp two seconds apart.
OpenFingerIO
Active sonar from a laptop speaker. A repeating 18–22 kHz OFDM symbol turns each microphone frame into a channel impulse response — subtract the static room and the finger lights up.
OpenRange Resolution
Slide the bandwidth and watch two nearby targets merge into one peak. Shows visually why a chirp’s range resolution is c / (2B).
OpenCDMA & Autocorrelation
See why a Gold code’s autocorrelation spike pulls a signal out of noise — and lets four acoustic beacons share the same band.
OpenDigital Modulation
Type a message; encode it as ASK, FSK, BPSK, QPSK, 16-QAM, or OFDM; transmit it as audible sound. Receive on a second device, watch the constellation form, and decode the bits back.
Open