Measuring the body’s electrical signals is a neat trick… if you can get your equipment dialed in enough to establish dependable measurements. The technique is called Surface ElectroMyography (SEMG) though you’ll hear many call this ECG. They’re essentially the same technology; the Electro CardioGraph instruments monitor the activity of the heart while SEMG Instruments monitor electrical signals used to control other muscles. Both types of hardware amount to an instrumentation type amplifier and some form of I/O or display.
This topic has been in my back pocket for many months now. Back in May we Hackaday’ites descended on New York City for the Disrupt NY Hackathon event. We arrived a day or so early so that we might better peruse the Korean BBQ joints and check out the other electronics that NY has to offer. On Saturday we gathered around, each shouting out the size of his or her t-shirt preference as we covered up our black Hackaday logo tees with maroon maroon ones (sporting the Hackaday logo of course) for a 24-hour craze of hardware hacking.
There were two individuals at our tables who were both hacking away on hardware to measure the electrical field produced by the body’s muscles in some form or another. The electrical signals measured from the skin are small, and need careful consideration to measure the signal despite the noise. This is a fun experiment that lets you work with both Instrumentation Amplifiers and OpAmps to achieve a usable signal from the movement of your body.
At the Hackathon, Andrew Ippoliti had a little amplifier and a microcontroller and was playing with controlling a small motor. He had the analog working fairly early in the evening allowing him time to tweak the motor control into the night until falling asleep with his head on the table somewhere around 2AM.
David Nghiem, who won one of the awards presented at the Hackathon, was seen walking around with his SEMG module semi-permanently attached in hopes of future assimilation. David has an excellent Hackaday.io project with description of how his SEMG project works.
I threw together the following circuit during the summer to see what I could do in my own lab. Let’s take a look.
The Amplifier Board
In the block diagram above, three connections are used to pick up the small electrical signature of the body’s muscles. Two leads are connected directly to the inputs of an instrumentation amplifier. You’ll remember from my previous video, Instrumentation amplifiers are special because of their high impedance and low noise characteristics. Often it is not the highest gain block in a chain, its primary job is to dig the signal out from the environment and give it its initial amplification and buffering so that following stages can further amplify a clean signal easily. The instrumentation amp is also good at stripping out a signal, whether noise or just an offset (the common mode part), and amplifying only the difference (the differential). That is exactly what’s going on here.
Since the human body is a great collector of 60 Hz noise (you can touch the tip of a scope probe for an example of how much) the rejection of the 60 Hz common mode is essential. The circuit shown has a feedback path that attempts to offset the effects of low frequency noise by inverting some of the signal, low passing it and feeding it back to the body.
Finally I added a jumper selectable filter which is essentially a half wave rectifier (remember the post on including the diode in the feedback loop to make it a zero forward voltage diode?) and a capacitor with discharge resistor. A small positive pulse causes a fairly immediate positive voltage on the capacitor and then the resistor causes a slower discharge making the circuit into a pulse stretcher.
From here it’s a simple RC high pass filter and then a low pass filter and amplification stage followed by another amplification stage, standard Op Amp stuff.
As it turns out the circuit was able to produce a signal of roughly 5Volts by squeezing my hand. Just to help visualize that it really is working and not just displaying noise I connected up an LM3914 bar graph driver and was able to get a full scale display by flexing my arm muscles.
The biggest change I would make to the circuit would be to add 100k resistors in series with the leads as sticking anything to the skin that isn’t current limited can be dangerous, especially if there is AC operated equipment that has an issue such as a floating ground. In this case I used a 9V battery to power the circuit to eliminate the need for the extra components while shooting the video.
With just a handful of chips and we can see a little bit about what is going on under the skin. Sometimes these simple things still amaze me. I hope you feel the same way. I’d love to hear about your own SEMG projects, and any ideas you have for using this technique in future videos. Let me know in the comments below.