Muscle (EMG) Sensor

What is EMG?

This section is quite technical. If you don't want to know what EMG is in depth then skip ahead to the next section. All you really need to know is EMG measures very small electrical signals that occur when our muscles move, such moving a finger, clenching a fist, or lifting your arm up.

Electromyography (EMG), which roughly translates to ’electrical muscle recording’, can be used to control a variety of devices. It was originally a medical procedure to analyze muscles and nerve health, but as it grew in popularity it expanded into areas of biomechanics, sports, rehabilitation, and was first used in a commercial prosthetic limb back in the 1980’s. Nowadays it is also used as a human computer/robot/machine interface.

The bulk of the EMG signal can be detected in the 0-500hz frequency band; it is quite a complex signal, and to understand its formation it is important to appreciate where the signal comes from. As you can imagine, it all originates from the brain. The brain initiates the control sequence and passes nerve impulses through the nervous system, similar to the flow of electrical current through a metal wire, the nerves then excite or activate Motor Units(MU), which then control the contraction of the muscle fibres. For very fine low force movements small MU are used, as more force is required, more and larger motor units are recruited to activate the muscle fibres. A single MU produces an Action Potential(AP), which is shown in the image below. Each action potential occurs due to a chemical exchange in the body of potassium (K+) and sodium (Na+) ions.

Muscles create many action potentials during a movement, like moving your arm or closing your hands. This creates a signal similar to the image below, which shows an increase in signal due to different fingers moving.

The Super Simple EMG Circuit

Early Version

Early Prototype Without The Diode



I highly recommend you only use batteries with this circuit. As connecting to mains power can be dangerous without proper isolation.


The super simple EMG muscle sensor described here will help make it easier for people play with EMG. It uses a ultra simple 3 piece EMG circuit, consisting of an INA128 Instrumentation Amplifier (IA), a capacitor, and a rectifying diode to perform half wave signal rectification (which basically removes all the negative voltage signal so you don't damage your analogue pin on your microcontoller).

The instrumentation amplifier, amplifies differential inputs and subtracts the common mode signal (bascally takes two signals and subtracts what is common in both), which causes noise presented on both channels to be partially suppressed. The super simple EMG circuit uses a capacitors reactive impedance attached to the IA gain pins, which sets a variable frequency dependant gain, thereby only amplifying higher frequencies, and thus creating a similar affect to a high pass filter. The capacitors impedance (which is inversely proportional to the IA amplification) is calculated from below equation

Impedance = 1/(2 ∗ PI ∗ Frequncy ∗ Capactance)

The EMG sensor requires 3 electrodes, a negative, positive and ground, with the positive and negative placed adjacent to each other, and separated by a 1cm gap. These electrodes are placed over the muscle you want to monitor, and the ground electrode placed over a bony area with minimal to no muscle activation. The exact locations of the electrodes can be determined by trial and error. The electrodes used were 30mm diameter, reusable, self-adhesive, and long-term electrodes often found in TENS, EMG and Neuromuscular stimulation applications.

The only other additions you will need to see the EMG signal are a 5V positive and negative voltage source to power your sensor, and either an oscilloscope, or an analogue pin from your favourite microcontroller.... my is the Arduino.

The EMG signal is not going to be amazing, but good enough for some simple applications. If you just see noise (particularly 50hz in the UK or 60hz in the US) then your environment may have too much power line hum. If you do decide to power this circuit from the mains (Which i really don't recommend) then this may also be the reason for a very noise signal.

What Can I Do With The Super Simple EMG Sensor?

The amplitude of the EMG signal over time is a good indicator of muscle force, therefore a simple muscle clench combined with a moving average threshold, can be used as a virtual enter button. Imagine clenching your bicep and your TV switches on, or you make a fist and a robotic hand closes. You could even combine multiple sensors for more control e.g. one on each bicep to control left and right of a remote control car or a robot.

If you want to do more complex things with EMG, then you will need to look into advanced signal processing and machine learning, but for simple things, a simple threshold can do the job.


If anything is unclear or needs further explanation please leave a comment and i will try and explain things better.


If you like the project, and fancy supporting, perhaps you wouldn't mind supporting me on Patreon? Every little bit helps me release more great projects, which helps fuel the amazing open source community. Even $1 makes a difference :)

Image result for become a patron