Electromyography(Myo), Arduino, Multiplexing, RF and Vibrations

We have been working on the “Emerald Wasp Equinox” project for quite a while now but we haven’t posted much about it. There is a good reason for that! The technologies that we chose, and the execution that we have planned out for them is a lot more complex than we bargained for. Not to mention that the summer was a little too busy and not as productive as it could have been (I regret nothing).

Either way, the weather is getting cooler and we have moved back inside for most of our Wednesday nights. This has led to a lot of progress made over the past couple of meetings. I am on the Electromyography (Myo) team, along with a couple others and we have been working to get something to read in Arduino from the Olimex EMG-EKG board. Last week, we got some values and actually mapped them to a vibrating motor. Our next challenge is / was to get multiplier sensors connected to the same person and be able to register all that data at once.

The issue with getting multiple EMG sensors connected to someone, using the technologies that we have access to and without having to spend a ton of money, is that the Olimex Shield and the Muscle Kit both provide ways to connect one set of electrodes to the user. This just won’t do since we would like to map as much of the user as possible. Our proposed solution was to use an analog version of a shift register, called a multiplexor.

What the multiplexor does is allow you to connect up to 16 analog devices to it, you then use the Arduino to tell the multiplexor which pin you would like it to allow data to be read from. It can only read from one at a time, so we are alternating through all of them.

This idea has somewhat worked for us so far with just a couple of little hiccups. The main issue being that it can’t be used directly since the signal from the electrodes is 3 separate signals that are processed, in our setup, on the Olimex EMG-EKG Shield. We quickly realized that we were going to have to do something a little bit different, that is to intercept the signal into the shield from two of the electrodes (the third acts as a noise cancellation / ground so we figure that we can just have one of those connected to the user).

Myo Mux RF setupWhen we intercepted the signal, we connected a multiplexor to each of the electrodes before they hit the shield, and currently now have 6 electrodes (that’s all we had) connected to the multiplexor. It looks like one of the crazier Arduino projects that I have ever worked on, just because the sheer amount of wires that are needed, but it is almost working as expected.


A couple other things that we have going on the board are a vibrating motor just for a little haptic feedback to help us debug and a RF transmitter. Thanks to the RF team that handed us a basically plug-and-play breadboard with the RF transmitter connected to it, we put a stream of data together that broadcasts all the readings from all the electrodes.


Check it out on our GitHub and stay turned for more.

Leave a Reply

Your email address will not be published. Required fields are marked *