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>Many thanks :)</p>
<p>Can we use homemade electrodes from nickel buttons to provide the input for sensor</p>
<p>Hi I'm using your circuit as part of a control mechanism for an exoskeleton. I have made the circuit however I'm getting errors when running the codes for processing and no readings on the graph specifically with the Line 60 in the bar graph processing code: println(Serial.list));. The error is &quot;Type strin[] of the last argument to method println(object...) doesn't exactly match the vararge parameter type. Cast to object[] to confirm the non vararge invocations or pass individual arguments of type object for vararge invocation&quot;</p>
<p>Can we use this circuit for ECG purpose of brain and heart ???</p><p>Please reply me fast</p><p>Thanks</p>
<p>I recently made this circuit on a breadboard. But the circuit does not show any output on the Arduino serial plotter when the given Arduino code is used. Can someone please help me out with this? I need to know what could have gone wrong?</p>
<p>I will be needing more than 3 electrodes in my system. So naturally I will be needing more than 1 INA106. But it is exceeding my budget. So i wanted to know if there's a cheaper alternative to the INA106 IC?</p>
<p>Instead of using wires, is it possible to make this system wireless, especially the microcontroller? And how do i do it?</p>
You can't eliminate the wires going from the electrodes to the circuit but it should be possible to eliminate wires going from the circuit to the microcontroller. In simplest terms, you'll need to send the output through a ADC converter and then a Bluetooth or Wifi transmitter.
<p>Ok! Can you tell me how exactly to make the connection from the circuit to the controller wireless? Could you please provide me the instructions to do it?</p>
<p>Can we connect more than 3 EMG electrodes in this same setup?</p>
No this circuit is for one muscle (three electrodes). You'll need to duplicate the circuit for every set of electrodes or you can multiplex after the IA phase (would still need an IA per muscle aka set of electrodes).
<p>Oh alright! Thanks</p>
<p>can we have PCB schematic i would lie to print it also can i use ina 129 instead ina 106.</p><p>thanks </p>
<p>I am trying to use the processing code but i keep getting the error &quot;the size of your sketch could not be determined&quot; , any advice? Sorry, I am new to coding.</p>
<p>Hi,</p><p>Code for this experiment can not found in the url which you gave a year ago.</p><p>Where can I find?</p>
Hi halaskar,<br><br>We moved all our code and documents to a GitHub repository.<br><br>https://github.com/AdvancerTechnologies/MuscleSensorV3
<p>Can we use Arduino UNO instead of Arduino Duemilanove ...???</p><p>Please Help ..</p>
Yup any arduino will work. Most microcontrollers will work as long as they have analog input pins (e.g. raspberry pi will not work without interface hardware)
<p>hello,i have a muscle sensor and a cable to connect electrodes with sensor. Problem is that color of cable connector is green,yellow,and red,Instead of red,black and blue.and i have little bit confused about connections.On green cable &quot;F&quot; is written,on yellow &quot;L&quot;,on red&quot;R&quot;. Please advice me. Thanks</p>
<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.

About This Instructable


600 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: