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.

The application 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. Six tabs, one per stage, so the pipeline is 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, 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, which turned out to be the most pedagogically useful part of the system: it makes 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 fix for "the model has never seen anyone like me" is to retrain on the room you are in.

Deployment constraints

The system runs on the 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 the GPU. It ships as signed macOS and Windows executables with a user guide, because a tool that requires a Python environment to be set up is a tool that does not get used in a classroom.

The system, end to end

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

Visualization. Radar returns become a spectrogram in real time. Time runs left to right, the vertical axis is Doppler velocity, and the bright line through the centre is the static return that a moving hand breaks away from.
Collecting data. Students record their own labelled samples. Each capture is named, counted, and written into the dataset the class will train on, so the training set is the room they are standing in.
Model training. A Vision Transformer trains on those captures, with accuracy and loss drawn per epoch and the run log printing alongside. The hyperparameters are exposed rather than hidden in a script.
Testing. The trained model then drives something. Live predictions steer a maze game while per-gesture confidence is shown underneath, so a wrong move is traceable back to the signal that caused it.