The Open Source GNU Forearm Muscle Contraction Detection System
Open muscle is a forearm band that detects muscle contractions based on the hall effect and electromagnetic sensing from piston driven/skin contact (whew). Essentially it is a electromechanical band that listens to the sound of muscle contractions to give neural networks the data they need to detect muscle action group contractions that would normally control some movement in the hand.
Currently work is being done on training a neural network with the inputs of the forearm muscles taken from Open Muscle V5.3.0 and the training data taken from the finger movement sensor Open Hand V1.0.0.
The raw signals from the hall effect sensors are clear enough to make out the different muscle contractions that control the some finger movements. It is possible to hard code some limited features with the current setup but we are working on the machine learning side as we feel it can give the end-user the best experience possible with modern technology.

Main Design is using the hall effect sensors to measure the movement of a piston in contact with the epidermis. These are positioned radially pointed in around the forearm. In effect each piston/hall tube will act as a microphone tuned to listen to muscle contraction. As the muscles contract, the topology of the forearm changes shape and the muscles become more firm which moves the pistons. These topology changes hold a lot of data about what the muscles are doing underneath the skin.
Since the force that the muscles exert on the tendons (if they exist on the person) is large, it is the easiest way to interface with humans. Some attempts at detecting the nerve signals and sonar like technologies seem promising but the muscles themselves give great feedback.
here is a list of pros and cons for an electromagnetic muscle contraction detection system:
Pros:
- Force/High Signal to noise ratio
- The force a muscle can exert on a piston is high and is variable with the signal sent to it by the brain
- The muscle is already connected to the brain and provides feedback
- It is just the tendon and the accompanying hand/finger that is missing. By tapping into the muscle that exists we are able to interface with the human.
- The force can be analog and not just on/off binary
- Most humans have the same muscles in similar locations
- One half of the forearm (for the most part) controls closing of the fist while the other opening
- Many hand movements are done by the use of these forearm muscles and not soley on the ones located in the hand
Cons:
- Bulky Electromechanical Application
- The bulk comes from the action the pistons have and can not easily be reduced without loss in signal to noise ratio.
- Rotation of the wrist moves the topology of the forearm.
- This is unwanted noise but might be able to be used as a positive if a neural network is appropriately trained
- Inertia from arm movement will also cause noise
The current computer that reads the analog signal is the ESP32-S2 as it comes with 20 ADC pins 16 of which are accessible on the ESP32-S2 mini by wemos. The low cost and availability of this chip is the main reason it was chosen.
Prosthetic sensor suite for the forearm and other muscle groups
https://github.com/turfptax/openmuscle
0 forks.
0 stars.
0 open issues.
Recent commits:
- Create UDPserver.pyThe placeholder for the UDP server on the network client/server side., TURFPTAx
- remove non-forkedremoved items that are needed to be forked, TURFPTAx
- boot updatedmicropython boot update, TURFPTAx
- micropython updateUpdated the micropython folder to include the most up to date upython code for Open Muscle 5.3.0 or 5.4.0, TURFPTAx
- BackupUploadsUPloadbakcup py files for esp32-s2 and ssd1306, TURFPTAx

Each “Cell” is comprised of two or four hall piston pairs. The cells being the set of four (or two) hall effect sensors with their respective pistons which have a magnet, spring, and piston holding mechanisms. After Version 5.3.0 we went from using tubes to using clevis pins. This allows for less friction in the system and a better tolerance for the spring compression value.

The hall effect sensor is great at picking up magnetic fields and we are currently testing both hall effect sensors and on-pcb coils to detect the vibrating magnet that is driven by the skin-contacted piston/magnet pair.
Microphones exhibit the same technologies when converting compression waves of air and their accompanying low pressor waves to convert into an analog/digital signal that can replicate the sound. They often are designed to pickup audio waves. Our design, however, is trying to detect a stronger and lower frequency sound emitted by the muscle during the muscle contraction.

Prototype PCB for addressing and running the analog signal from each tube and cell. The design was meant to give engineers enough wiggle-room to adapt the device to experiment based testing and upgrading.

Implementing advanced testing through cell method focus. By creating each cell as an individual unit, different parameters can be applied without the need to upgrade the PCB until a significant breakthrough has been achieved.

Next Steps and current achievements.
Currently a bracelet device must be designed that can be adjusted for different body types. The number of cells can be increased or reduced.
Develop the training glove for neural network training and machine learning. Visit Open Hand for more information.
Engineering better power management and wire harnesses will help in future prototyping and in lab use.

Want to build your own and help with the effort?
Visit the components page for a full list of the items required. We also supply the gerber files for all of our boards on the github.
