Part no. SL-01 · internship build · The signal lab
Signal Lab
A live biosignal visualizer: eight channels off a serial port, drawn as they arrive.
Built by Deepesh Kumar at Upside Down Labs
The problem
Upside Down Labs makes open-source bio-sensing hardware. A board on a desk produces raw EMG, ECG, EEG and EOG signals, and they're only useful once you can watch them live and pull numbers out of them.
What I built
A biosignal visualizer in Next.js and Django, built during my internship from June to August 2024.
It handles EMG, ECG, EEG and EOG, from plugging the board in to exporting the data.
How it works
- 01 · Connect
Finds the board's serial port automatically, so there's no port-picking before you start.
- 02 · Stream
Pushes samples to the browser over WebSockets at 500+ points per second.
- 03 · Analyse
Django APIs run multi-channel FFT analysis, plotting and data export across 8+ channels.
Results
- 500+ points per second streamed live.
- FFT analysis across 8+ channels.
- Four signal types: EMG, ECG, EEG and EOG.
Tech stack
- Next.js
- Django
- WebSockets
- Serial
- FFT
On the monitor
Drawn trace in the visualizer's layout, not a capture.
Links
Internship work: the code lives with Upside Down Labs.