Sound Glove Project

This post marks the beginning of me logging my current/past projects in case I want to restart/improve them or for historical purposes.

Problem

Last year I finally decided to maybe prepare a Halloween costume for once. While just a costume would be perfectly fine, I wanted to do something more. For comedic (or not so comedic :>) purposes it would be great if there was a stealthy way to trigger some kind of sound or music, see this as an example. I promise this is not a Rickroll.

It is still acceptable if this is done manually, but just imagine that a sound starts playing at a very specific moment without you noticing any input from the person! Sounds awesome! (sorry)

Solution

I present to you, the Sound glove! Its earliest prototype that is. The idea is to have a glove with metal contacts, one for each finger. When contacts on index, middle, ring or pinky fingers touch the one on the thumb, the microcontroller detects this and sends a Bluetooth update to the iOS app, which is in itself responsible for playing sounds. The project is pretty simple, yet quite neat.

Software already works quite well (though more work can be done to make transition between sounds more seamless), however a simple old kitchen rubber glove was used a physical prototype and it, let’s say, worked just enough for the prototype and should be replaced with something else for further iterations.

This project is powered by an ESP32-based LOLIN32 controller which is a perfect choice for this project for the following reasons:

  • Supports Bluetooth LE out of the box
  • Relatively cheap
  • Supports direct battery connection
  • Nice and fast CPU
  • Large number of I/O pins

The entire electric digram can be seen as 4 buttons connected to the microcontroller with ground being the thumb.

More detailed description and electrical diagram will be coming soon.

Software

The software running on the ESP is written with C++ and is only responsible for transferring any detected button presses. The iOS software running on the phone was written in Swift and is responsible for playing sounds on received Bluetooth notifications. Source code for both will be published soon

Plans

  • Fully document the solution
  • Publish the source code
  • Build a glove prototype with conductive wire
  • Add sound upload to the iOS App
  • ???