Projects

Deep learning on sensor time series, and the embedded systems that run it.

Deep learning for time series

Sequence models on real sensor streams — inertial, radio and satellite — from my doctoral research and since.

Anomaly Detection for IMU Pedestrian Navigation

Anomaly Detection for IMU Pedestrian Navigation

Physics-informed framework with AE, VAE and USAD models detecting sensor faults in real time on embedded devices.

PyTorch · autoencoders · edge AI

View on GitHub →

5G LOS/NLOS Detection with USAD

5G LOS/NLOS Detection with USAD

Unsupervised anomaly detection on 5G channel impulse responses to separate line-of-sight from NLOS and improve positioning accuracy.

5G · USAD · positioning

View on GitHub →

GNSS LOS/NLOS Classification

GNSS LOS/NLOS Classification

Autoencoder-based classification of GNSS signal conditions, separating multipath-affected signals for urban navigation.

GNSS · autoencoders · urban nav

GNSS security & open data

Where the signals go wrong in the first place — jamming, spoofing and meaconing.

GNSS Threat Landscape Analysis

GNSS Threat Landscape Analysis

Real-world case studies of jamming, spoofing and meaconing across aviation, maritime and military domains. Published in IEEE J-ISPIN.

GNSS security · threat analysis

GNSS Attack Dataset — Jammertest 2024

GNSS Attack Dataset — Jammertest 2024

Open Zenodo dataset of GNSS signals under jamming, spoofing and meaconing — 845+ views, 227+ downloads.

Open data · jamming · spoofing

Other machine learning & networking

Contradictory Text Analysis — RoBERTa

Contradictory Text Analysis — RoBERTa

Natural language inference classifying premise–hypothesis pairs. 82% test accuracy with a fine-tuned Hugging Face pipeline.

Transformers · NLP · Python

View on GitHub →

Breast Cancer Detection (RSNA)

Breast Cancer Detection (RSNA)

CNN-based deep learning pipeline for mammography screening on the RSNA dataset.

CNN · medical imaging · PyTorch

View on GitHub →

SDN Load Balancing for Video Streaming

SDN Load Balancing for Video Streaming

Dijkstra and Bellman-Ford routing on a RYU SDN controller with OpenFlow, simulated in Mininet-WiFi with SUMO urban mobility.

SDN · OpenFlow · Python

View on GitHub →

Embedded systems & firmware

The layer the models run on: BSPs, drivers and real-time firmware.

STM32MP157 Yocto BSP

STM32MP157 Yocto BSP

Custom Linux distribution: complete boot chain (TF-A, OP-TEE, U-Boot), Yocto layers, GPIO/I2C/SPI/UART drivers, device tree overlays, SWUpdate OTA with A/B partitions.

Yocto · STM32 · C · boot chain

View on GitHub →

Truck Monitoring BSP (2 versions)

Truck Monitoring BSP (2 versions)

Yocto BSP on STM32MP157 and NXP i.MX93: CAN bus driver, 5G modem integration, GNSS drivers, FreeRTOS on Cortex-M, KAS configuration.

STM32MP1 · i.MX93 · CAN · 5G

Muzziball — Secure Yocto, OTA & C++ Server

Muzziball — Secure Yocto, OTA & C++ Server

Production Yocto distribution with secure boot and SWUpdate OTA. PureData real-time audio, IMU/mic/speaker/LED drivers, embedded C++ server bridging BLE and Wi-Fi.

Secure boot · OTA · C++ · audio

Linux Kernel Drivers — IIO IMU & GNSS

Linux Kernel Drivers — IIO IMU & GNSS

IIO driver for the MPU-6050 (I2C, interrupts, sysfs) and a serdev driver for the u-blox NEO-M8N GNSS receiver with NMEA parsing.

Linux kernel · I2C · UART · IIO

TP-Link Router Reverse Engineering

TP-Link Router Reverse Engineering

MT7628 SoC hardware reverse engineering: UART/SPI interface identification, SPI flash extraction with flashrom, Binwalk firmware analysis.

Reverse engineering · UART/SPI

View on GitHub →

Wireless Crack Detection Sensor

Wireless Crack Detection Sensor

MSc thesis: complete wireless sensor for structural crack detection via acoustic emission — hardware design, edge firmware, cloud integration.

IoT · acoustic emission · SHM

Secure IoT System on ESP32

Secure IoT System on ESP32

Smart-home IoT system with encrypted certificates and data, network security and privacy by design.

ESP32 · TLS · IoT security