Abstract
We present an open-source forearm pressure myography (PMG) platform for detecting individual finger movements using radially arranged pressure sensors and supervised machine learning. The system uses Hall effect sensors and magnets to measure forearm muscle contractions, transmitting data wirelessly via ESP32 microcontrollers. Two hardware generations have been developed: the OM-12 (12 sensors, ESP32-S2) and the FlexGrid (60 sensors in a 15×4 array, ESP32-S3). A companion labeling device (LASK) captures per-finger force ground truth for supervised training. Using a Random Forest regressor trained on 87,000+ labeled data points, the system achieves real-time finger movement prediction with a mean absolute error (MAE) of 23–35 depending on training data volume. All hardware designs are released under the CERN Open Hardware License and all software under the MIT License. A full description of the OM-12 platform is being submitted to HardwareX.
Introduction
Hand amputations significantly impact quality of life and the ability to perform daily tasks. Many people with amputations retain an intact forearm with functional muscle movement, but detecting and interpreting finger movements through the forearm remains challenging due to disconnected tendons. Existing sensor technologies for forearm-based finger detection — primarily electromyography (EMG) — tend to be expensive, require careful electrode placement, and are sensitive to noise and skin conductance changes.
We sought to develop an alternative approach using pressure myography (PMG): measuring the mechanical deformation of forearm muscles during contraction rather than electrical signals. Our design uses Hall effect sensors paired with magnets in a spring-loaded or foam-based piston arrangement that detects sub-millimeter changes in muscle volume. This approach is inherently lower-cost, less sensitive to skin conditions, and simpler to calibrate than EMG.
Our work follows open-source and open-hardware principles. All schematics, PCB designs, firmware, machine learning code, and training data are freely available on GitHub. This paper describes both the original OM-12 sensor band and the next-generation FlexGrid array, the LASK labeling system (versions 4 and 5), and our machine learning pipeline and results.
Hardware Platform
OM-12 Sensor Band (Current Generation)
The OM-12 uses 12 custom pressure sensors arranged radially at 30-degree intervals around the forearm. Each sensor consists of a Hall effect sensor mounted on a custom PCB, paired with a neodymium magnet on a spring-loaded piston. As forearm muscles contract, the piston compresses, changing the magnet-to-sensor distance and producing a measurable voltage change proportional to the applied pressure.
Key specifications:
- 12 Hall effect pressure sensors (SS49E or equivalent)
- ESP32-S2 microcontroller with 20 × 13-bit ADCs
- MicroPython firmware, Wi-Fi data transmission via UDP
- ~100 samples/second over wireless
- Two sensor variants: spring/clevis-pin piston (v5.3) and rubber foam (v5.6)
- BOM cost under $30 USD

FlexGrid Sensor Array (Next Generation)
The FlexGrid represents a significant advancement in spatial resolution. Instead of 12 discrete sensors, the FlexGrid uses 60 Hall effect sensors arranged in a 15×4 grid on a flexible PCB, driven by an ESP32-S3 microcontroller.
Key specifications:
- 60 sensors in a 15×4 array on flexible PCB
- ESP32-S3 microcontroller (dual-core, more ADC channels via multiplexing)
- Target sensor thickness: 3mm for all-day wearability
- 5× the spatial resolution of the OM-12
- Designed for higher finger prediction accuracy and eventual multi-gesture recognition
The FlexGrid has demonstrated real-time finger prediction in live demos. The increased sensor density allows the system to capture finer-grained muscle deformation patterns, which is expected to improve prediction accuracy and enable detection of more complex hand gestures beyond individual finger curls.
LASK Labeling System
The Label Seeking Somatosensory Device (LASK) provides ground-truth finger force labels for supervised machine learning training. The device consists of individual finger pistons with springs and Hall effect sensors that measure per-finger force during data collection. By simultaneously recording forearm sensor data (from the OM-12 or FlexGrid) and per-finger force data (from the LASK), we create paired training datasets for the ML regressor.
LASK4 (Previous Generation)
LASK4 v2.0 used four spring-loaded pistons with Hall effect sensors to measure individual finger curl force. Data was transmitted over UDP alongside timestamps for synchronization with the forearm sensor band.

