After background research and testing on electro-tactile displays and E-Stim, the keys to getting good safe results are:
1) High Voltage - Low Amperage (Keep it below 1mA), adjust voltages from 3- 24 volts (whatever is comfortable for you!)
2) Make good contact - Use a conductive gel between your skin and the device (KY Lube works great! Water is fine too!)
Recently, in an effort to test out the potential feasibility
of a concept I had, I, with Firaz Peer, created a prototype for a "digital condom" at a Hackathon. We created a video, prototype, and live demo here to explain the concept. While the judges at the hackathon did not like our device, the internet certainly did.
And while this video spread around the world, some of the information mutated and got distorted (as it does), but not too terribly. Of the dozens of blogs out there, the only actual interview, and hence one of the best resources to quickly learn more about our background and concepts came from this Fast Company Article.
As with everything I create, this project is open-hardware and open-source. Beyond just slapping on this license, there open projects have a duty to document and share how things are made. This instructable hopes to share how to make your own device for pulsating mild-electronic stimulation, and perhaps through the building process, you may be inspired to think of new techniques or uses for this concept.
This concept was driven by myself, as well as my business partner, Paul Clifton, and fellow PhD Student, Firaz Peer.
Please read about why we created this, our inspirations, and why we want to publish a guide to how to build your own.
Step 1: Inspirations and Theory
Why did this artifact come to exist? It received inspiration from in many areas.
(Bill and Melinda Gates Fnd.) Designing a Better Condom Challenge
Last year, the Gates foundation had a competition to design a better, more pleasurable condom. The goal was to make these sexual devices more desirable and easier to use so that more people would actively seek to use them and help curb the spread of terrible diseases like AIDS. The competition ended last year and, despite what people on the internet may think, this project received no money for it, just inspiration for a good idea.
Looking through the many brilliant designs submitted aimed at enhancing pleasure, or ease of use, most of the products targeted structural changes in how the condoms are packaged or used. My excellent training at Georgia Tech pushed me to instead try to think of a way that digital changes can be brought to the world of condoms. Certain condoms in the past have tried to augment the experience with electro-mechanical stimulation through a vibrating ring that could be sold with them. Instead I wanted something that could be potentially more refined, and programmable, and hence responsive. Electro-mechanics have served this industry well, but in something intended to be thin, cheap, and disposable, I needed a different way to transmit programmable stimulation to the users. This got me thinking aboutÖ
(Wired Article / Responsive Environments Group) Spatialized Electrical Sensing on Tongue / Tongueduino
With my research about designing new interactions with environments and animals I am always trying to check out new ways to feed information into humans. (In fact, this week I am going to a workshop in Singapore about designing augmented sensory devices at NUS).
A while ago, back in 2007, Wired published an article about this topic and was discussing using the tongue as a high-resolution spatialized sensory device for "seeing" (They had a pretty sweet graphic with an eyeball on a tongue).
Since then, Gershon Dublon and Joseph A. Paradiso, made a simple version of a spatialized tongue stimulator using a vinyl cutter, which he called a tongueduino. When I built the "Electric Eel, I did not have access to a vinyl cutter, or many other tools, and so I wanted to see how possible it would be to just sew one together out of conductive threads and fabrics. (Iíll actually post a simple little instructable about this later, itís easy and fun!). Once I was able to prove this could work on a tongue, I wanted to see if there were any other parts of your body that would be able to feel these sensations. Since I had just recently started my own DIY Sex-toy company (see below), you can guess the body parts that I wanted to try out.
Turned out that worked too (though you have much less sensitivity in these regions than your tongue, and a higher voltage was necessary to achieve the same experience as your tongue). From there, it became a matter of how to design such a prototype to see what would be desirable in a mass-produced product (like the digital condom), or even in just how to build a self-stimulation device.
(Comingle.io) Putting people in charge of their own sexual technology
This is a new business started by a fellow PhD student, Paul Clifton, and myself. Our loftiest goal is to eventually be like an Adafruit of Sexual technology. The business holds three primary goals:
-Innovating new means of stimulation (e.g. beyond the this-thing-just-vibrates-and-that-feels-nice, methodology)
-Developing new embodied and collaborative interfaces (e.g. beyond this-controller-switches-to-three-modes-of-vibration-intensity).
-Enabling others to create their own customized sexual technological experiences (e.g. by providing the information and parts to build your own devices or hack existing ones)
Developing this business inspired me to think of a device that could not only be fun to use, but potentially engineered to prevent disease as well.
The rest of this instructable will show you how to build the "Electric Eel" prototype you see in the video. This is primarily intended for use with male body-parts. The shape of this device could be easily modified for use with other sensitive body parts of other sexes too. Just use your imagination!
Step 2: Materials
You can probably build this device for 10-40 dollars. The microcontroller is about the most expensive part (next to your time).
Soft, thin, stretchy fabric
We build our prototype from T-shirts that the sponsors were giving out at the hackathon. For best results we went with the thinnest, softest t-shirt material. This lets the device stretch to your proportions and ensures firm contact (which is essential to its functioning). The softness makes it so that it is not uncomfortable to wear.
We used the stretch lycra from Lessemf (look up stretchy conductive fabric)
This lets you have a solid, but adjustable fit for your Eel. We can also use to secure other parts like the battery.
Small, Sew-able microcontroller
We were given a lilypad to work with, but a smaller, cheaper version like the Gemma could also work great. You could even take a regular Attiny85 and use numerous means to make it sewable, like make a cheap, special conductive patch from conductive fabric.
We used a 3.3volt lithium battery because it was small, wireless, and all that we had. I would recommend a 5 volt battery, but if you are using the lilypad, really make sure not to exceed 5 volts or you probably will fry it. I have seen ATTINY85ís take a little over 6 volts pretty easily though.
There are several varieties all with their own pros and cons, we used what I think is a silver-mixed nylon (the kind you can find from Jameco for pretty cheap). We tried using some of the stainless steel thread, bit it has so much friction and kinkiness in it that it kept snapping off in our sewing machine, or even while we were hand stitching.
Conductive thread is thick and chunky and not very fun to work with in general, and it can be really hard to thread. You will also probably want a needle threader (though I kept breaking mine).
Waterproof fabric barrier
If you notice in the final design, there is a little patch of white between the shaft and the controller. This is a bit of Tyvek, the sewable, water-resistant fabric used in many mailing envelopes (and DIY wallets). We install a belt of this water-resistant material because in order to function properly, the body of the device needs to be wetted (or soaked in olive-oil, though this is messier to clean up). This gives you the conductivity you need to get the stimulation (it will not shock bare skin), and it simulates the lubrication that would be embedded in a real, digital condom.
Step 3: Measure
In creating this device, I encountered some architectural/modeling problems that I had not really had to deal with before. How to you essentially put together a costume for a body part that can change sizes? Also how do you take measurements to effectively tailor this suit?
The answer pretty much lies in just using a stretchy-fabric and using a bit of the fabric itself to do the measuring.
Get a fabric marking pen (or some chalk). Chop off a spare 25cm square swatch of fabric. Hold it under yourself (like a hammock). And then wrap the target body part snugly (but not too tight). Mark this amount of fabric used for the girth. Once the body part is enclosed, you may want to straighten it out again if it feels like it needs adjusting.
The end should be open. Note with your pen the distance on the fabric to the base of the body part. After this you will want about an additional 7 cm dangling from this in which to house the microcontroller.
At the end you should have measurements to cut out a rectangular piece of fabric that will work for you.
Step 4: Build
Take your rectangular piece of fabric, and cut off the bottom 7cm. Cut a piece of the waterproof fabric (like the Tyvek) that is the width of your eelís body and 3.5 cm tall.
Waterproof Fabric Barrier
Sew the two pieces of soft fabric to each side of the water barrier. You can use a zigzag stitch and overlap fabric and waterproof fabric by about 1cm and keep a distinct gap between these two pieces. Keep both soft fabric pieces on one side of the waterproof fabric.
From now on, the longer soft fabric part will be the shaft, and the shorter part from the waterproof fabric will be the base. The outside will be the side where the waterproof fabric is continuous; the inside will be the side that both soft piece of fabric are sewn (for comfort reasons). The inside will be where we place the electrodes.
Cut two pieces of Velcro the length of the shaft. Take the fuzzy piece and make it about 2cm wide. Attach the fuzzy piece to an outside edge.
Take the sticky piece and make it about 1cm wide, and sew it to the opposite edge but on the inside.
Step 5: Circuitry
We need to run conductive pathways throughout this device.
Place your lilypad on the base, and circle it with a fabric pen. Make sure to put dots too where the pins you will use will go.
Next draw out your circuit on the fabric itself. Do this on the "inside" of the eel. Our design had five leads that went on the sensitive underside of the body part. You may want more or less or in different areas. The thing to remember is that the sensation does not really come as much from the electrode itself as the shortest path between the electrode and the common ground.
In general I found that the further apart the ground and the electrode the less you could feel what was being output. Keep these factors in mind if you do a redesign.
Also keep in mind that you donít want to run these connections all the way to the base at the waterproof barrier.
Bring your device over to the sewing machine with the "inside" up. You should have a bobbin of conductive thread in the bottom part of the sewing machine. (I think this would be easier if the conductive thread was in the top actually, but all my conductive thread is too thick to use up there, anyone have advice about this?)
Sew along all the routes you have just drawn from where the Lilypad pins will be to where the electrodes will be located. Make sure to keep plenty of extra conductive thread dangling from both ends of these connections.
All this wire should be safely insulated on the "outside" of the shaft at this point.
Step 6: Connections
Now it is time to get out your conductive fabric. Chop out five 0.5cm squares, and one longer electrode for the ground that is 0.5cm wide and the length of the shaft. Lay these in their appropriate areas on the inside of the shaft, and sew the conductive thread up through and into each pad. Loop the thread several times over each corner of the pad to ensure a good connection.
Get out the lilypad, put it into position, and sew the conductive thread through the appropriate pins.
Once all the connections are tied well into place, then you can trim off the dangling thread.
Step 7: Power
To go from the hard connection with the battery to the
lilypad, we need to get two male header pins. Bend these in kind of a z-shape, and solder to the Vin and Ground on the lilypad.
Next glue a small piece of Velcro onto the battery, and sew the other side of the Velcro onto the Eel next to the lilypad.
Now the battery sits right there, and when we want to turn it on, we can just plug it in. You might want to go further and install a better switch or something too.
Step 8: Program
You can get our most basic Arduino sketch from our Github respository.
This one will just blink all the output pins, one after the other, and will work well for troubleshooting your device to make sure it is functioning. You can change the delay to control how fast it cycles.
This one does the same as above, but two sensors at a time (i found it to be more noticeable at low voltages)
Step 9: Test it Out
Before you go through all the trouble of strapping it on, make sure it actually works. Your tongue is a decent probe in this case. Lick each of these pads while the lilypad is going and you should be able to feel the pulse turn on and off as a small exciting tingle. If everything is in order, then letís package this up a little bit.
Step 10: Circuit Hood
Once you have it wired up, and have loaded a sample program to test that it is functioning, then we will put on a little flap to protect the electronics a bit more. Cut off a piece of (non-conductive) fabric the size of the base, and sew just the top end over the lilypad (with regular thread). Next sew some Velcro to the bottom of the base and the flap, and you will have a nice little hood that you can close, or open-up for re-programming.
Step 11: Final Implementation
Your tongue is a good probe because it is already wet. You will not be able to feel if the electrodes are working with bare skin. So before you strap it to yourself you need to soak the shaft in water. Make sure to not get the base (where all the electronics are) wet or you might short something out (see why we have the waterproof barrier now?). You probably donít want it to be dripping wet either.
Put it on, and Adjust
When you Velcro yourself in, you may not notice as sharp of sensations as on your tongue. You might not even notice much at all. You may feel just a sort of tingling, or even warm sensation. Itís been reported to have a tapping or even light pinching sensation as well.
There are lots of factors affecting this feel, but from my experimentation so far, the main thing affecting this is tightness and positioning. As things settle into place down there, you may want to adjust the Eel until it gets to a sensation you like.
Step 12: Adding Sensors
In our demos we had two modes. 1 was just a basic pulsating "blink" program, while the other took in an input. In keeping with our goal #2 at Co-mingle, we wanted to explore new ways to interact with the toy in giving it instructions for how to stimulate. One quick thing we did is make a simple breath sensor and connect it to the device. This explores some ideas of passive bio-feedback, as well as active feedback from you or a partner pulling on the sensor.
More fabric, More thread, Gator Clips, conductive rubber that changes resistance when stretched (available from Adafruit), Resistor (Adafruit is so nice they actually package a resistor with your rubber when you get it).
New Code: https://github.com/Comingle/ComingleCodeSnips/tree/master/Electric_Eel_Wsensor
Cut an 18cm wide patch of fabric to a length where it almost goes entirely around your chest except for an 8cm gap. Grab a piece of conductive rubber and use it to connect the two ends of the fabric "bra" around your chest. Hold it so that the conductive rubber is taught while your chest is at rest, and that you can notice a definite stretch when you breathe in. Chop the rubber to this length. Attach gator clips to each end of this rubber band.
Cut two more pieces of fabric "communication suspenders" that are 2cm wide and can run a length from your chest to your groin comfortably. Sew one end of each suspender to each side of the "bra"
Sew a conductive pad to each of these ends of the suspenders and sew a conductive thread to these conductive pads down each suspender as well.
To your electric eel, sew two extra conductive pads into the base one leading to a pin you will use as an input, and the other to the Vin of the microcontroller.
Run a resistor between the analogue input pin and the ground.
Now you can clip (or permanently sew) the suspenders to your eel. Your input sensor circuit should be complete. Now we need to tell the computer what to do with this information.
Hereís our program that we used to control the eel. You can start with this, but you will probably need to recalibrate your sensor to your exact needs.
Step 13: Advanced and Future Steps
*Warning, these are, as yet, not fully tested ideas
Our testing showed that 6-9 volts gave even better performance in stimulating regions of interest. The lilypad will only output a max of 5volts, 40ma.
Therefore, a slightly more sophisticated design, using the outputs on the Arduino to trigger transistor gates to release more power (still not that much though), would probably give superior results. We have not yet had time to implement this, but I will let you know when we do!
For your information though, the basics of how this would work means that you would need just a couple more additional parts:
More powerful battery
I would recommend supplying either 6 or 9 volts (maybe even 11-12). Note, these voltages will fry your lilypad, which is why, before you plug it into your microcontroller, you will need aÖ
3-5v Voltage Regulator
These are inexpensive little chips that you can feed a range of voltages from your power supply, and it will output a specific voltage. You will want a 3-5v one to go into the brains of your device.
Transistors (Or Dual H-Bridge Motor Controller)
These are little gates that you can control the flow of large voltages, by triggering them with low voltages (like those coming out of the Arduino). These would go in-between the Arduino and the electrical output contact that are present in the original design, and each would be supplied with the full voltage of your power supply. To save space in your device, you can get little, easy-to-use chips that have several transistors built-in, such as a SN-75707!!!!!!!!!!!!!!!!! Dual H-Bridge motor controller. These fit 4 controllable outputs onto one tiny chip.
Current Limiting Devices (Resistors)
Your skin is going to be offering plenty of resistance, but to be safe and prevent any burns, with this different setup, you will need to make sure not too much current will be pumping through. There are devices to specifically limit current, but if you donít have those, you might want to hook up an example circuit and start with adding a really high resistor into the mix, and lowering this slightly until you achieve pleasurable levels of voltage. Iím sure this part will be ripe for lots of suggestions from the community, which is why we made this instructable anyway! So let us know if you have other, better, safer ideas!