EMG dino game controller

Muscle (EMG) based game controller!

Similar projects worth following
Our body generates small bio-potential signals that allow us to walk, eat, breathe, speak, think, and do crazy engineering. These bio-potential signals generated inside our body are of mV range and a somewhat attenuated version of that can be detected non-invasively on the surface of the skin. One such biopotential signal is generated in muscles which is called electromyograph and the technique we use to record these signals is called electromyography (EMG). These EMG signals can be amplified, processed, and digitized to incorporate into digital systems for inferencing to create Human-Computer Interface (HCI) and Human Augmentation devices. One of the categories that we will be talking about in this project is EMG-based game controllers.

For precise muscle activity monitoring, we at Upside Down Labs have created a bunch of low-cost open-source EMG sensors like:

  • BioAmp EXG Pill (sensor to record EMG, ECG, EOG, or EEG)
  • Muscle BioAmp Patchy
  • Muscle BioAmp Shield
  • Muscle BioAmp Candy
  • Muscle BioAmp BisCute
  • Muscle BioAmp Click (coming soon!)

These are analog sensors requiring an ADC to work, you can connect them directly to ADC pin of a micro-controller development board like Arduino UNO/Nano. The graphics below shows how you can connect the BioAmp EXG Pill to an Arduino UNO board to record precise EMG recording.

Note: For BioAmp EXG Pill to record EMG signals you'll have to create a solder joint near the band-pass marking on the back side of the PCB. The image below highlights the location:

For creating an EMG (muscle signal) based dino game controller we will be using Muscle BioAmp Shield because it includes onboard LEDs and Buttons which we need to create our game controller. It also simplifies the connection process as it sits directly on top of an Arduino UNO board.

The EMG signal changes very rapidly and using raw signal for anything is not practical at all. To convert the raw EMG signal into something that can be used reliably for creating HCI we use an algorithm called envelope detection. The graphics below shows just that, the signal in blue is the raw EMG signal and signal in Red is the envelope of the signal which we use to control the game.

The EMG envelope signal is then sent to a battery operated laptop where we have a python script running which converts your muscle signals into (virtual) space-bar keystrokes. A working prototype of our BioAmp EXG Pill can be seen in the graphics shown below:

  • 1 × Muscle BioAmp Shield v0.3 Used to record EMG signals
  • 1 × BioAmp Cable v3 To connect Muscle BioAmp Shield v0.3 to gel electrodes or Muscle BioAmp Band
  • 1 × 3 Gel Electrodes / Muscle BioAmp Band Used to measure analog signals (EMG) from targeted muscles
  • 1 × Arduino UNO Analog to digital converter
  • 1 × Arduino Uno Cable To connect Arduino Uno to laptop

View project log

  • 1
    Assembling Muscle BioAmp Shield v0.3

    Firstly, you will have to assemble Muscle BioAmp Shield v0.3 as we provide it as a DIY Kit.

    After completing the assembly, Muscle BioAmp Shield v0.3 should look like this:

  • 2
    Connecting Muscle BioAmp Shield v0.3 with Arduino Uno

    As Muscle BioAmp Shield v0.3 is an Arduino Uno Shield, you can directly stack it on top of it as shown in the picture below:

  • 3
    Connecting BioAmp Cable to Muscle BioAmp Shield v0.3

    BioAmp Cable is an electrode cable that comes with 3-pin JST PH 2mm connectors on one side and snappable connectors on the other side as shown in the picture below:

    You can connect this cable to Muscle BioAmp Shield v0.3 via a 3-pin JST PH 2mm connector. 

View all 7 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates