Edge AI Radar — TinyML on a 60 GHz radar at the edge

· Edge AI · MicroPython · TinyML · Infineon PSoC6 · Next.js · Flask

An object-classifying radar that runs on a five-dollar MCU — TinyML, MicroPython, and a live Next.js dashboard, end to end.

Infineon PSoC6 CY8CKIT-062S2-AI Board
The Infineon CY8CKIT-062S2-AI evaluation board featuring a 60 GHz radar sensor and dual-core PSoC6 MCU

Project Overview

Infineon Imagimob DEEPCRAFT MicroPython

The Edge AI Inventory System was developed for the MicroPython & Edge AI Hands-On Course at TU Wien, demonstrating how machine learning can be brought directly to the edge.

The system uses an Infineon CY8CKIT-062S2-AI board equipped with a 60 GHz radar sensor (BGT60TR13C) and a 6-axis IMU (BMI270) to classify objects in real time — entirely on-device. Detection events are transmitted over Wi-Fi to a cloud-connected backend and visualized on a modern live dashboard.

The core idea: collect sensor data → train a TinyML model with DEEPCRAFT™ → deploy it on MicroPython → report results to a web dashboard — an end-to-end Edge AI pipeline.

Edge AI Inventory Dashboard

Hardware

The project is built around the Infineon CY8CKIT-062S2-AI evaluation board, a sensor-rich platform designed for Edge AI applications.

On-Board Sensors & Connectivity:

PeripheralComponentPurpose
60 GHz RadarBGT60TR13CPresence & motion detection
IMUBMI2706-axis motion & vibration analysis
Barometric PressureDPS368Environmental monitoring
MEMS MicrophoneIM69D130Audio capture
Wi-Fi + BluetoothCYW43439Wireless connectivity

Software Stack

The system spans from embedded firmware to a reactive web frontend, connected through a RESTful API.

LayerTechnologyRole
Edge FirmwareMicroPythonRapid prototyping on the PSoC6 MCU
Machine LearningImagimob DEEPCRAFT™Training & deploying TinyML models
BackendFlask (Python)RESTful API for device & inventory management
FrontendNext.js (React)Interactive real-time dashboard
Device Toolingmpremote / Thonny IDEFlashing, debugging, serial communication

Architecture Flow

PSoC6 Board (MicroPython + TinyML Model)
    │
    │ Wi-Fi HTTP POST
    ▼
Flask Backend (REST API + SQLite)
    │
    │ API calls
    ▼
Next.js Dashboard (Real-time visualization)

Data Pipeline & Signal Processing

Building a reliable TinyML model required extensive data collection and signal processing work:

This rigorous data engineering effort was essential to achieving high model accuracy on the resource-constrained PSoC6 platform.


Results

Live Dashboard

The Next.js dashboard provides real-time inventory tracking and device management. It displays detection events, device status, and historical data — all updated live from the PSoC6 via the Flask backend.


Model Training — Confusion Matrices

The TinyML model was trained iteratively using Imagimob DEEPCRAFT™ Studio with radar and IMU sensor data. Each round improved classification accuracy by refining the dataset and signal processing pipeline.

Iteration 1 — Initial Model: The first training run used a limited dataset as a proof of concept. The confusion matrix shows the baseline classification performance with noticeable misclassifications between similar object categories.

Confusion Matrix — Initial Model

Iteration 2 — Expanded Dataset: After collecting significantly more sensor data and refining the FFT-based feature extraction, the model showed a clear improvement in distinguishing between object classes.

Confusion Matrix — Expanded Dataset

Iteration 3 — Final Model: With the full 400+ minutes of curated training data and optimized preprocessing, the final model achieves high classification accuracy and is deployed directly on the PSoC6 as a MicroPython-compatible binary — enabling low-latency, on-device inference without any cloud dependency.

Confusion Matrix — Final Model

Key Features


How to Reproduce

The project is designed for easy reproduction using an automated setup script.

Prerequisites: Python 3.10+, Node.js 18+, mpremote (pip install mpremote), and a PSoC6 device connected via USB with the MicroPython interpreter flashed.

# 1. Clone the repository
git clone https://github.com/CuzImHarry/micropython-hands-on-course.git
cd micropython-hands-on-course/project

# 2. Run the automated setup
python full_setup.py

The script will prompt for your Wi-Fi credentials and a device name, then automatically:

Once complete, open http://localhost:3000 to access the live dashboard.

A detailed manual reproduction guide is available in the repository under project/REPRODUCTION_GUIDE.md.


Source Code

Full documentation, reproduction guide, and source code available on GitHub: github.com/CuzImHarry/micropython-hands-on-course