The purpose of this project was to focus on the creation of novel, computationally-enriched “sensory extension” for educational purposes, the intent is to enable students to design and build their own sensory applications, and in doing so will learn about various computer science and neuroscience topics. The HCI device created is called the Electronette. The Electronette is an arm-mounted electrical muscle stimulation device for extending a sense using electrodes and responding with a tactile output for the user.
This material is based upon work supported by the National Science Foundation under Grant No. 1736051.
The project was developed in the Craft Tech Lab at the University of Colorado Boulder.
I think the best way to start this Instructable is with the applications of the Electronette, which can be seen in the video above. With the Electronette, I wanted to allow for the user to customize finger movements with the goal of allowing the user to play instruments they've never encountered before, to give those with a paraplegic hand the ability to have pre-programmed finger calisthenics routines, learn different baseball pitching finger positions, as well as have the device be a tactile output device similar to vibration motors. While these are all very lofty goals, I believe that the Electronette has the ability to achieve some of them.
As an EMS/TENS device, the Electronette completes a circuit using the human body, which depending on the voltage, can cause muscle groups to contract involuntarily; causing fingers to twitch, arms to move, hands to grasp, and more. The Electronette is a relatively customizable device that takes an electric current from either a TENS unit or a hand made EMS unit (If you use your own device make sure to start at a very low current and always use AC current). You then split that signal into two channels, one will be (+) and the other (-). Based on the number of electrodes you want you'll connect the channels into relays. The relays will be controlled by an Arduino. Finally, you connect the electrodes to the other terminals on the relays and implement the code.
WARNING: Please read the safety warning sheet found -here- before using any type of device that sends voltage through your body, definitely read if you have any implanted electronic devices or similar medical concerns and determine if you should avoid, I think EMS is cool but not that cool. Note that this Instructable is for the arm only. I am in no way responsible for any damage or issues you receive from using this device, please be safe by reading up on EMS and see if there are any dangers that would prevent you from using this device.
A TENS/EMS device (This could be any TENS or EMS unit just make sure that it has a "Normal" mode and come with lead wires)
Multi-channel relay module (For this Instructable I used a 16 channel relay which can be found here)
Arduino UNO or Mega (depends on the number of relays)
2 breadboard buses
Red and blue ribbon cable
DC-DC boost step-up converter (To power the relays)
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Setup the Relays and Cables
Step 1: After you've selected an EMS/TENS unit (for this Instructables I'm using the TENS 7000, but I've used alternatives as well), replace the ends of the TENS lead wire with male housing connectors. Do this again with any additional TENS cable you have, but this time cut the TENS unit plug side, not the pin connectors, you'll use them later on.
Step 2: Plug the new connectors into one bus each, plug one pin into the "+" and the other into "-". It doesn't matter which cable you choose for VCC or GND (figure 2).
Step 3: Plug cables into the "+" and "-" sides of the bus (figures 2, 3, & 4).
Step 2: Divide the Current Into Two Channels
Step 1: Select a relay that you want to use (for this Instructable I'm using a16 channel relay) (figure 1).
Step 2: Plug the "+" bus cables into the relay's common terminal (middle terminal), then repeat with the "-" bus cables on the relays located on the other side.
Step 3: Using the additional 2mm pin connectors that you've cut from the TENS cables, connect them to the NO terminal (right terminal) (figure 2 & 3). You can connect to the NC terminal (left terminal) you'll just need to change the code later on.
Step 3: Connect Arduino to Relays
Step 1: Connect the relay unit pins to the Arduino using a rainbow cable, feel free to choose your own pin placement, just remember to change the code to reflect this.
Step 2: If you are using the 16 channel relay you'll need an additional power source for the relay unit. connect the Arduino 5V and GND (figure 2) to the "in" side fo the DC booster. Set the output of the booster to 12V, then connect the booster to the relay board (figure 2).
Step 4: Implement Code & Electrode Placement
Included is some beginner code to show how to control the Electronette with a sensor. If you changed the relay terminals you'll need to reverse the HIGH and LOW statements. While the Arduino is off, I'd suggest that you turn on the TENS unit and see what level works best for either you or the person wearing the Electronette. Please be careful not to activate all multiple pads at once as it may be too much for you to handle, I recommend only activating one or two sets of pads at once.
After uploading the code on the Arduino, you'll want to start to add the electrodes that will be controlling your arm. I suggest that you read up on human arm physiology to see what arm muscle groups you want to control (figure 1). I've also included pictures of places where I've placed electrodes pads (figures 2, 3, & 4). Make sure that the pair of "+" and "-" pad stay on the same arm, do not split them up between multiple parts of the body.
You can also use the Electronette strictly as a tactile output device. If you set your TENS unit low enough you should feel a sensation similar to a vibration motor, try it out!
Step 5: Done!
You now have your very own Electronette!
If you have any in-depth questions, want to learn about human augmentation, want to keep up with my work, or just toss around ideas, please do so on my Twitter:
Participated in the