Measuring muscle activation via electric potential, referred to as electromyography (EMG) , has traditionally been used for medical research and diagnosis of neuromuscular disorders. However, with the advent of ever shrinking yet more powerful microcontrollers and integrated circuits, EMG circuits and sensors have found their way into prosthetics, robotics and other control systems. Yet, EMG systems remain expensive and mostly outside the grasp of modern hobbyist.

This instructable will teach you how to make your own muscle sensor / EMG circuit to incorporate into your next project. Use it to control video games, robot arms, exoskeletons, etc.

Click on the video below for a demonstrations on how to hook up and use your EMG circuit board!

You can now also purchase  EMG sensors, kits, cables and electrodes at www.AdvancerTechnologies.com!
Muscle Sensor Kit (now also on SparkFun)
Muscle Sensor Electrodes

Note: This sensor is not intended for use in the diagnosis of disease or other conditions, or in the cure, mitigation treatment, or prevention of disease, in a man or other animals.

About Advancer Technologies 
Advancer Technologies is a company devoted to developing innovative game-changing biomedical and biomechanical technologies and applied sciences. Additionally, Advancer Technologies promotes all forms of interest and learning into biomedical technologies. To help culture and educate future great minds and concepts in the field, they frequently post informative instructions on some of their technologies. For more information, please visit www.AdvancerTechnologies.com .

Step 1: Materials

Click on the links to go to where you can buy items/order free samples.

Circuit Chips

3x TL072 IC Chip  - Free Samples
1x INA106 IC Chip  - Free Samples

Cables and Electrodes
1x EMG Cables   (set of 3)... Note: you could optionally connect the alligator clips directly to the electrodes.
3x EMG Electrodes  

2x 9V Battery
2x 9V battery clips  

• 2x 1.0 uF Tant 
• 1x 0.01 uF Ceramic Disc  
• 1x 1.0 uF Ceramic Disc   

• 3x 150 kOhm 1%  
• 2x 1 MOhm 1% 
• 2x 80.6 kOhm 1%  
• 6x 10 kOhm 1%
• 1x 100 kOhm Trimmer 
• 1x 1 kOhm 1%

• 2x 1N4148 Diode  
Jumper wires
• 3x Alligator clip cables

