Skip to main content
Version: ACS CC

SonicGlove - Interactive Musical Glove

A portable, interactive glove-based sound system that generates and modulates audio in real-time based on finger gestures and tactile input.

info

Author: Pirvu Tatiana Andreea Daria
GitHub Project Link: https://github.com/UPB-PMRust-Students/acs-project-2026-tanioara

Description

SonicGlove is a gesture-driven sound system running on an STM32 Nucleo-U545RE microcontroller. The system utilizes an event-based architecture to read the state of four tactile buttons mounted on the user's fingers, triggering the generation of audio frequencies through a passive buzzer driven by PWM signals. For real-time sound modulation, the device integrates an MPU6050 inertial measurement unit (IMU) communicating via I2C, which dynamically alters pitch and intensity based on the spatial orientation of the hand. The project features a microSD storage module connected over an SPI interface, allowing for structured logging of input events and the playback of recorded sessions. System states (idle, recording, playback) are visually indicated via three discrete LEDs connected to standard GPIO pins. The components are mounted on a wearable textile glove.

Motivation

As a student interested in real-time signal processing and hardware integration, I wanted to build a device that goes beyond simple button presses and explores dynamic, physical gesture control. I wanted a project that consolidates sensor fusion and audio generation into a single wearable system. This project gives me the opportunity to develop a modular software architecture, work with multiple hardware peripherals simultaneously (I2C, SPI, PWM Timers), and design a complete end-to-end event-based system from data acquisition to non-volatile memory storage.

Architecture

Input Subsystem — handles tactile buttons and the MPU6050 IMU. It captures physical finger presses and hand orientation data, sending it to the microcontroller via GPIO and I2C.

STM32 Nucleo-U545RE — the main controller running the core firmware: reads inputs, calculates notes and modulations, manages the state machine, and orchestrates the recording and playback systems.

Output Subsystem — a passive buzzer driven by a hardware timer (PWM) to generate audio tones, alongside status LEDs that provide visual feedback on the current system state.

Storage Subsystem — a microSD card adapter module communicating via SPI to save and retrieve structured event logs of the recorded gesture sessions.

System Architecture Diagram

Log

Week 5

Solidified the core architectural concept and received approval from the lab coordinator.

Week 7

Ordered all hardware components.

Week 9

Stating writing the documentation page.

Hardware

The project uses an STM32 Nucleo-U545RE as the main microcontroller. User interaction is captured via four 6x6mm tactile push buttons configured as digital inputs. An MPU6050 6-axis IMU module connected via I2C measures spatial orientation and movement. Audio output is generated by a passive buzzer, driven by a variable-frequency PWM signal from the microcontroller. Three 5mm LEDs provide visual feedback regarding the system's operational state. A microSD card adapter module, communicating via the SPI bus, handles data storage. The physical assembly involves mounting the buttons and the IMU onto a textile glove using flexible jumper wires.

Schematics

  • TODO: KiCad schematic to be added at Hardware Milestone (Week 11)

Bill of Materials

DeviceUsagePrice
STM32 Nucleo-U545RE-QMain microcontroller-
MPU6050 IMU ModuleMeasures acceleration and rotation~25 RON
MicroSD SPI ModuleInterface for reading/writing logs~20 RON
MicroSD CardData storage medium for gesture logs~25 RON
Passive Buzzer 3.3VGenerates audio frequencies~12 RON
Tactile Button 6x6x6mm (x4)User input for triggering notes~8 RON
5mm LEDs (x3) + ResistorsState indicators (Idle/Record/Playback)~5 RON
Jumper Wires M-F 40p 20cmComponent interconnections~10 RON
Jumper Wires M-M 40p 20cmComponent interconnections~10 RON
Breadboard 170 pointsPrototyping connections~3 RON
Textile GlovePhysical mounting support~2 RON

Software

  • TODO: the rest will be added as I develop the code
LibraryDescriptionUsage
FatFsGeneric FAT Filesystem ModuleUsed for reading and writing structured log files to the microSD card
MPU6050 DriverI2C sensor library/driverUsed for extracting and filtering raw accelerometer and gyroscope data
  1. STM32U545RE Datasheet & Reference Manual
  2. MPU-6050 Datasheet
  3. Interfacing SD Card with STM32 via SPI
  4. FatFs - Generic FAT Filesystem Module