DIY Muscle Sensor / EMG Circuit for a Microcontroller

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!
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 .

Remove these adsRemove these ads by Signing Up
1-40 of 206Next »
oscar25623 days ago

What is voltage it receives the human body due to the electrodes and
amplifier circuit? Also is it safe to apply to people with pacemakers or

oscar2561 month ago

How much is the max amplification for biosignals it has the circuit? Reading a little, i see: G=110 for the INA106. G= -15 for the first opamp, G= -1 for the second opamp, and G=POT/1K for the last opamp. So the final gain is G=(1650)(POT/1K)??? is this correct?? And the max gain is G=165000????

NilayM1 month ago

Hi, I am working on an cost-effective EMG prosthetic as a high school project. I'm fairly new to diy electronic projects so I wanted an expert's take on the capabilities of the muscle sensor r3 kit. For my needs, I wanted to know if multiple kits(2 or 3) could be connected to the same arduino uno(I will probably be investing in an arduino mega soon, so is it possible in that too)? Also, with the data that the emg sensors collect, will I be able to use that to control a set of motors independent of a computer's presence. Unfortunately, I am in a time crunch and need answers very soon, so any response would be much appreciated. Thank you for your time and expertise.

Gundanium (author)  NilayM1 month ago
Hi Nilay, you can indeed use multiple sensors per microcontroller. However, you can't directly drive a motor with the sensors. You'll need to use a microcontroller or a servo control board to read the sensor data and control the motor accordingly.

thorshammer1 month ago

Hi, I was wondering if it was possible for me to replace the tantalum capacitors with ceramic ones

J_Aparecido1 month ago


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,

rudiclan2 months ago

Hello, I have a problem with the circuit. Sometimes everything works fine and sometimes there is no signal. I used a scope to measure each step an figured out that I have a high DC offset after the first ampification step (AD620 with gain of arround 110). The DC offset is about 800 to 1500mV but I see a oscillation when I use the muscle. Now the signal gets amplified by a factor of 15 and the opamp saturates (constant 8,x V). After the ac couple with the capacitor the signal gets zero. Is it possible to reduce the DC offset or decouple the signal before the second amplification step? Thank you!

dhivya133 months ago

Hi can i ask if this circuit can be used with Matlab software to display results?

KalRob4 months ago

This is great, does anyone have the PDF file of this? I can't download it. Also, what areas would you change/ replace to make this better? Thank you!

oscar2565 months ago

What is voltage it receives the human body due to the electrodes and amplifier circuit? Also is it safe to apply to people with pacemakers or prostheses?

AtlasGe5 months ago

dear Gundanium(it seems you are a gundam lover hummm?) i need your help!

i thought i've correctly drawn the .sch file(or at least made it looks like a right one)

also i've tried to turn it into a pcb design

but as i pressed the button 'PCB Quote', there is something wrong and I have nothing to do about it.

what is the signal layer and how to 'put' copper on it?

is it the right way i'm taking?

any kind help is apprecited!


jrosales56 months ago
Can i use the AD620?
Gundanium (author)  jrosales56 months ago

Yes, if you adjust the gain accordingly.

jrosales56 months ago
How do you know in what part of the body put the three electrodes? For example how i put the electrodes for sense the fingers or my leg or other part of my body?
Gundanium (author)  jrosales56 months ago

That takes some knowledge in Anatomy. It'd consult with anatomical diagrams to figure out where the muscle you want to measure is located. Also, not every body is the same so it might take some trial and error to figure out the best location for the electrodes.

oscar2566 months ago

Hi, Can i make the program Muscle Mouse, without using the bluetooth
module in processing, to control the helicopter game just whit the
arduino? Or is necessary a bluetooh mouse?

Gundanium (author)  oscar2566 months ago
You would need to hack your Arduino to act as a mouse which is not a simple matter. If you want to go this route, you can read our Biofeedback Video Game Instructable. In it, we demonstrate how to hack the Arduino to act as a keyboard.

Also, using Bluetooth adds a layer of isolation between the user and the power grid. If you connect it to a computer via an Arduino and a USB cable, you'll want to add an isolation amplifier between the sensor output and the Arduino.

Is it possible to do through the processing, without hacking the arduino?

Gundanium (author)  oscar2566 months ago

Not that I'm aware of.

oscar2566 months ago

Why did you mention that the INA106 amplifies the signal from the electrodes with a G = 110, if the datashhet mentions that amp is only with G = 10?

Gundanium (author)  oscar2566 months ago
The gain equals 10 if you short pins 5 and 6 (G = 100kOhm/10kOhm = 10). However if you add a resistor between them, you can adjust the gain. (G = (100kOhm + resistor)/10kOhm). In this circuit we have a 1MOhm resistor between the pins thus the gain is (100kOhm + 1MOhm)/10kOhm = 110.

Look at page 6. There's an example of INA106 configured with an adjustable gain.

Ok, thanks so much

j135797 months ago

I want only the muscles electrode.
the link you gave also shows some IC with it.

I just want electrodes.

from where I will get it?

Gundanium (author)  j135796 months ago

We now sell electrode packs:

Gundanium (author)  j135797 months ago
j13579 Gundanium6 months ago

Thanks :)

j13579 Gundanium6 months ago

Thanks :)

oscar2566 months ago

I can change the 1uF ceramic capacitor for a 1uF tantalum one?

I can change the 80.6K resistor for a 82K resistor?

Gundanium (author)  oscar2566 months ago

Ceramic capacitor to tantalum: Yes

80.6k resistor to 82k resistor: Yes but it will change your output slightly.

oscar2566 months ago

What software you used to display the signal from the electrodes on the PC?

Gundanium (author)  oscar2566 months ago


sama12 Gundanium6 months ago

How do the Output of this sensor board looks like can you send or attach screenshots please

oscar2566 months ago

What software did you use to simulate the circuit? Because I have the proteus but does not have the INA106

Gundanium (author)  oscar2566 months ago
Eagle by CadSoft
sama12 Gundanium6 months ago

Where can I find this INA106 in Eagle? I m not able to find it.

Gundanium (author)  sama126 months ago

Just use the INA105 and change the value to INA106 after you place it in the schematic. It has the same pin connections. It's in the burr-brown library.

sama12 Gundanium6 months ago

I don't have this library in the version of Eagle I have. Where can I find it Online. Thanks for replying.

sama12 sama126 months ago

Thanks for helping . I just found it online, you have done a great job.

sama126 months ago

Please send me schematics of this circuit and tell me it will perform filtration as well?

lala1146 months ago

hi wanted to ask about the electrodes umm I am little bit confused I saw the link you just posted but they only show the disposable piece but does it come all as a pack like the upper read and white thingy ?

1-40 of 206Next »