Case file · STN-05QC passed

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

  1. 01 · Connect

    Finds the board's serial port automatically, so there's no port-picking before you start.

  2. 02 · Stream

    Pushes samples to the browser over WebSockets at 500+ points per second.

  3. 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

Monitor · SL-01
CH 1–8 · live500+ pts/s

Drawn trace in the visualizer's layout, not a capture.

Links

Internship work: the code lives with Upside Down Labs.