Elemyo | 14 december 2025

Overview of the EMG Sensor
MYO v1.5

ЭМГ датчик для регистрации мышечной активности. ПО для визуализации миографических сигналов. Подключение к Arduino.

In this overview, we will cover all the basic questions related to the Electromyography (EMG) Sensor MYO v1.5: from description and configuration to installation of software for visualization of EMG signals.
The content of the overview:
1
Description of the EMG sensor MYO v1.5
Go to the section
2
Sensor placing: attachment and direction
Go to the section
3
Connection to Arduino
Go to the section
4
Signal visualization
Go to the section
5
Signal examples
Go to the section

1
Description
MYO v1.5 – is a high-tech ultra-compact sensor for recording EMG (electromyographic) signals, compatible with the various microcontrollers and supplied with an open-source software. It is designed according plug and play approach, to simplify the implementing in any projects and ideas requiring an EMG sensors and make it accessible for both beginners and advanced users.
It has all the step-by-step instructions, software and Arduino examples, thus you will be able to start collecting EMG data or, for example, begin to develop an EMG control system almost immediately without any hassle.
Compact size and curved sensor electrodes design are both functional and practical, making a sensor easy to be placed on different muscle groups without any discomfort or signal loss regarding fully dry contact with the skin.
Features of the Electromyographic EMG sensor MYO v1.5. EMG sensor compatible with Arduino
Fig. 1 Appearence and some features of the Electromyographic (EMG) sensor MYO v1.5
Distinctive features of the MYO v1.5:
  • Programmable signal gain.
  • Curved contact electrode surface for secure skin contact.
  • Dry contact electrodes.
  • Simple top shape for easy integration
  • High resistance to external interference.
  • Free and open source software for visualization, processing and recording EMG signals.
Technical Characteristics:
  • Sensor type: dry skin contact
  • Sensor size: 26.0 x 11.3 x 5.4 mm (+-0.2 mm)
  • Sensor output: analog raw EMG
  • Supply voltage range: 2.7 to 5.5 V Typical 3.3 or 5 V
  • Bandwidth: 10 - 500 Hz
  • Wire length ~ 60 cm
  • Connector pin pitch: 0.8 mm
  • 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
Pinout of the Electromyographic EMG sensor MYO v1.5. EMG sensor compatible with Arduino
Fig. 2 Pinout of the MYO v1.5
The main differences from previous version of sensor, MYO v1.4:
  • Simplified rectangular top shape for easier integration
  • Reduced size of sensor (thickness, length and width by 30%, 26% and 11% respectively) (Fig. 3)
  • Smaller size of connector and wires
  • Increased resistance to interference
Easy integration of the compact EMG sensor MYO v1.5
Fig. 3 Rectangular top shape for easy sensor integration
Two versions of compact EMG sensors for registration EMG signals and integration in robotic hand or prosthesis
Fig. 4 Size comparison of MYO v1.4 and MYO v1.5 sensors

2
Sensor placing: attachment and direction
The proper position of the sensor relative to the target muscle is shown on the figure below. The sensor should be positioned so that its long side is along the muscle fibers of the target muscle (to put it simply, along the body of the muscle).

Proper position could have an effect on EMG signal quality, so it is important to consider which muscle is the target and place sensor according your choice.
Proper positioning of the EMG sensor MYO v1.5, relative to the target muscle
Fig. 5 Proper positioning of the sensor, relative to the target muscle
There are several ways to attach the sensor to the body. It is important that the sensor has a tight contact with the skin and does not move from accidental touches, muscle contractions and movements. Generaly, you can use an adhesive medical fixing tape, sport tape or just some elastic band to hold a sensor on place.
1.
One wide transverse strip of medical adhesive tape through the center of the sensor. It is best to use a fixing medical adhesive tape on a fabric basis. In this example, a regular 2cm wide fabric tape was used.
2.
Secure with an elastic bandage or knitwear.
3.
Attach the sensor with adhesive sport-tape. Sport-tape stretches well in one direction only. It is better to place the sensor across this direction.

3
Connection to Arduino
Fig. 6 shows an example of connecting the MYO v1.5 sensor to the Arduino Uno microcontroller. When  connecting MYO v1.5 to another microcontroller of the Arduino family, the location of the SPI pins (shown on fig. 2 as "only for gain regulation") may differ. Tested on the following Arduino modules: Uno, Leonardo, Pro Micro, Mini, Nano and Mega.

Be sure to use a USB isolator if you connect the Arduino to a computer that is plugged in* (see Figure 6.1). If you are using a laptop with a built-in battery (up to 12 volts), then the USB isolator can be omitted, provided that the laptop is disconnected from the mains (see Fig. 6.2). Follow generally accepted electrical safety codes when working with the  sensor.
EMG sensor connection to Arduino UNO

Fig. 6: MYO v1.5 connection to Arduino UNO:

1) using a USB isolator, 2) without using a USB isolator.

Programming Arduino UNO
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".
Arduino library for the EMG sensor MYO v1.5 by Elemyo

Fig. 8: Free Arduino Library by Elemyo placed on GitHub

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.
To use the ELEMYO_GUI program, you need to load the Arduino_Firmware.ino sketch. This sketch don't need installing Elemyo library or any other libraries.
Пример ЭМГ сигнала в Arduino IDE Plotter, получаемого датчиком мышц MYO v1.4

Fig. 9: Signal example in Arduino IDE Plotter.


