← WORKROBOTICS · XR · 2024 · MASTER'S THESIS

Open-Source Data Glove
Development Kit for XR

Master's thesis · KU Leuven, Group T · with Jan Rutrle · Grade: Cum Laude

Data glove hardware, ESP32 central unit with finger sensors

Overview

Commercial data gloves like the SenseGlove Nova cost upwards of €3,000 and offer no access to their internals, making them impractical for academic research or custom XR development. This thesis built a complete open-source alternative.

The result is a Hardware and Software Development Kit (HSDK): full PCB schematics, firmware, middleware, and GUI integrations, all open-source on GitHub. The goal was to lower the barrier to entry for data glove research and enable researchers to build on a common, extensible platform.

Hardware

Built around an ESP32 microcontroller with a custom PCB. Hand orientation is tracked using an IMU with two sensor fusion algorithms: an Extended Kalman Filter (EKF) and the Madgwick filter, which were tuned and benchmarked against each other.

Finger flexion is tracked via potentiometers or Hall-effect sensors with magnets, providing two hardware configurations with different cost and accuracy trade-offs. PCB schematics and component selections are fully documented and open-source.

Data glove back view, showing PCB and wiring

Integration

The glove integrates with Unity via ROS Bridge and SteamVR, allowing real-time hand tracking in XR environments. The Foxglove Studio integration provides a lightweight browser-based visualisation and data logging interface.

Data glove in use with Unity hand visualization on screen

Software

The software stack spans five layers, from microROS firmware on the ESP32 through MQTT and ROS2 middleware, up to Unity, SteamVR, and Foxglove for visualisation. The Docker-based deployment works on Windows, Linux, and Mac.

Software architecture, layered stack from firmware to GUI

Architecture

The ESP32 communicates over TCP/IP, USB, or Bluetooth to a host machine running microROS Agent, ROSBridge, and a Node.js backend, all in Docker. This makes the full system deployable with a single docker compose up.

Full system architecture diagram, ESP32 to Docker to external GUI

Results

The glove was validated experimentally against the SenseGlove Nova as a ground-truth reference. Orientation tracking accuracy across Roll, Pitch, and Yaw was found to be comparable to the commercial device, with the Madgwick filter (β=1) performing best overall.

Finger flexion tracking showed promising results for both sensor configurations. The open-source nature of the project means the algorithms and hardware can be directly improved upon, something no commercial product allows.

Demo

ESP32ROS2microROSUnityPCB DesignEKFMadgwick FilterMQTTDockerC++