Skip to content
Michael Adeleke

Research

SensDSv2

A desktop application that turns a 60 GHz radar sensor into a machine learning classroom, with live spectrograms, gesture collection, model training, and prediction in one loop a student can run in a single class period.

Period
2025 – present
Area
Radar sensing and ML education
Role
Lead developer and researcher
Built with
PyQt6, Infineon BGT60TR13C, PyTorch, Vision Transformers, pyqtgraph

Machine learning is usually taught with datasets that arrive pre-cleaned and pre-labeled. The interesting decisions, what to measure, how to represent it, and what to do when the signal is ambiguous, have already been made by someone else. SensDS exists to hand those decisions back to the student.

SensDS, for Sensing for Data Science, drives an Infineon BGT60TR13C 60 GHz radar sensor and takes a class through the whole loop: watch the micro-Doppler spectrogram move as you move, record labeled gesture captures, train a model on what the class just collected, and test it live. Each stage gets its own tab, so the pipeline stays visible rather than hidden behind a script.

The signal pipeline

Raw radar frames become spectrograms through a chain the interface exposes rather than conceals: a range FFT to resolve distance, moving target indication to suppress static clutter, and then a short-time Fourier transform across slow time to produce the micro-Doppler image that a Vision Transformer is trained on. Chirp parameters are configured through the Infineon SDK and surfaced in the interface, so the relationship between sensor configuration and the resulting image is something a student can change and see.

Novelty scoring

Classroom data is not lab data. Students gesture at the wrong distance, at the wrong angle, or invent a gesture nobody trained on. A PCA-based novelty score flags captures that fall outside the training feature space. This creates an opportunity to make distribution shift a thing students encounter directly rather than a term in a lecture. It also motivates on-device training as a design target, since the response to "the model has never seen this" is to retrain on the room you are in.

Deployment constraints

The system runs on Surface Pro hardware that schools actually have, not on a workstation. Getting inference to keep up meant reworking model selection and inference scheduling rather than assuming access to a dedicated GPU. It ships as signed macOS and Windows executables with a user guide because a tool that requires a Python environment to be configured is a tool that does not get used in a classroom.

In the browser

SensDS Web removes the install entirely. It connects to the radar over the Web Serial API from a browser tab, streams frames live, and reports what it is doing while it does it, down to the frame count and how many frames were dropped. The stages are the same ones the desktop build walks through, with room for more: visualize, collect, analysis, curve fit, train, test, results, and control of a VEX AIM robot.

The visualize tab is where the sensor stops being abstract. A live Doppler spectrogram scrolls as you move, with the time window, plot size, noise floor and spectrogram method all exposed as controls rather than buried in configuration. A student can change how the signal is computed and watch the picture change.

It also keeps score. Progress is tracked as levels and experience points, which is a small thing that does real work in a classroom: it gives a student who is not yet sure they belong in the room a reason to take the next step.

The system, end to end

One class period runs the whole loop. Select the tour to play it.

A tour of SensDS Web. A few seconds on each stage: live spectrogram, gesture collection, feature analysis, curve fitting, prediction driving a maze game, and robot control. Get in touch if you want to see it properly.