The project was developed during my freshman year at the University of Patras as a collaborative effort within the IEEE EMBS Student Branch Chapter.
While the overall project involved a team of three, this repository specifically showcases my contribution: the software architecture and real-time digital signal processing. The project serves as a practical application of biomedical engineering principles, focusing on real-time muscle activity monitoring.
The project was a result of a team collaboration:
- Software & Firmware (My Role): Developed the C/C++ logic for signal acquisition, rectification, and envelope detection on the ESP32.
- Hardware & PCB Design: Designed by team members, focusing on the analog front-end and signal amplification.
- Systems Integration: Collaborative testing and validation of the end-to-end system.
The code implements a real-time processing pipeline for raw analog bio-signals:
- ADC Scaling: Converts 12-bit raw ADC values from the ESP32 (0-4095) to actual voltage levels (0-3.3V).
- Full-Wave Rectification: Pure C implementation of signal rectification using
fabsf. - Envelope Detection (LPF): Implemented a Low-Pass Filter (LPF) using an exponential moving average (Alpha-filter) to extract the signal envelope.
- Modular Design: The processing logic is decoupled from the main hardware loop (
emg_proc.h/c), allowing for easy testing and scalability.
emg_main.c: The main entry point (Arduino-based) that handles sensor sampling and data visualization.emg_proc.c: Core signal processing algorithms (Rectifier, Envelope Detector).emg_proc.h: Header file defining theProcessedEMGdata structure and function prototypes.
graph LR
A[Raw Analog Signal] --> B[12-bit ADC Conversion]
B --> C[Voltage Scaling]
C --> D[Full-Wave Rectification]
D --> E[Envelope Detection - LPF]
E --> F[Serial Plotter Output]
Aimilia Saranti Undergraduate ECE Student @ University of Patras HR Head at IEEE Student Branch UPatras Passionate about the intersection of Engineering and Medicine.
Connect with me on LinkedIn!
Developed under the auspices of IEEE EMBS University of Patras Student Branch.
