This document will show you how to read EMG data (electrical signals from muscles) using OpenBCI hardware and GUI.
- OpenBCI Cyton Board or Ganglion Board
- Skintact sticky electrodes
- EMG/ECG Snap Electrodes or Gold Cup Electrodes
- OpenBCI GUI
To determine the number of electrodes you will need, add up:
- Two electrodes for each muscle group you are streaming data from
- One electrode to serve as the universal ground
The electrode pairs for each muscle group will serve as the positive and negative terminals across which a potential difference can be detected.
1. Connecting Electrodes to the OpenBCI Board
Connect each electrode pair (for each muscle group) to the top and bottom pins of each row N(x)P, where x is any of the numbers corresponding to a GUI channel. Note: On the Cyton board, there are 8 channels available, and on the Ganglion board there are 4 channels available.
Additionally, connect the ground pin to the AGND pin.
In the image above, note how the positive and negative terminals (yellow and green) are connected to the top and bottom N1P pins. When you are running the GUI, data from N1P pins will be displayed on Channel 1 within the Time Series Widget.
After making these pin connections, connect the sticky electrodes to the snap electrodes prior to applying to the skin. If you are using gold cup electrodes, ensure that the cups are properly adhered to the skin with conductive paste.
2. Electrode-Muscle Connection
Choose muscle groups that can be flexed and relaxed easily. Place one electrode at the base of the muscle, and the other electrode at the tip of the muscle. The order of these doesn’t matter, as long as they are both linked to the same channel number. Place the ground electrode on a bony part of the body with as few muscles as possible (e.g. elbow, kneecap).
3. Streaming EMG Data with the OpenBCI GUI
Once you have the GUI open, turn off any channels that you have not connected to muscle sensors. Then, go to hardware settings and turn off SRB2 for all of the channels that you are streaming data from.
Note: This is because ordinarily SRB2 is the reference point from which potentials are measured, however we are now having muscles reference themselves, so we do not want it to look at this pin.
When you are happy with your GUI Time Series and Hardware settings, press "BEGIN DATA STREAM."
Here is an example of what your data stream should look like as you flex and relax your muscle:
4. Using OpenBCI's EMG GUI Widget
The OpenBCI GUI also has a widget for visualizing EMG data. To view it, click on the drop down menu under “FFT Plot”, and select “EMG” instead:
Check out the
Improving Signal Quality
For help minimizing noise and improving the quality of your EMG signals, check out this document