Sense Node is a multimodal desktop interaction node built around a Seeed XIAO ESP32-S3, a compact sensor stack, and a lightweight desktop application.
This repository is my associate degree graduation project. Therefore, Issues are closed, and Pull Requests are not accepted.. For more information about my academic background, see my personal site.
Sense Node explores how a compact embedded device can turn physical desk interaction into software-visible events. Instead of relying on a single sensor, the project combines distance sensing, motion sensing, and local visual feedback into one hardware node, then connects that node to a desktop-side application.
The current prototype is split into two parts:
firmware: PlatformIO firmware for the ESP32-S3 deviceapp: Electron + TypeScript + Vite desktop application
root
├── app/ # Desktop application
├── docs/ # Project documentation
└── firmware/ # ESP32-S3 firmware and embedded resourcesThe current firmware targets a Seeed Studio XIAO ESP32-S3 and uses the following sensor/display stack over I2C:
VL53L0XTime-of-Flight distance sensor for proximity sensingMPU6050IMU for motion, vibration, and tap-related observationSSD1306 OLEDSmall display driven throughU8g2for local state and sensor feedback
The firmware is currently built with:
PlatformIOArduino framework
The desktop side is intentionally lightweight and currently uses:
ElectronTypeScriptVite
Its role is to act as the host-side application layer for visualization, interaction mapping, and future desktop integration.