An Open-Source Platform For Tactile Nerve Stimulation
OpenHaptic GitHub: https://github.com/nathanww/OpenHaptic
If you get a lot of ads for wearables (like I do), you might have noticed that wearables that work by stimulating your sense of touch are suddenly A Thing. Many are geared to make you more alert or less stressed (like the Apollo Neuro, Cove, or Doppel), but others like Neosensory have other uses, like augmenting hearing or treating tinnitus.
I’m always a bit skeptical about claims like this, but there is some interesting science in this area. For example, vibration stimulation has been used to reduce pain, suppress inflammation, and modulate blood pressure and fatigue Haptic devices can also be used for other interesting purposes like sensory substitution, giving people the ability to experience artificial senses, or biofeedback.
So needless to say, it’s an interesting field. But unfortunately there aren’t many good options for experimenting with haptic devices. Commercial haptic devices generally use proprietary patterns, with few options for customization, experimentation, or hacking. Devices like smartwatches and phones can also be used for haptics experiments ( I’ve done this before) but still very limited by their software and low-quality vibration motors.
All of this was the impetus for to design a purpose-built open source haptic device . This device allows me to write Python programs, which run on the internal microcontroller and control three vibration motors. Because the microcontroller is an ESP32, it can connect over Wifi and Bluetooth, and a companion Android app allows me to program and control it.
The OpenHaptic electronics schematic
The assembled OpenHaptic device, with Velcro upper arm/leg strap. The three vibration motors and MOSFETs are attached to the bottom of the ESP32 Feather board, the battery is placed on top, and the whole thing was wrapped in tape and glued to the velcro straps.
By using the Android app, it’s possible to write your own haptic applications and download them to the board, where you have full control over the three vibration motors as well as the Bluetooth/wifi connections and internal sensors built into the ESP32. There’s also an API, which simplifies some tasks like synthesizing and combining vibration waveforms.
This system allows one to implement a lot of interesting programs. For example, it can run sensory substitution program that lets you feel Bluetooth signals, or some nerve stimulation programs designed to be (somewhat) similar to the ones the Apollo device uses to make you feel more alert or relaxed.
I think there’s a lot of interesting possibilities with a device like this, and I’m curious to see what people make with it!