Electromyography (EMG) is defined as the discipline related to the detection, analysis and use of the electrical signal that is generated at a muscle’s contraction. On many occasions, generating a database that allows a comprehensive study of measurements is complicated due to the lack of automation of this type of system. The implementation of this type of system in low-cost portable devices is the key to making its use on a large scale feasible.

Picture of the hardware used for control, acquisition and communications. The respective nicknames of these devices are: Heimdall (left), BioACQ (centre) and Cerberus (right).

This work contains the entire development process of an automated 4-channel EMG signal acquisition system. The developed application is based on an ARM Cortex M4 platform internally developed by the B105 Electronic Systems Lab, which suposed a challenge since it is an economic platform with limited resources. Other device used were the signal acquisition board with its amplified probes and the communications module capable of transmitting data in the 434, 868 and 2,400 MHz radio bands.

Diagram of the complete system. The different devices running the developed applications can be seen with the communication interfaces between them.

The application created for this project is divided into modules. The main ones are: the FSM control, the configuration component, the acquisition system and the communications complex. Partitioning the development helps to improve the quality of the code, reduces the time to detect errors and keeps the program simple. One key aspect of the final system is the use of a wireless link for augmented usability and galvanic protection. Additionally, a graphical user interface is stablished which offers live data representation. All the code regarding the application is available via the following link:

Diagram of the finite state machine in charge of controlling the slave module. The transitions are controled via the incoming commands from the control interface.

The project also contains a section of analysis including performance information about the final solution. The resulting performance analytics show a portable system capable of running on batteries with room for improvement via software optimizations. Furthermore, every developed module is independently evaluated using an exclusively matured testing program. The purpose of this segment is to eliminate all bugs introduced in the code and strengthen the robustness of the system.

Picture showing the main graphical user interface. The panel shown is the configuration one, containing the multiple modifiable parameters of the acquisition system.


This final project focuses on the field of robotics aimed at developing automated prostheses, helping to recover part of the lost mobility of people who need it. More specifically, it will focus on analysing and designing a wirelessly controlled robotic arm, which will serve as the basis for future projects at the B105 Electronic Systems Lab.

To this end, a preliminary study was carried out of the technologies currently used to develop a robotic arm, extracting which components can be used to carry out the movement and control of the arm, what considerations must be taken into account to design the different parts that make it up and what prototypes currently exist, extracting their characteristics to try to find a way to improve them.

Once the previous study had been done, the design of the arm was carried out, where the way to control it, the type of wireless communication, the motorization to be used and how it is fed were chosen. After this, we have chosen the components that best suit to meet the specifications requested, the modeling program has been used to design the parts, the materials used to build them, and the type of manufacture used to make them. It has been concluded that the parts must be manufactured by 3D printing, that Bluetooth will be used as technology for wireless communication, and servomotors to motorize the system.

Afterwards, the connection has been made, the design of the pieces by means of a 3D modeling program and the subsequent manufacture of part of them by means of 3D printing. A mobile application has also been developed to control several servomotors and check the wireless connection between the arm and the mobile, in addition to having created several integration files on the board to check the operation of the components.

Then different tests have been carried out, using the software created, where different components have been connected, and it has been checked whether they work correctly or not.

In the end a complete functionality has not been achieved, but a partial functionality has been achieved where it has been possible to connect by means of Bluetooth the mobile and the arm, to move two servomotors, with which two fingers have been moved, and the battery has been controlled by means of a series of leds. Several problems have also been found with regard to the power supply of the servomotors and the reception of data sent by the board that controls the servomotors to the mobile.