Creative Commons images are CC BY-NC-SA 3.0


added to your
shopping cart

In stock 184 in stock
49.95 1+ units
44.96 10+ units
39.96 100+ units

Description: Granted, using our muscles to control things is the way that most of us are accustomed to doing it. We push buttons, pull levers, move joysticks... but what if we could take the buttons, levers and joysticks out of the equation? That's right, take the electrical signal straight from the muscle and put it into your device. Thanks to shrinking amplifier technology, we can now do exactly that!

Measuring muscle activity by detecting its electric potential, referred to as electromyography (EMG), has traditionally been used for medical research. However, with the advent of ever shrinking yet more powerful microcontrollers and integrated circuits, EMG circuits and sensors have found their way into all kinds of control systems.

This sensor will measure the filtered and rectified electrical activity of a muscle; outputting 0-Vs Volts depending the amount of activity in the selected muscle, where Vs signifies the voltage of the power source. It's that easy: stick on a few electrodes, read the voltage out and flex some muscles!

This kit comes with everything you need to start sensing muscle activity with your Arduino or controller of choice.

Dimensions: 1.0" x 1.0"


  • Small Form Factor
  • Specially Designed For Microcontrollers
  • Adjustable Gain
  • 3.5mm Connector
  • Breadboard Compatible
  • Power supply voltage: min. +-3.5V


  • Muscle Sensor Board
  • 24" Cable Leads
  • 6 Disposable Surface Electrodes


