By using this website, you agree to the use of cookies. We use them to optimize functionality and convenience of the site for our clients.
Click to order
Elemyo | 13 March 2020

Muscle Sensor MYO v1.0 (MYO v1.2):
connection to Arduino

A muscle sensor is a device that allows you to read an electromyogram of muscle contractions. In the process of work (contraction) in the muscle, redistribution of potassium and sodium ions occurs, which leads to a change in the electric potential on the skin surface. The electromyogram is the result of recording these changes.

In this article, we will discuss the issues of connecting the MYO v1.0 module to Arduino (the connection for MYO v1.2 is the same). Before you get started, we strongly recommend you to read the detailed instructions for MYO v1.0 (or the instruction MYO v1.2).
The content of the review:
1
Mounting the module on the body
Go to the section
2
Connection MYO v1.0 to the Arduino microcontroller family
Go to the section
3
Arduino programming
Go to the section
4
Useful notes
Go to the section
Features of the MYO v1.0::

  • supply voltage: from 4.5 V to 5.5 V;
  • current consumption: 1 mA;
  • software gain adjustment via SPI (gain factors x1, x2, x4, x5, x8, x10, x16, x32). Basic, fixed gain ~ 500;
  • the range of the output analog signal is 0 - 3.3 V and 0 - 5 V at the OUT3.3V and OUT5V terminals, respectively;
  • electrode material - silver plating;
  • dry skin contact;
Схема распиновки EMG датчика мышц MYO v1.0
The module has 7 outputs:

  • OUT3.3V – output 0 - 3.3V;
  • OUT5V – output 0 – 5V;
  • GND — ground;
  • VCC — positive power contact;
  • SCK — SPI data line for transmitting a clock signal for slaves;
  • SI — SPI data line, used to transmit data from the master to the slave;
  • SC — SPI data line, chip selection, slave selection;

1
Mounting the module on the body
The module can be mounted on the body in two ways:

  • with a bandage;
EMG датчик мышц, способ крепления на предплечье
  • by gluing the module with a band-aid;
NOTE: check the module has tight contact with the surface of the body, does not stick when moving muscles.

2
Connection MYO v1.0 to the Arduino microcontroller family
The connection diagram of MYO v1.0 to Arduino is shown in the figure below. To correctly identify the contacts, hold the connector in your hands as shown in the figure next below.
Схема подключения ЭМГ датчика мышц к микроконтроллеру Arduino
It is the best to connect Arduino to a computer through USB Isolator, or disconnect the computer from the household power supply. When connected to a computer plug in to the household power supply, the signal may deteriorate - a noise of 50 Hz will appear. It is also worth remembering that as a result of a power surge or other circumstances, breakdown in the Arduino USB port could happen and there is a danger of getting such a blow. The likelihood of a breakdown is very low, but for security reasons, we strongly recommend working through the USB Isolator, or disconnecting the computer from the household power supply.

The connection method through the USB Isolator is in the figure below:
Подключение ЭМГ датчика сухого контакта MYO v 1.0 к Arduino.

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

2. Connect the Arduino UNO controller to the PC (through USB isolation, or by disconnecting the computer from the network).

3. Select your controller in the section Tools -> Port

4. Select the type of programmable platform in the section Tools -> Board -> Arduino UNO

5. Download the library distributed by the company ELEMYO
https://github.com/ELEMYO/Elemyo-library

6. Install the library via Arduino IDE: Sketch -> Include Library -> Add .ZIP Library…

7. Open the sample distributed with the library: File -> Examples -> Elemyo-library -> Terminal.

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

9. After a successful download, you can visualize the signal from the sensor in the simplest way using the built-in Arduino IDE Plotter. Go to Tools -> Serial Plotter and set the speed 115200 baud. For a more detailed analysis of the signal, use visualization methods using Python or Matlab here.
Пример ЭМГ сигнала при регистрации мышечной активности предплечья ЭМГ датчиком MYO v1.0

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 - 100Hz.

  • MYO v1.0 has two analog outputs 0-3.3V and 0-5V. For Arduino, it is rational to use a 0-5V output.

  • 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 500 times multiply by the programmed value. By default, the gain is 500 * 1 = 500.

Copyright: Elemyo