The project involves developing an Internet of Things (IoT) device that measures electromyography (EMG) signals—electrical activities produced by skeletal muscles. This device captures real-time muscle activity data and transmits it wirelessly via Bluetooth Low Energy (BLE) to a mobile or web application. The use of BLE ensures efficient, low-power communication, making the device portable and suitable for continuous monitoring. The collected EMG data can be utilized for various applications, such as controlling prosthetic limbs, monitoring muscle health in rehabilitation, enhancing athletic performance through muscle analysis, or enabling gesture-based controls in interactive systems. By integrating EMG signal acquisition with IoT connectivity, the device offers a versatile platform for advanced muscle analysis and remote data accessibility.
I have used ESP32S3 base development board to process the EMG signal. The EMG sensor is BioAmp EXG pill from Upside down labs. The sensor itself is capable of monitoring EMG, ECG, and EEG signal with a tiny configuration. I have also included motion sensor (MPU6050) in the device to calibrate the EMG data with actual motion signal. The circuit was designed using KiCAD EDA.
The final circuit was then printed on a board using toner transfer method. The below images show the sequence of steps from printing to final etching of the circuit using Ferric Chloride.
The casing for the device was designed using Fusion360. The casing consists of 2 parts, bottom and lid. The final design was then printed using Bambu Lab A1 3D printer.
As per requirement, the firmware is designed to read the EMG signal and motion sensor data and broadcast it over a specified address over BLE channel. To test the transmission I have created a python script that used Bleak python module and receives and visualizes the sensor data.