By using this website, you accept the use of cookies. We use them to optimize functionality and convenience of the site.
accepted
EMG sensors for your research and research and development projects regarding muscle activity and EMG control systems
Elemyo | 14 February 2025

Muscle Sensor MYO v1.5:
connection to Arduino

EMG sensor for registration muscle activity, EMG sensor connection to Arduino Uno, register EMG signal
In this article, we will show the process of connecting the MYO v1.5 sensor to Arduino.
It is a briefly overview regarding the connection MYO v1.5 to Arduino. The more details about the sensor you can find in the datasheet here and we strongly recommend you to read it.

In that particular overview we show an example of connection EMG sensor MYO v1.5 to Arduino Uno. When connecting MYO v1.5 to another microcontroller of the Arduino family, the location of the SPI pins may differ - please, check pinout of your board carefully.
The content of the review:
1
Placing the sensor on muscle
Go to the section
2
Connection MYO v1.5 to the Arduino microcontroller family
Go to the section
3
Arduino programming
Go to the section
4
Useful notes
Go to the section
Technical characteristics of the MYO v1.5:

  • Sensor type: dry skin contact
  • Sensor output: analog raw EMG
  • Supply voltage range: 2.7 to 5.5 V Typical 3.3 or 5 V
  • Bandwidth: 10 - 500 Hz
  • Gain selection interface: SPI
  • Base gain: 1000 V/V. Can be increased by 8 additional Gain Selections: x1, x2, x4, x5, x8, x10, x16 or x32 V/V
EMG sensor pinout for connection muscle sensor to Arduino
The sensor has 6 outputs:

GND — ground;
VCC — positive power contact;
OUT – output;
SCK — SPI data line for transmitting a clock signal for slaves;
MOSI — SPI data line, used to transmit data from the master to the slave;
CS — SPI data line, chip selection, slave selection;
What you will need for connection:

  • EMG sensor MYO v1.5 with cable
  • Arduino Uno (or another Arduino) with cable
  • Fixing tape
  • Your PC or laptop
Optionally:
  • USB Isolator
  • 9V battery
Muscle sensor connection to Arduino. Step-by-step guide for connection EMG sensor to Arduino

1
Placing the sensor on the body
The proper placing of the sensor relative to the target muscle can affect the amplitude and shape of the EMG signal. The most effective way to get an EMG signal is to place sensor along the muscle fibers direction, near the middle area of the target muscle (in the middle between tendors of the muscle).
place an EMG sensor along the direction of muscle fibers, EMG sensor for registration muscle activity,
The sensor can be fixed on skin in two ways:

  • with a bandage (any band which can tightly hold the sensor on place with proper contact);
  • with a medical tape (a fabric-based or non-fabric one), or sport tape;
NOTE: check the sensor has tight contact with the surface of the skin and does not displaced when muscles contract.

2
Connection MYO v1.5 to the Arduino microcontroller family
The connection diagram of MYO v1.5 to Arduino is shown in the figure below. To correctly identify the contacts, hold the sensor in your hands with top side up as shown in the next figure below (the patterned wire is always Gnd).
the scheme of EMG sensor connection to microcontroller Arduino
It is the best to connect Arduino to a computer through USB Isolator, or disconnect the computer (and any ather divise connected to computer) from the household power supply. It will protect signal from 50/60 Hz power grid noise and safeguard against electrical shock in the event of the computer power supply system fails or from static charge on computer.

The connection method through the USB Isolator is in the figure below:
Dry skin contact EMG sensor connection to Arduino with USB Isolator for getting rid of 50 hz noise and safety

3
Arduino programming
1. To program the Arduino UNO controller, use the free Arduino IDE https://www.arduino.cc/en/main/software

2. Download the library from the official Elemyo GitHub page at:
https://github.com/ELEMYO/Elemyo-library. To download, click on the "Code" menu (green) and select "Download ZIP".

3. Launch the Arduino IDE program and install the library. To do this, go to the menu "Sketch -> Include Library -> Add .ZIP Library" and select the downloaded archive. Wait for the library to be installed and restart the Arduino IDE.

4. Connect the Arduino UNO controller to the PC.

5. In the "Tools -> Port" section, select the port to which the Arduino controller is connected.

6. Select the type of microcontroller you are using under "Tools -> Board -> Arduino AVR Boards" (for example, if using Arduino UNO, then Arduino UNO)

7. Open the example distributed with the library "File -> Examples -> Elemyo-library -> EMG_Simple_Read".

8. Upload the example to the board "Sketch -> Upload".

9. After a successful upload, you can visualize the signal using the built-in Arduino IDE Plotter. Go to "Tools -> Serial Plotter" and set the speed to 115200 baud. The plotter will draw two graphs: blue is the original signal, red is the signal envelope.

NOTE: The Arduino IDE 2.x.x plotter have only 50 mkc plotting window, it's too low for observing EMG signal in real time. Please, use plotter from Arduino IDE 1.x.x or ELEMYO_GUI program
Пример ЭМГ сигнала в Arduino IDE Plotter, получаемого датчиком мышц MYO v1.4

4
Useful notes
  • Arduino has a built-in 10-bit ADC. If 10 bits are not enough for you, you can use an external ADC with a higher bit depth. It is important to monitor the frequency of reading the signal. The frequency of the electromyogram on average lies in the range of 10 - 500Hz.

  • The voltage that muscles induce during contraction is in the range of 100-3000 microvolt.

  • To calculate the real muscle tension when working through Arduino, you need to convert the 0-1023 signal to 0-5V and divide by the gain. The gain is 1000 times multiply by the programmed value. By default, the gain is 1000 * 1 = 1000.

Copyright: Elemyo