MuscleIO: Muscle-Based Input and Output for Casual Notifications

Team:  Tim Dünte, Justin Schulte, Max Pfeiffer, Michael Rohs
Jahr:  2018
Weitere Informationen

Muscle-Based Input and Output for Casual Notifications

Receiving and reacting to notifications on mobile devices can be cumbersome. We propose MuscleIO, the use of electrical muscle stimulation (EMS) for notification output and electromyography (EMG) for reacting to notifications. Our approach provides a one-handed, eyes-free, and low-effort way of dealing with notifications. We built a prototype that interleaves muscle input and muscle output signals using the same electrodes. EMS and EMG alternate such that the EMG input signal is measured in the gaps of the EMS output signal, so voluntary muscle contraction is measured during muscle stimulation.

Notifications are represented as EMS signals and are accepted or refused either by a directional or a time-based EMG response. A lab user study with 12 participants shows that the directional EMG response is superior to the time-based response in terms of reaction time, error rate, and user preference. Furthermore, the directional approach is the fastest and the most intuitive for users compared to a button-based smartwatch interface as a baseline.

This page contains additional information about the MuscleIO system like schematics, layout files, code, etc. For further information about muscle based input and output read our paper: MuscleIO: Muscle-Based Input and Output for Casual Notifications


he left picture shows the components of the MuscleIO system. It consists of the following parts:

  • Sanitas SEM43 - an EMS/TENS Stimulator
  • Let Your Body Move Toolkit
  • Five self-adhesive electrodes
  • Arduino UNO with a shield and two Bitaling EMG sensors
  • Electrodes

The system communicates via Bluetooth with an Android application running on a smartwatch. The smartwatch is responsible for handling the notifications and controlls the EMS Toolkit and the Arduino UNO.

The components play together as follows: the Sanitas SEM43 generates EMS signals. These EMS signals are sent to the EMS Toolkit. The EMS Toolkit can regulate the EMS signals. The regulated EMS signal is sent to the Arduino Uno with its shield and are forwarded to the user if a notification is played back. During a notification the systems measures via EMG if the user voluntarily contracts his via EMS stimulated muscle. By voluntarily contracting his stimulated muscle the user can interact with the system. This way his muscle becomes a bidirectional input and output device.


MuscleIO can be used for one-handed eyes-free interactions by turning a muscle into a low level input and output device. In a notification scenario, first an EMS Pattern is played on a forearm muscle. The pattern encodes the information what kind of notification has arrived. The playback of the EMS pattern ends when the users responses by moving his hand. We evaluated two different approaches for encoding information, as seen below in the figures. Finally we compared both approaches with a smartwatch interface in terms of the time and effort needed to do the response.

The results show that a one handed interaction using MuscleIO is faster than interacting over the smartwatch. More results and their discussion can be found in our paper.

For the directional approach the user can either move his hand up or down for accepting or refusing a notification. Two additional electrodes are necessary for measuring the muscle activity for a hand movement down. For the pattern approach the user performs only one movement. He moves either his hand one time or two times up for accepting or refusing a notification. By using this encoding only one muscle and only three electrodes are needed.

We believe that these casual interactions are useful to handle the increasing amount of notifications. If a notification is important the user can accept it and invest more time by taking his smartphone out of his pocket or reading the notification on the smartwatch. In the case of an unimportant notification the user does not need to invest more time. He just wipes the notification away by doing a movement.