EMG Strength Tester NE 330 Honors Project ©2023 Enrico Persico Overview When you flex or move an arm, your brain sends electrical impulses from neurons in your motor cortex to nerves in your arm, causing it to move. This electricity can be measured transcutaneously via EMG by placing electrodes on the skin to measure the voltage across your arm or leg. My project uses EMG to measure electricity across a muscle (usually bicep or forearm) and give you a strength score based on how much electricity you can generate through said muscle. I chose to do a project involving EMG for my NE 330 (Neuroscience for Engineers) class because of how it demonstrates the function of the peripheral nervous system (the nerves in the arm are part of the PNS). Circuit Diagram Circuit Build Instrumentation Amplifier Arduino Elbow/Reference Electrode Voltage Divider Bicep Electrodes Bandpass Filter/Amplifier Data Example - Voltage Over Time Moved Arm Up and Down Flexed Note: The Arduino can only read positive voltages, so the waveform is not complete because the full wave would also include negative voltages due to the +4.5 and -4.5 rails of the amps. Strengthometer Application The Arduino code is fairly simple. The program prints the ADC-converted value of pin A0 to the Arduino's serial port at ~1000 Hz. The Python program is the GUI application detailed in the next slide. It instructs the user to flex for 3 seconds while the Arduino collects data from the circuit. Then, the computer prints the maximum voltage recorded to the screen as the user's "strength score", which is a numerical value between 0 and 1023. The reason for this range is that the Arduino has a 10-bit ADC capable of reading 0-5 V i.e. 5V=1023 score. Find full code at https://github.com/enricopersico/emg-strengthometer The "Strengthometer" is an application I made using Python and Arduino to read and display the maximum voltage one's arm generates when one flexes it. Strengthometer Application Flowchart Starting Screen Start Button is Pressed User Relaxes Strength Score User Flexes Relax/Countdown Flex Restart Button is Pressed