Picture of DIY Muscle Sensor / EMG Circuit for a Microcontroller
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 .

1-40 of 278Next »
RománV18 months ago

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

Gundanium (author)  RománV18 months ago
Hi The sample code can be found on our website: http://www.advancertechnologies.com/p/muscle-sensor-v3.html
OzoneAmanda made it!yesterday

Picture of the EMG activity I measured with this project. So cool :)

ourrecruits22 days ago
kayace1 year ago

my research need to use amplifier with 2 electrode..
is this circuit compatible by using 2 electrode..

Gundanium (author)  kayace1 year ago
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.

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

Goldstones1 month ago

Hi I am not an electrical engineer. I am doing a lab project
with EMG elecrodes that read small facial muscle EMG signals via surface
electrodes. I just need an indicator (such as a buzzer or flashing light) to go
off when the small muscle is stimulated.
Would any of your sensors serve that purpose for me? How would I set up that
circuit? Thank you

Gundanium (author)  Goldstones1 month ago
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
JimmyS52 months ago


i did the correct circuit but in output i have small tension (0.290mv) do u think i burn some components?

thank you for ur help

SPLatManOz2 months ago

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.

elkhorn1ac3 months ago

Hi there, very cool stuff! What program were you using on your mac to show the emg? Thanks!

HafeezTajik4 months ago

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.

mohammad.gh955 months ago

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

mohammad.gh955 months ago

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

galaxyc5 months ago

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

michellecgan5 months ago

What's a good alternative to the TL072 and INA106? I think they don't sell them here.

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.

ManikandanP26 months ago


I am doing a project on Measurement of ECG signals using
Textile electrode.

I have some doubts. I request you to help me.

  • I have two textile conductive fabric electrodes E1 & E2 (+/-)
    which can be placed in chest. Is it required to use electrode E3?
  • What type of electrode can be used for ground
    (E3)?... Conductive fabric?
  • Do I have to excite the electrode?

Please reply me as early as possible.

Kindly give me some materials on Textile electrodes
measurement and its signal conditioning circuits. (Email ID: aashajoe@gmail.com)

I am waiting for your reply sir.

I have a question about the basic materials required.

I don't see the Arduino or Breadboard listed in the materials.

What boards do I need to accomplish this project if I order everything in the materials list?

This is my first time working with electronics on this level. Thank you.

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,

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

kindly help me

actually there are two wires in the EMG electrode cable.how can we connect to the circuit?

2015-02-07 17.48.47.jpg

Actually there are two wires in EMG electrode cable(red and white).how can we connect to the circuit?

2015-02-07 17.48.47.jpg

Hi, Gundanium. Im trying to build the sensor and was curious about what are the improvements I should make tô the project tô 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

Gundanium (author)  fernando.limoeiro6 months ago
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.


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.

I tried to increase or decrease the gain resistor between pins 5 and 6, but to no avail, however lost sensitivity.

I'm starting in the area of electronics, if someone give some hint where I can find information on, I thank you.

And sorry, my english is not very good, I am "writing" with the help of a translator ...

Thank you,

Gundanium (author)  J_Aparecido9 months ago
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.


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.

thank you very much

anka-mehmet6 months ago

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.

建宏賴7 months ago

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.

The other signals like ECG, body temperature...etc. Did you ever tried?

sunny.bhuyan27 months ago

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.

husnalebiu7 months ago

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.

Gundanium (author)  husnalebiu7 months ago
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.
husnalebiu7 months ago

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.

OppaC7 months ago

Hello! May I ask if I can also use this circuit for other applications, such as ECG?

Gundanium (author)  OppaC7 months ago
No. ECG waveform has a vastly different shape and requires different filtering. You could potentially use it as a crude heart rate sensor.
ReyhanS7 months ago

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.

Gundanium (author)  ReyhanS7 months ago
Here's the Arduino and Processing code

Gundanium (author)  ReyhanS7 months ago
It's called Processing https://processing.org/

There's sample code on our product page: http://www.advancertechnologies.com/p/muscle-sensor-v3.html
ReyhanS8 months ago

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?

1-40 of 278Next »