TENS Suit


Full-body electrical stimulation “suit” for the 

VR / dance performance Transcendance







 This project is in a prototype phase! 


The Innovation Lab of Theater Utrecht approached me to develop a solution for delivering remotely-controlled electrical muscle stimulation to multiple points on a dancer’s body. A matter of developing an electronic solution and providing an interface between it and a desktop-based controller of sorts. It was intended for the dance performance Transcendance, a meditative VR dance performance centered around a duet between a dancer and an AI.

This solution was referred to as the TENS Suit. TENS stands for transcutaneous electrical nerve stimulation, ie electrical muscle stimulation. Commercially available devices for domestic and medical use are usually targetted at pain relief.

The problem: a TENS device can usually only target 1 or 2 points on the body and only with manually set pre-programmed patterns of muscle stimulation. My job was to expand the default functionality to support 21 remotely controllable output pairs while keeping the solution comfortably wearable by the dancer.


Client
Innovation:Lab Theater Utrecht 

Collaborators
This part of the project interfaced directly with the work of Nikzad Arabshahi (TouchDesigner)
My role
Electronics (design and hacking), programming (mostly embedded)

Technologies used
  • Arduino (ESP32) - Driving the circuit board
  • Processing - “glue” node between TouchDesigner and the TENS Suit
  • KiCad - PCB design



I moderately hacked an existing TENS device to control its settings via an Arduino and developed an approach to be able to expand its 2 outputs to potentially 32 outputs. The circuit board I designed uses mosfet relays instead of the larger, heavy and loud mechanical ones for covert and more ergonomic use. Each board supports 16 output channels and we used 2 boards in total. A wireless ESP32 microcontroller allows remote access via WiFi and via an OSC protocol the remote system could have full control over triggering muscle groups at the desired strength and duration.

To support the operator of the performance I created a desktop sketch in Processing which acted as a communications hub between the ESP32 and TouchDesigner while displaying helpful connectivity and activity status of the ESP32.

 All pictures are in-progress pictures of the prototype.