• 1x Oscilloscope
• 1x Multimeter
<p>what programs and code for arduino you used for the data acquisition and the visual representation of the emg signals?, thanks for your time and for your project (:</p>
Hi The sample code can be found on our website: http://www.advancertechnologies.com/p/muscle-sensor-v3.html
<p>Hello!</p><p>I am using an INA118 to sense EMG but the only thing I can see is the 60Hz noise. Why is it not rejecting the common mode noise? It has a high CMRR. I am using a power supply +- 9V and the RG=240ohms (Gain about 200). The refference pin is connected to ground and I am using three wires to connect to the body. The ground and the two input pins of the INA118 (+ and -). The wires are single wires, not blinded and not twisted. Can you give me any hint? My circuit is exactly the same as the Advancer sensor V3, a little different from yours with INA106. My next move will be to assemble with the INA106 if I cannot make my current circuit work. Thank you!</p>
<p>Picture of the EMG activity I measured with this project. So cool :)</p>
<p>What type of data visualization software are you using? I'm doing a research project with making this EMG sensor, and I think this software would be perfect for my project. </p>
<p>hi, I love this project. where can you provide more information about it. i would like to use it as my bachelor project</p>
<p>It was a nice experience :)</p>
<p>Hi,Gundanium i'm new in electronics so could u please tell me the connection needed if i replace the INA 106 with AD620 </p>
<p>Hello,<br>my research need to use amplifier with 2 electrode..<br>is this circuit compatible by using 2 electrode..</p>
No you'd need to design a new circuit that doesn't use a differential amplifier to only use 2 electrodes. This is called monopolar EMG. The main issues with monopolar EMG is that, unlike the bipolar EMG, noise (e.g. 60Hz hum) is not eliminated by the op-amp so you have to design more sophisticated filters to remove the noise. This is taken care of inherently by bipolar EMG since they employ differential amplifiers with high CMRR (common mode rejection rate) which eliminates noise common to both electrodes.
<p>Hi, great tutorial, a friend and I built a modified, monopolar version of this circuit for a project a few years back, and we certainly did see a lot of signal noise. However, looking back on the circuit diagrams, I am now curious: What would be the harm in using a monopolar design, but rather than using a mid-muscle sensor and a neutral reference point, using a mid- and end-muscle electrode? Isn't that the voltage difference that's being amplified anyway? And if you set it up that way, you wouldn't have to worry about noise common to both electrodes, right? Because you wouldn't even be able to observe that noise to begin with? I get that there is probably a good reason it was designed as it was, but I am having difficulty seeing what the consequences would be of setting up a system like that. Is it somehow that the measured voltage is actually between the mid muscle sensor and the bone, and the other muscle sensor is primarily to reduce common noise across the entire muscle? For reference, I am a mechanical engineering student with a background in computer science, mostly hands-on experience with electronics, and a cursory understanding of anatomical systems. Thanks in advance</p>
<p>Hi I am not an electrical engineer. I am doing a lab project<br>with EMG elecrodes that read small facial muscle EMG signals via surface<br>electrodes. I just need an indicator (such as a buzzer or flashing light) to go<br>off when the small muscle is stimulated.<br>Would any of your sensors serve that purpose for me? How would I set up that<br>circuit? Thank you</p>
Yes it would be suitable for your application. Our new sensor the MyoWare actually has an on-board LED that is driven by the output signal. https://www.kickstarter.com/projects/312488939/myowaretm-harness-the-power-of-your-muscle-signals
<p>Hi,</p><p>i did the correct circuit but in output i have small tension (0.290mv) do u think i burn some components?</p><p>thank you for ur help</p>
<p>Don't you compromise the common mode rejection by boosting the front end gain with external 1M 1% resistors? CMRR is the prime consideration digging small differential signals out of the background hum! The INA10 has spectacular CMRR and gain accuracy because it has finely (and expensively!) laser matched resistors. I would have thought it better to up the gain in the 3rd stage, which is currently unity.</p>
<p>Hi there, very cool stuff! What program were you using on your mac to show the emg? Thanks!</p>
<p>hey gundanium. i am working on this sensor and want to controll a wheeled robot or a robotic arm. i would highly appreciater ideas in this regard about how to work on that.</p>
<p>Hi every body , I have done the Circuit above there and i want to connect a servo motor using arduino uno and electrodes could any body have any idea about that thank you in advanced</p>
<p>DIY Muscle Sensor / EMG Circuit fohi, may we connect servo motor on the breadboard or Arduino to control them with the EMG system,thanks in advance </p>
<p>hello and good day. im working on my fyp which is related to the hand gesture in controlling home appliance. by using the coding given, i am actually stuck and confused to what actually this sensor will displayed. i dont know if im on right track or not. as there is no further explanation on it. and how i can drive a dc motor from the muscle signal output by using arduino uno. please help me and thank u if u can help me..T_T</p>
<p>What's a good alternative to the TL072 and INA106? I think they don't sell them here.</p>
<p>can u tell me the output voltage of this diy muscle sensor on pin 1 of chip D and ground and another question is can i use the schmitt trigger on the input of ardunio.</p>
<p>Hi,</p><p>I am doing a project on Measurement of ECG signals using <br>Textile electrode.</p><p>I have some doubts. I request you to help me.</p><ul> <br><li>I have two textile conductive fabric electrodes E1 &amp; E2 (+/-) <br>which can be placed in chest. Is it required to use electrode E3?<li>What type of electrode can be used for ground <br>(E3)?... Conductive fabric?<li>Do I have to excite the electrode?</ul><p>Please reply me as early as possible.</p><p>Kindly give me some materials on Textile electrodes <br>measurement and its signal conditioning circuits. (Email ID: aashajoe@gmail.com)</p><p>I am waiting for your reply sir.</p>
<p>I have a question about the basic materials required.</p><p>I don't see the Arduino or Breadboard listed in the materials.</p><p>What boards do I need to accomplish this project if I order everything in the materials list?</p><p>This is my first time working with electronics on this level. Thank you.</p>
<p>Hi, Actually i m making a battery plates tester, in which i pass 21Amp and 5V dc across the the plate, and the voltage drop across the plate is 0.3mv to 0.4mv , if drop is 0.3mv it is satisfactory, and if it is 0.4vm that is not satisfactory, <br><br>i m using instrumentation amplifier, ad620, to detect the small signal and amplify it to certain voltage, then i compare the two voltages by using comparator is lm324, but the problem is that it produces chattering in relay operation , i have added hyterisis but it still produces chattering</p><p>kindly help me </p>
<p>actually there are two wires in the EMG electrode cable.how can we connect to the circuit?</p>
<p>Actually there are two wires in EMG electrode cable(red and white).how can we connect to the circuit?</p>
<p>Hi, Gundanium. Im trying to build the sensor and was curious about what are the improvements I should make t&ocirc; the project t&ocirc; add two more channels? Should I double the circuit os there are other alternatives? Im no eng, but a biophysicist and enthusiast of tech and electronics. Thank you</p>
You basically would need to duplicate the circuit 2 more times to add 2 more channels. There are technical obstacles that will prevent you from using more elegant solutions like muxing.
<p>Hello,</p><p>I managed to assemble this project is operating normally ... like a hint, how can I increase the sensitivity of the circuit? For example, if I want to monitor variations in electrical potential without even having muscle contractions, or in a state of relaxation or strees would be an example. </p><p>I tried to increase or decrease the gain resistor between pins 5 and 6, but to no avail, however lost sensitivity. </p><p>I'm starting in the area of electronics, if someone give some hint where I can find information on, I thank you. </p><p>And sorry, my english is not very good, I am &quot;writing&quot; with the help of a translator ... </p><p>Thank you,</p>
Youd probably be best using the raw emg waveform rather than the envelope. Just use an instrumentation amplifier like the first stage of this circuit. Remove DC offset from its ouput with a high pass filter and then amplifier with as much gain as you need to get the sensitivity youre looking for.
<p>Hello,</p><p>Thanks for the feedback, for a while I was not looking at the messages here. Thanks for the tip, I've done other attempts, I obtained some success, but not as expected ... I'll try this way.</p><p>thank you very much</p>
<p>hi, can we connect servo motor on the breadboard or Arduino to control them with the EMG system, and if so where connected. thank you very much. </p>
<p>Oh! I made one by MSP430 four years ago in Taiwan, the instrument amplifier I adopted is AD620, plus band pass filter from 60~1.0kHz to get signals. You can read the paper in Taichung Chin-E Univ. of technology.</p><p>The other signals like ECG, body temperature...etc. Did you ever tried?</p>
<p>My project is about Headache measurement using EMG sensors. How could I get the EMG sensor electrodes that can collect the pulses in about 200mV.</p>
<p>hye Gundanium, my final year project is about wireless EMG for nominal switching controller. I want to control the on-off switching for lamp or bulb for 240V. from what I have proposed, my project concept is build an EMG circuit with a tranceiver and build one circuit with a transceiver as switch for my 240V bulb. The EMG circuit will be controlled the switch to on or off the bulb.So do I need isolation circuit in my EMG circuit? may you give me some idea about my proposed project.</p>
Yeah you will probably want isolation between the power source and the EMG circuit and between the EMG output and whatever connects to the bulb controller.
<p>hye Gundanium, my final year project is about wireless EMG for nominal switching controller. I want to control the on-off switching for lamp or bulb for 240V. from what I have proposed, my project concept is build an EMG circuit with a tranceiver and build one circuit with a transceiver as switch for my 240V bulb. The EMG circuit will be controlled the switch to on or off the bulb.So do I need isolation circuit in my EMG circuit? may you give me some idea about my proposed project.</p>
<p>Hello! May I ask if I can also use this circuit for other applications, such as ECG?</p>
No. ECG waveform has a vastly different shape and requires different filtering. You could potentially use it as a crude heart rate sensor.
<p>We used Arduino but we couldn't visualize it. Which program have you used for processing for Arduino? We used Firmata but we couldn't understand how to use both codes together. Can you please tell us how to make it step by step? Thanks for your consideration.</p>
Here's the Arduino and Processing code<br><br>https://github.com/AdvancerTechnologies/Muscle-Sensor-v3/tree/master/Example%20Code/BarGraph
It's called Processing https://processing.org/<br><br>There's sample code on our product page: http://www.advancertechnologies.com/p/muscle-sensor-v3.html
<p>How can you connect the circuit to computer and which program are you using for monitorizing output signals? Also can we get the signals from oscilloscope?</p>
The circuit outputs an analog signal so you need either an analog-to-digital converter or a microcontroller to convert it to a digital signal the computer can understand. I usually do with with an Arduino MCU. I'm using an Arduino sketch to send the sensor data over serial and Processing to take that data and visualize it. You can find the code on our website or on our GitHub repository.<br><br>As for an o-scope, the signal is analog so you can view it with an o-scope.
<p>i couln't find INA106 can u suggest another IC instead of that?</p>
<p>i couln't find INA106 can u suggest another IC instead of that?</p>
hai am bhavana, the project is very good , building our own EMG circuit for many applications, iam thinking to use this in my project, but my question is where can i get the software or program to be installed into arduino. please help in this regard <br>thank u

About This Instructable


553 favorites


Bio: Brian Kaminski Owner - Advancer Technologies Brian graduated from North Carolina State University with a BS in Biomedical Engineering with a concentration in Biomechanics in May ... More »
More by Gundanium: Bionic Wolverine Claws Bionic Iron Man Glove Bionic Iron Man Armor (w/ Sound Effects)
Add instructable to: