[David Nghiem] has been working with circuitry designed to read signals from muscles for many years. After some bad luck with a start-up company, he didn’t give up and kept researching his idea. He has decided to share his innovations with the hacker community in the form of a wearable suit that reads muscle signals.
It turns out that when you flex a muscle, it gives off a signal called a Surface ElectroMyographic signal, or SEMG for short. [David] is using an Arduino, digital potentiometer and a bunch of op amps to read the SEMG signals. LEDs are used to display the signal levels.
The history behind [David’s] project dates back to the late twentieth century, which he eloquently points out – “Holy crap that was a long time ago”. He worked with the MIT Aero Astro Lab and the Boston University Neuromuscular Research Center where he worked on a robotic arm for astronauts. The idea being to apply an opposing force to the arm to help prevent muscle deterioration.
Be sure to check out [David’s] extensive and well documented work, along with the several videos showing his projects at various stages of completion. If this gives you the electromyography bug, check out this guide on detecting the signals and an application of the concept for robotic prosthesis.
Continue reading “Control Stuff With Your Muscles”
The Thalmic Myo is an electronic arm band with an IMU and myoelectric sensors, able to measure the orientation and muscle movements of an arm. This device has uses ranging from prosthetics to Minority Report-style user interfaces. Thalmic is also a Y Combinator company, with $15 million in funding and tech press gushing over the possible uses of this futuristic device. Truly, a remarkable story for the future of user interfaces and pseudo-medical devices that can get around most FDA regulations.
A few months ago, Thalmic released a firmware update to the Myo that blocks raw access to the myoelectric sensors. Anyone wanting to develop for the Myo now needs to submit an application and pay Thalmic and their investors a pound of flesh – up to $5000 for academic institutions. The current version of the firmware only provides access to IMU data and ‘gestures’ – not the raw muscle data that would be invaluable when researching RSI detection, amputee prosthetics, or a hundred other ideas floating around the Thalmic forums.
Thalmic started their company with the idea that an open SDK would be best for the community, with access to the raw sensor data available in all but the latest version of the firmware. A few firmware revisions ago, Thalmic removed access to this raw data, breaking a number of open source projects that would be used for researchers or anyone experimenting with the Thalmic Myo. Luckily, someone smart enough to look at version numbers has come up with an open library to read the raw sensor data. It works well, and the official position of Thalmic is that raw sensor data will be unavailable in the future. If you want to develop something with the Myo, this library just saved your butt.
Thalmic will have an official statement on access to raw sensor data soon.
Quick aside, but if you want to see how nearly every form of media is crooked, try submitting this to Hacker News and look at the Thalmic investors. Edit: don’t bother, we’re blacklisted or something.
Update: Thalmic has updated their policy, and will be releasing a firmware version that gives access to the raw EMG sensor data later on. The reasons for getting rid of the raw sensor data is twofold:
- Battery life. Streaming raw data out of the armband takes a lot of power. Apparently figuring out ‘gestures’ on the uC and sending those saves power.
- User experience. EMG data differs from person to person and is hard to interpret.
The folks at Advancer Technologies just release a muscle sensor board with a great walk through posted on Instructables describing how this board measures the flexing of muscles using electromyography.
Using the same electrode placement points as the remote controlled hand we covered earlier, the muscle is measured by sensing the voltage between the muscle and its tendon. The result is a fairly fine-grained sensing of the output – more than enough to provide some analog control for a project.
The board itself is relatively simple – an INA106 differential amp is used to sense if a muscle is flexing or not. This signal is then amplified and rectified, after which it can be connected to the analog input of your favorite microcontroller. The video demo shows the board connected to a Processing app running from an Arduino, but it wouldn’t be hard to adapt this towards remote Nerf sentry turret controlled by your biceps.
Check out the video after the break to see the muscle sensor board in action.
Continue reading “Detecting muscles with electromyography”