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.
Elemyo | 07 May 2021

Overview of the Multisensor wireless EMG system
MYOstack v1.1

Набор ЭМГ датчиков для беспроводной регистрации мышечной активности. ПО для визуализации миографических сигналов
Multisensor wireless EMG system MYOstack v1.1
The MYOstack is an open platform that will allow you to create a variety of configurations: a smart bracelet for controlling computer gestures, making a smart muscle activity monitor for sports, tracking physical activity during the day, learning how to control a robotic arm, and much more.

EMG modules have a special curved surface, which ensures good contact of the sensor with the skin surface during active muscle work. A compact Wi-Fi transmitter based on the ESP-WROOM-32 module allows recording the signal of each module with a frequency from 0.5 kHz to 1 kHz. The transmitter has a 32-bit 2-core microprocessor with a clock frequency of 240 MHz, which can be easily reprogrammed for your task from the Arduino IDE.
EMG датчик мышц, способ крепления на предплечье
Fig. 1: the MYOstack v1.1.
MYOstack v1.1 has 3 types of configuration, differing only in the number of EMG sensors.
Each set contains::
  • 4, 6 or 9 pcs. EMG modules (depending on your choice)
  • wires for connecting modules: 1 wire per module + 2 additional wires 1 m long
  • adapter, with 10 connectors for connecting modules
  • compact Wi-Fi transmitter based on the ESP-WROOM-32 module (with a pre-installed signal collection and transmission program)
  • Wi-Fi receiver (with preinstalled software)
Схема подключения ЭМГ датчика мышц к микроконтроллеру Arduino
Fig. 2: Configuration options MYOstack v1.1.
The transmitter and modules have 2 connectors. To connect the module to the transmitter, just connect them with a wire using any of the 2 connectors. To connect several modules to the transmitter, you can connect the modules to each other. If you need to position the modules at spaced out points on the body, you can use the long wires and the included adapter. The modules can be connected in any order and sequence. When turned on, the blue LED on the modules and transmitter will light up.

The wire connectors are made in such a way that the modules are connected in an unambiguous way, the possibility of polarity reversal is excluded.

The transmitter is powered via USB micro input. To supply power, you must use an external power bank with an output voltage of 5 V (when choosing and using a power bank, follow the generally accepted rules of electrical safety. Charging the power bank while using the system is prohibited).

The receiver is connected to a computer via a USB micro cable.

You can attach the sensors to the body using an adhesive plaster or a bandage.

The transmitter and receiver are factory-installed and ready for use right away.

The modules are numbered (if necessary, the numbers can be peeled off). The module number corresponds to the signal number in the MYOstack GUI program.

To adjust the gain, a linear trimming resistor is installed on each module. The resistor is initially set to zero (gain is 1 V / V). To increase the gain, turn the resistor clockwise. The maximum swing angle is 1200. At the maximum swing angle, the gain is 11 V / V.

NOTE: The transmitter heats up during operation. The higher the transfer rate, the more intense the heating.

Signal visualization
For visualization, analysis and signal processing, you can use the free MYOstack GUI program. This program is written in Python and is provided as open source (under the MIT license).

You can download the source code of the program for Python, as well as the ".exe" assembly for Windows 10 from the official ELEMYO page at

To work with the source code of the program, you can install the Anaconda development environment:

1) Download the free Anaconda development environment for Python programming from the official website

2) In the Environments section of Anaconda, install the following extensions:

  • Pyserial version 3.4 or higher
  • Pyqtgraph version 0.1 or higher
  • QtPy version 1.3.1 or higher
  • Numpy version 1.13 or higher
  • Scipy version 0.19 or higher

3) Download the latest version of the source code for MYOstack GUI from the link:

4) Using Anaconda's built-in Spyder editor, open the downloaded file.

5) Run the code.

Receiver and transmitter firmware (based on ESP-WROOM-32)
Any environment that supports ESP32 modules can be used to flash the transmitter and receiver. The original source code is currently only provided for the Arduino IDE..

Transmitter / Receiver firmware process::

1) install the free Arduino IDE:

2) connect the receiver / transmitter via USB to the PC (after disconnecting the sensors from the transmitter)

3) add ESP32 in Arduino IDE board manager
(detailed instruction
: )

4) select your controller in the section Tools -> Port

5) select the type of programmable platform in the section Tools -> Board -> ESP32 Arduino -> DOIT ESP32 DEVKIT V1

6) to flash the transmitter, use the sketch at the link (in the code, you must specify the MAC address of the receiver, an instruction about how to find the MAC address is here):

to flash the receiver, use the sketch at the link:

7) upload the sketch to the board Sketch -> Upload

NOTE: if the receiver is not being flashed, it is necessary to press and hold the enable button on the receiver board when starting the flashing.
Last update:
27 DECEMBER / 2022
copyright: Elemyo