4
Signal visualization
To interact with the MYO v1.5 (when connected to an Arduino or Arduino-like microcontroller), you can use the ELEMYO_GUI program, a free, cross-platform, open source Python GUI for real-time visualization, analysis, and processing of EMG/ECG signals.
Supported operating systems: Windows, Linux, macOS.
The program is distributed free of charge under a MIT license.
ELEMYO GUI
­
ELEMYO_GUI allows real-time visualization, processing, recording and playback of signals from 1 to 6 sensors. Fig. 10 shows a graphical window of the program with an example of a signal from one sensor.
Программа для визуализации и анализа ЭМГ и ЭКГ сигналов

Fig. 10: a graphical window of ELEMYO_GUI

Functional:
  • Real-time display of signals from 1 to 6 sensors. Possibility of scaling and flipping the signal graph.
  • Show of the frequency spectrum of the signal (analysis window - 1 second, smoothing factor 0.85).
  • Setting a notch filter at 50/60 Hz, as well as a band pass filter with a given bandwidth.
  • Plotting a signal envelope with an adjustable smoothing factor.
  • Recording a signal to a text file.
  • Playback of the recorded signal.
Installing ELEMYO_GUI on Windows
  1. Download the "Python 3.12" "Windows installer" from the official Python website at: www.python.org/downloads/release/python-3129/ (file located at the bottom of the page) and install Python.
  2. When installing "Python 3.12", check «Add Python 3.12 to PATH» box and select «Install Now». After installation, open IDLE: «Start -> Python 3.12 -> IDLE», либо «Start -> search «IDLE»», or in folder C:\Users\%USERNAME%\AppData\Local\Programs\ Python\Python312\Lib\idlelib\idle.py
  3. Download the program ELEMYO_GUI folder by link https://github.com/ELEMYO/ELEMYO-GUI. To download, click on the "Code" menu (green) and select "Download ZIP". Then unzip the folder.
  4. In Python IDLE open "ELEMYO_GUI.py" file from downloaded folder: File -> Open -><...>->ELEMYO_GUI.py.
  5. Then, in the opened window with the code, click F5, or Run -> Run module. The program will start.
At the first start, an Internet connection is required - the program will download and install the missing components (pyserial, pyqtgraph, qtpy5, numpy, scipy modules), this will take some time (5-10 minutes). Next launches will be fast.
Installing ELEMYO_GUI on macOS
  1. Download the "Python 3.12" "macOS 64-bit universal2 installer" from the official Python website at: www.python.org/downloads/release/python-3129/ (file located at the bottom of the page) and install Python.
  2. After installation, open IDLE: «Applications -> Python 3.12 -> IDLE»
  3. Download the program ELEMYO_GUI folder by link https://github.com/ELEMYO/ELEMYO-GUI. To download, click on the "Code" menu (green) and select "Download ZIP". Then unzip the folder.
  4. In Python IDLE open "ELEMYO_GUI.py" file from downloaded folder: File -> Open -><...>->ELEMYO_GUI.py.
  5. Then, in the opened window with the code, click F5, or Run -> Run module. The program will start.

At the first start, an Internet connection is required - the program will download and install the missing components (pyserial, pyqtgraph, qtpy5, numpy, scipy modules), this will take some time (5-10 minutes). Next launches will be fast.
Installing ELEMYO_GUI on Linux
  1. Download the program ELEMYO_GUI folder by link https://github.com/ELEMYO/ELEMYO-GUI. To download, click on the "Code" menu (green) and select "Download ZIP". Then unzip the folder.
  2. Check if Python 3 is preinstalled: https://docs.python.org/3/using/unix.html. If not installed, install according to instructions: https://docs.python.org/3/using/unix.html.
  3. Run the file using Python 3 (stability was tested on Python 3.12.0), to do this, in the terminal, go to the folder with the ELEMYO_GUI.py file and run the command: python3 ELEMYO_GUI.py
Arduino Multiple Sensor Connection
To interact with sensors in ELEMYO_GUI, you must use an Arduino or an Arduino-like microcontroller. A detailed description of connecting one sensor to the Arduino is described in the next section of this review: "Connecting to the Arduino". Read the section carefully and then do the following:
  1. Upload the "Arduino_Firmware.ino" sketch from the downloaded folder with ELEMYO_GUI
  2. Connect MYO v1.5 sensors to Arduino according to the diagram in fig. 11
  3. Connect your Arduino to your computer and run the ELEMYO_GUI program, the drawing process will start automatically.
  4. Set the number of connected sensors in the "sensor number" field of the ELEMYO_GUI program
Table 1: Pinout when connecting six sensors to the Arduino Uno.
Connecting MYO v1.5 EMG Sensor Array to Arduino UNO

Fig.11: An example of connecting six EMG sensors to the Arduino UNO.


5
Signal example
The sensor is generally intended for registration of EMG (electromyographic) signals and can record even the slightest muscle contractions. It is also possible to registrate ECG (electrocardiographic) signals, although the shape of the signal will be not the same as the standart medical ECG shape.
An example of an EMG signal received by the MYO sensor. Single, smooth muscle contraction

Fig.11: An example of an EMG signal received by the MYO sensor. Single, smooth muscle contraction

An example of an EMG signal received by the MYO sensor. Three smooth consecutive muscle contractions with different amplitudes

Fig.12: An example of an EMG signal received by the MYO sensor.

Three smooth consecutive muscle contractions with different amplitudes

Fig.13: An example of an ECG signal received by the MYO sensor.

Fig.13: An example of an ECG signal received by the MYO sensor.

Thank you for reading.

If you have any questions - feel free to contact us via email: info@elemyo.com

Author: Elemyo