LASK5 (Current Generation)
LASK5 represents a significant redesign focused on build quality, ergonomics, and data consistency. Key improvements include:
- Five sensor channels (added thumb measurement)
- Improved mechanical design with more consistent spring response
- Better ergonomic finger placement for longer recording sessions
- V3 revision is nearly production-ready with refined tolerances
- Compatible with both OM-12 and FlexGrid data streams

Machine Learning Pipeline
Data Collection and Transmission
The sensor band transmits 12 (OM-12) or 60 (FlexGrid) data points per sample over UDP to a Python collection server. Simultaneously, the LASK device transmits its per-finger force readings with timestamps. Data is saved in JSON format and passed through a time-alignment algorithm that pairs forearm sensor readings with their closest LASK readings. Unmatched data points are discarded. The paired data is exported as CSV for model training.

Feature Selection and Model Training
For the OM-12, each training sample consists of 13 features (12 sensor readings + timestamp) mapped to 4–5 labels (per-finger force values from the LASK). The Scikit-Learn Random Forest Regressor was chosen for its robustness with small-to-medium datasets and its ability to capture nonlinear relationships between sensor readings and finger forces. An 80/20 train/test split is used for evaluation.
Training data progression:
- Early experiments: ~5 minutes of data (~5,000 samples) — MAE of 29–35
- January 2023 dataset: ~10 minutes of data (~10,000 samples) — MAE of 23.2
- Current dataset: 87,000+ labeled data points — consistent MAE in the 20–25 range with improved generalization
Live Prediction
The trained model runs in real-time on a host computer, receiving UDP sensor data and outputting per-finger force predictions. The system achieves low enough latency for interactive use. The visualization below shows the FlexGrid sensor with real LASK finger values in blue and predicted values in orange.

Results
OM-12 Results
The following results were obtained using the Random Forest Regressor with an 80/20 train/test split:
Training on ~5 minutes of data (capture_11.csv):
- Mean Squared Error: 7,689.89
- Mean Absolute Error: 29.92
Training on ~10 minutes of data (January23.csv):
- Mean Squared Error: 6,131.50
- Mean Absolute Error: 23.23
Training on 87,000+ data points (current):
- Consistent MAE in the 20–25 range
- Improved generalization to unseen movement patterns
- Reliable detection of both single-finger and multi-finger curl patterns
The results demonstrate clear improvement with additional training data, and the system is capable of detecting both individual finger movements and simultaneous multi-finger curls with variable force levels.
Current Status and Future Work
The Open Muscle platform is under active development. Current status as of early 2026:
- HardwareX paper submission: A full description of the OM-12 platform, data pipeline, and reproducible ML results is being submitted to HardwareX, an open-access journal for open-source scientific hardware.
- FlexGrid validation: The 60-sensor FlexGrid array is in active testing. Early results show improved spatial discrimination of forearm muscle activity compared to the 12-sensor OM-12.
- LASK5 v3: The latest LASK revision is nearly production-ready with improved mechanical consistency and ergonomics for longer data collection sessions.
- OSHWA certification: Working toward formal Open Source Hardware Association certification for the OM-12.
- Model improvements: Exploring neural network architectures (LSTM, 1D CNN) alongside Random Forest for temporal pattern recognition with the larger FlexGrid feature set.
Future directions
- On-device inference (running the ML model directly on the ESP32-S3)
- Gesture vocabulary expansion beyond individual finger curls
- Cross-session and cross-user transfer learning
- Integration with prosthetic control systems
- Clinical testing with amputee participants
Open Source and Licensing
All project materials are freely available:
- Hardware: CERN Open Hardware License v2 (Permissive)
- Software: MIT License
- GitHub: github.com/Open-Muscle
- Training data and demo files: github.com/turfptax/openmuscle/tree/main/Demo
- Machine learning code: github.com/turfptax/openmuscle/tree/main/MachineLearning
References and Press Coverage
- Hackaday Prize 2023: LASK4 Watches Those Finger Wiggles
- Hackaday Prize 2023: Finger Tracking via Muscle Sensors
- Forearm Muscle Contraction Sensor Is Useful Component for Open Source Prosthetics
Last updated: February 2026. For questions or collaboration inquiries, visit our Contact page or join the Discord server.