Comments 67 comments

  • My son has a myoelectric left arm that has electrodes that don’t need pads to be replaced. I’m building a bunch of stuff for him (like a ShapeOko CNC) to start building his own arms and other useful life enabling tools that are more cost effective. His current arm takes up $30k+ of my health benefits each year. The option to have an homebrew arm that doesn’t require replacement pads would be a huge plus. Something to consider for the future.

    • You are an amazing father.

    • Keep us updated on your son’s progress! I think it’s awesome that people are taking the first steps toward developing their own solutions. For what it’s worth, I personally think an open source approach could really accelerate the development of prostheses.

      I’m sure you and your son are already aware of this community but the Open Prosthetics Project has some great resources.

    • Dan- I’ve done research regarding brain-mapping kinematics (interpreting desired body movement through an EEG) working towards developing prosthesis controlled by thought. If you’re interested what I have to share, feel free to pm me at any time. With respect to fabrication, I have a commercial grade 3D printer as well as a CNC machine shop- both of which are at your disposal.

      This is not a solicitation and I expect nothing in return from you.

      • Wow. I’m not even quite sure now to process that. That’s incredible. I dont think there is a PM capability but feel free to reach out to me at

    • Hello Dan,

      I am developing an Open Source Project to build a low cost MyoElectric arm. Take a look at the progress:

      Let me know if you need any help.

      Gustavo @ Brancante .com

      • That’s pretty rad. Unfortunately we just got the bill for his latest arm so projects are going on hold for a while but I’ll definitely be touch and following your progress.

    • Get a 3D Printer as well.


    • Most EMG electrodes will work with the sensor. For a homebrew reusable electrode, check out the fabric electrode tutorial. Wish you and your son the best of luck. It’s amazing how much those myoelectric arms cost.

    • You win my vote for best DIY project.

    • That sounds like an amazing project.

  • I’m trying to get some output from the sensor version 3.0 (number 2913) but unfortunately the voltage level doesn’t change when I flex my muscle. Here’s what I did: I’ve setup the hardware as indicated in the pdf using the +9 and -9 volt batteries. I ran the AnalogVisualizationArduino file. Looping through the pins the voltage level stayed the same, between 360 and 400. This change is random, has no relation to my movements. I checked the power and output with a multimeter but here also the signal pin output stayed around 0.036V

    Did I miss something basic here? Is there a tutorial to test my setup? Or is something wrong with the board, perhaps?

    Thanks very much in advance for your help, best, Anja.

    • This is the same issue I am having. I went back and did some more testing - I have woltages at every step except for the output so far. The power supply leads read ~18 volts, and I can get readings at the 3.5mm connector (you can read a voltage, I was seeing inbetween 380-60 mV on two of the four leads). So the unit gets power, the electrodes are providing signal, but there is just no output. I too followed the tutorial provided here, and there is just no output. Sometimes, if I giggle things just right, I can get some varying voltage out of the outputs, but nothing more than 300 mV, which if Im not mistaken, is WAY low. (I was mistaken in my 1st post about expected outputs). Its almost as if the op-amps are in backwards or something.

      Sparkfun, if you could look into this, it would be great. I’m really looking forward to using these and making stuff, all I need is functional boards and Im off!

  • I have purchased two of these sensors, but am having difficulty getting them to output a reading. I have both wired up individually as indicated in the user manual, and hooked them both up to a Arduino Uno, using the wiring diagram provided. When I run the example code provided on this page, I don’t get any readout from the pin that they are connected to. As all pins are declared in the code, all of them provide a baseline reading, which don’t change (and shouldn’t if there is no sensor on those pins). However, even the pin that I do connect to the sensors only read a baseline value that doesn’t change when I move the muscle. I checked that there is signal coming out of the sensor, and indeed there is. Using the gain, I can modulate the magnitude of the signal, but it doesn’t respond to any muscle movements - i.e. the signal voltage stays the same regardless of muscle movement, but DOES change when the gain is adjusted. I have seen readings on my multimeter of as low as 61 mV to as high as 399 mV (which I believe is expected when using two 9V batteries).

    So, what am I doing wrong? Are the sensors really sensitive to location? Is there a trick to how they should be placed? Is there a way to test for dead functionality? Any assistance that someone could provide in figuring this out would be greatly appreciated. Thanks in advance.

  • This is a very nice little unit although it should have an adjustable integrator as it would be nice to look at surface EMG individual spike amplitudes to see how many motor units one is activating. With the electrodes positioned properly, the CMRR is amazing and got an incredibly clean signal on my Propscope. Was easily able to position the electrodes to pick up activity from the extensor indicis muscle and had a very clean waveform which entirely reflected extensor activity of my index finger from subtle movements to full movements.

    This unit can be used as a crude EKG placing one of the active electrodes on the lateral lower left chest and the other over the sternum (in my case I was looking for relatively hairless areas). The ground electrode can be placed on the abdomen. The result is a clear but very low pass filtered EKG signal of which only the QRS is detectable. If one is just looking at heart rate, then this device is more than adequate. If one wants to record a full EKG, then one needs a much lower valued integration capacitor.

    Having played around with recording surface EMG in the past, this device is very simple and provides a more than adequate integrated EMG signal for such applications as looking at leg movements during sleep. What it wasn’t able to do was to provide an EOG. Put the two active electrodes around my left eye, one lateral and the other inferior with the ground electrode on my chin. Only signals picked up were facial muscle activity EMG’s. Likely EOG could be picked up with this unit with a tweaking of capacitor values but it would likely be simpler to just build an EOG amplifier as the EOG is a fairly high voltage signal in relation to surface EMG waveforms.

    Aside from the inability to adjust the integration time comstant (and hopefully the next version of this unit will have this feature), am quite happy with the unit and ordering more of them to monitor individual leg muscle activity while walking. My ambulatory physiologic monitor uses a 3-axis accelerometer to measure the acceleration of the monitor during walking but with 4 of these units could determine exactly what sequence of muscle activation is in the large muscle groups of one leg.

  • What sort of “resolution” can we get from this?

    1 bit? Flexing/Not flexing? 2 bit? Full/Medium/Little/No flexing?

    Or to put it in other terms, will I be able to distinguish between crumpling paper and squeezing diamonds from choal with my fist?

    • The output is an analog signal between 0 and the supply’s voltage (so if you use +/-5V supply, the max output will be +5V). When you flex, the voltage increases. Flex harder and the voltage will increase further.

      • That’s not really saying much. Obviously, the signal is analog. But let’s say that you fix the sensors to your biceps. You have ~0V with your arm relaxed and out stretched. If the voltage maxes out on less than the small amounts of flexing needed to simply bend your elbow, you have (for all intents and purposes) a 1 bit resolution. If you need to lift two pounds to achieve max voltage, that would give a completely different scenario.

        • OK I see what you’re getting at. Sorry, your “bit” reference made me think you thought the sensor was digital. The sensor actually has an adjustable gain so if you saturate the sensor with a slight muscle twitch, you can dial the gain down to the “resolution” you’re after. Also, keep in mind you can contract the muscle without any joint motion so you can’t really think of the muscle activity in terms of the joint being fully extended/fully flexed. Great question =)

  • what is the value of c4 (capcitor in the low pass filter)??

  • I Get one of this sensor plz i want to know the cutoff frequency of the low pass filter as i cant see the value of the capacitor clearly (0.1 micron or what)???

  • Hello Sparkfun,

    This is a really nice product and has great uses, Only if it works all the time. I spent a couple of days trying to get it working. It works for a while and all of a sudden it gets upset and sticks to the highest value. Any debugging techniques and useful tips to get it working will be great.

    Thank you, A humble customer.

  • Anyone know how to use this?

  • Hello! I bought one set of these sensors and I have been testing them but to my disappointment I am only getting noisy output. I read through the comments and I found couple of people having the same problem. Hence, anyone please guide as to what am I doing wrong, because I have followed each given instruction on the manual but still no luck…

      • Make sure the cable plug is pushed all the way in the port (yup it happens a lot)
      • Verify the voltages at the power pins are correct (eg +9V to +Vs, -9V to -Vs for 9V battery setup)
      • Make sure you aren’t reusing the electrodes. The ones that come with the kit are one time use only.
      • Check the value of the gain potentiometer with a multimeter on resistance setting. Should be ~20 to 50 kOhm.
      • Electrode placement is really important. If you aren’t sure if you’re placing the electrodes properly, contact Advancer Technologies.
  • Hi, Aaron W I have got the same problem, no reading at the beginning, but now it works and the problem was only the wiring and electrodes problem, please try to get you electrodes leads properly into the EMG, that was my problem….

  • Hello,

    Is there any study of relating the output signal of bicep to triceps using the muscle sensor v3 kit?

    thanks for your reply

  • I only see one problem with this product…. And its been on since its first release in instructables…. There is no isolation chip to prevent feedback current back to the user. Since it plugs to a device(pc laptop video game name one) they’re all connected to the wall. Thus current from that device may send a spike back and cause fibrillation to the user and thats a sure heart attack…. Since it seems to be open source, see into adding an iso124 in there.

    • Fibrillation via shock only happens when a current directly passes through the heart. The odds of this happening are reasonably small. That being said there are things you can do to reduce this risk even further: 1) electrodes should never be placed around the heart (this is EMG not ECG after all), 2) use batteries, 3) since the sensor is meant to be integrated into different applications/setups, isolation could be added as well. It’s pretty common not to have isolation on an EMG setup.

      • That is exactly the right answer… but you can never be 100% sure, and what of those who wanna modify this and make it commercial? they should be aware of the risks.

    • Yeah a sure heart attack. How many hundred joules are we talking here? By your estimates, assuming a USB port, 5v, 500ma. Or are you assuming that the ground lead of the computer is connected to the hot side of the power outlet? I hear this does happen, though I’m not sure if I’ve heard of it going unnoticed for long. You bring up a good point. Spark fun should look in to this.

      • I’m not sure if your comment was sarcastic or not, but just in case it wasn’t. A human heart gets fibrillation with as little as 10 - 50 uV, What I meant is that all wall powered electronics are prone to voltage spikes, with or without bridge rectifiers. These spikes, since there is no protection circuit (diode rectifiers or an isolation chip) can be fed back to the user and cause fibrillation. like I said, as little as 10 - 50 uV can cause this [bioinstrumentation and signals, webster] don’t remember the actual page, this was when i was still in university (Biomedical and Electrical undergrad)

  • i have the sensor soldered to wires connecting to arduino uno and have hooked up the electrodes to my bicep muscle, using the correct colored electrodes. when i check the serial monitor, my muscle readings range from 282-296 but are completely unaffected by the flexing of muscle and are changing quickly and randomly regardless of muscle flexing… any ideas?

  • Is it possible to use these sensors for detecting voltage across the eyes. Or use them as EOG ? Please tell me ?

    • Depends…. look at the schematic, the filter/s is/are what determines the signal you’ll be receiving… for an EMG you would need this band-pass filter (2 stage + buffers) for your muscles, you would have to see at what frequency it is that the ocular muscles transmit the signals. The filter is set for a range of around 2Hz to 110Hz, if they fall under that range then you would be able to. But another thing you would need to consider is the location (probably around the bags of the eyes)….

      Another thing to take into consideration is the last stage (trimpot) depending at what voltage level is the signal you’re trying to acquire you may need to change your trimpot for the gain…

      Hope it helps

  • Do you guys know what is the sampling for this?

    • This sensor outputs an analog signal; thus, the sampling is dependent on the ADC you use not the sensor itself. If you use it with an Arduino, the sampling would be the sampling rate of the Arduino.

  • I want to control multiple servo motor using this sensor and Arduino uno controller, kindly suggest me how can i do it. I need ur support.

    • Send an email to techsupport@sparkfun. They can give you more detailed suggestions than are appropriate for the comments. Thanks!

  • I’m very interested in this circuit, don’t like supply voltage with two batteries (9 V) because I will use USB port in my app. Is it possible to use just +5 V and -5 V for supply, or op amps will not work correctly? Thanks!

    • Check out the user manual - it actually lists +-5V as the typical value :) Note that if you’re using the USB port, you’ll have to split that into +5V and -5V. You can’t use a typical 50/50 splitter as that results in+2.5V and -2.5V, which is too low for this application.

  • I want one, but it’s out of stock, in Sep2, Will it Arrive?, Really o.o?

  • Hey I’ve been working with one and have a question! I have it attached to +-5V but just get a constant reading of ~830. Do I need to adjust the gain or something? Any ideas are appreciated. I know I have it hooked up to the proper power/ground/signal and the electrodes are connected well.

  • Had to make up a 50hz filter as it is very sensitive at these frequencies. Problem now is that the genuine 50hz signals are lost which make up quite a large portion of emg signals.

    • use batteries instead of a wall plug to power it up, and do your tests away from other electronics connected to the wall… also try to do a digital 50Hz filter.

  • Muscle Music:

  • Has anyone had success with the sensor… after wiring it, it only seems to be outputting noise from the analog pin around 330~340. Anyone with some knowledge of the sensor please HELP! thanks

  • Can you explain me about the frequency of signal using this circuit..why use low pass filter…i really don’t understand it..please help..thank you

    • I’d recommend reading up on electromyography. This will be the best way to start understanding the signals and exactly what this sensor does.

  • Hey guys, when are you hoping to have these back in stock? I need them for a finaly year university project ASAP!

    • Check the righthand column of the page, under pricing. We now display a (rough) ETA automatically, if we have any useful info.

  • Gain potensiometer vaule does not shown in sch ? Is this project open source ?

    • The schematic doesn’t show it, but the user manual notes the Gain value as min: 0.01kOhm, typ: 50kOhm, max: 100kOhm. So I suspect it’s a 100kOhm pot ;)

  • As a marathoner and a geek, there are a lot of interesting things I could do with this device. Just seeing how much energy is generated when running a marathon and record it would be cool. It would be especially interesting when muscles fatigue and theoretically generate less energy at the end of a race.

    • One problem I see in your good theory, is that motion artifact will probably ruin all your readings… Motion artifact for those who don’t know is the movement created by the electrodes/electrode leads when in motion or movement. you will not get accurate readings if any. Unless you decide to use a lot of tape around the cables (and that would still bring out a lot of noise).

  • Will you have the Replacement Electrodes available separately soon?

    • Already planning on breaking them? :)

      • Of course. Always plan on consumables not lasting as long as indicated. Not to mention the hygienic issues of sharing contacts between users.

  • One of the many reasons why sparkfun is awesome. Where else are you supposed to find stuff like this.

  • Could this be used/modified to make a homebrew EKG?

    • An EKG connection is one of low resistance to the human body, close to the heart. A fault current much less than a milliamp can kill, if the frequency and phase are unlucky. No one should modify anything not designed for this purpose for this purpose!

      That said, you can make a homebrew EKG, just design from the ground up for safety. You would want battery power and optical isolation for the human-contact circuit’s interface to anything wall-powered. There are alternative instrumentation amplifiers in friendly DIP packages. You may also find some packaged circuits prewired for the EKG application.

    • I recommend trying out an AD620. The spec sheet has a simple example circuit for EKG applications.

    • I stopped making ECG this year. Too much work and not much gain/profit. This is the product.

      Alternatively take a look at:

  • The TL084 opamp has a 3MHz gain-bandwidth product. The 150K resistors in the circuit are, for this topology, about 10X the value for which stability would be assured. Users should check IC2 pins 7 and 8 for signs of ringing or oscillations at about 1MHz. If so at pin 8, add a few pF in parallel with R11. If oscillation is seen at pin 7, try a few pF in parallel with R8 and R9, but check for non-linear oscillation due to interaction with the diodes.

    Also, the TL084 only has proper specifications for +/- 5V or greater supplies.

  • This is super sweet! It’d be even more neat if you could adjust the gain grammatically. … It would allow the software to ‘auto adjust’ for bad readings in self fitting applications. I’m still going to have some fun with this thing.

Related Products