Decoding thought into motion — a non-invasive EEG-driven bionic prosthetic with haptic feedback
- Overview
- Core Pillars
- System Architecture
- Project Structure
- Pipeline
- Datasets
- Getting Started
- Results & Performance
- Simulation
- Awards & Recognition
- Research & Publications
- Team
- Citation
- License
The Mind-Controlled Bionic Arm with Sense of Touch (MCBA) is an innovative, non-invasive, and cost-effective bionic prosthetic limb designed to restore complex hand function for upper-limb amputees and individuals with partial paralysis.
The system decodes non-invasive EEG brain signals into PWM control commands that drive servo motors in a 3-DOF bionic hand. Integrated haptic feedback sensors in the gripper send tactile signals back to the user, enabling intuitive object manipulation and preventing accidental slippage or injury.
Key Innovation: We combine 8-class motor imagery EEG classification with real-time haptic feedback — bridging the gap between neural intent and physical action, all without surgical implants.
|
Decodes 8 distinct motor imagery states from non-invasive EEG signals using EEGNet and classical ML for thought-driven prosthetic operation. |
Tactile, force, and proximity sensors in the gripper deliver real-time sensory signals back to the user for safe, intuitive object handling. |
Non-invasive and cost-effective design eliminates surgical procedures, optimizing comfort, affordability, and global accessibility. |
┌─────────────────────────────────────────────────────────────────────────────┐
│ MIND-CONTROLLED BIONIC ARM │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌───────────┐ │
│ │ EEG Headset │───▶│ Preprocessing │───▶│ ML / EEGNet │───▶│ PWM Ctrl │ │
│ │ (16ch/64ch) │ │ BP + Notch │ │ Classification│ │ Servos │ │
│ │ 125/512 Hz │ │ CAR + Z-norm │ │ 8 Classes │ │ 3-DOF │ │
│ └─────────────┘ └──────────────┘ └──────────────┘ └─────┬─────┘ │
│ │ │
│ ┌──────────────────────────────────┐ │ │
│ │ HAPTIC FEEDBACK LOOP │ │ │
│ │ IR + Ultrasonic + Tactile Sensors│◀─────┘ │
│ │ → Sensory signal to user │ │
│ └──────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
Raw EEG ─▶ Bandpass (8-30 Hz) ─▶ 60 Hz Notch ─▶ CAR ─▶ Artifact Rejection
│
┌─────────────────────────────────────────┤
▼ ▼
┌───────────────┐ ┌──────────────┐
│ Feature Extract│ │ Raw Trials │
│ Band Power │ │ [C × T × 1] │
│ Hjorth, AR │ └───────┬──────┘
│ Wavelet, Asym. │ │
└───────┬───────┘ │
▼ ▼
┌───────────────┐ ┌──────────────┐
│ Classical ML │ │ EEGNet │
│ SVM / RF / KNN │ │ Temporal + │
│ (368 features) │ │ Spatial CNN │
└───────┬───────┘ └───────┬──────┘
└─────────────────┬──────────────────────┘
▼
┌──────────────┐
│ Evaluation │
│ Acc / F1 / │
│ Kappa / CM │
└──────────────┘
Mind-Control-Bionic-Arm/
│
├── main.m # 🚀 Master pipeline — run this
├── ModelCreation_8Classes.m # 📜 Legacy YAMNet approach (reference only)
│
├── src/
│ ├── preprocessing/
│ │ ├── load_milimbeeg.m # MILimbEEG dataset loader (16ch, 125Hz)
│ │ ├── load_gigadb.m # GigaDb dataset loader (64ch, 512Hz)
│ │ ├── eeg_preprocess.m # Bandpass + Notch + CAR + Artifact rejection
│ │ ├── extract_features.m # V1 features (208 dims: PSD, Hjorth, Stats)
│ │ ├── extract_features_v2.m # V2 features (368 dims: + AR, Wavelet, Asymmetry)
│ │ └── remap_labels.m # 8-class → 4/3/5 class remapping
│ │
│ ├── models/
│ │ ├── build_eegnet.m # EEGNet architecture (Lawhern et al. 2018)
│ │ ├── train_eegnet.m # EEGNet training with stratified K-fold CV
│ │ └── train_classical.m # SVM / Random Forest / KNN with class balancing
│ │
│ └── evaluation/
│ └── evaluate_model.m # Metrics: Accuracy, F1, Kappa, confusion matrix
│
├── Simulation/
│ ├── simulationModel.slx # Simulink 3-DOF arm dynamics model
│ ├── ArduinoCollectionEEGSimulation.slx # Arduino EEG acquisition simulation
│ └── classNames.mat # 8-class label definitions
│
├── Utility Functions/
│ ├── audioPreprocess.m # Legacy YAMNet mel-spectrogram preprocessor
│ ├── audioPreprocessDiff.m # Legacy variant for raw feature extraction
│ └── statsOfMeasure.m # Confusion matrix statistics calculator
│
├── datasets/ # EEG datasets (git-ignored)
│ └── datasourceDatasets/
│ ├── MILimbEEG/ # 60 subjects, 16ch, 125Hz, 8 classes
│ └── GigaDb/ # 52 subjects, 64ch, 512Hz, L/R imagery
│
├── models/ # Saved trained models (git-ignored)
├── paper/ # Research manuscript
├── assets/ # Images and media
└── env/ # Python virtual environment
% Run the entire pipeline in MATLAB
>> mainThe main.m script executes the full pipeline:
| Step | Module | Description |
|---|---|---|
| 1 | load_milimbeeg() |
Load MILimbEEG dataset (60 subjects, 8 classes, 16 channels) |
| 2 | eeg_preprocess() |
Bandpass filter (0.5–40 Hz), 50 Hz notch, CAR, artifact rejection |
| 3 | extract_features() |
Extract 208 EEG features (band power, Hjorth, PSD, stats) |
| 4 | train_classical() |
Train SVM, Random Forest, KNN with class balancing |
| 5 | train_eegnet() |
Train EEGNet CNN on raw preprocessed trials |
| 6 | evaluate_model() |
Compare all models — accuracy, F1, Cohen's Kappa |
| Class | Abbreviation | Motor Action |
|---|---|---|
| 1 | BEO |
Both Eyes Open (Baseline) |
| 2 | CLH |
Close Left Hand |
| 3 | CRH |
Close Right Hand |
| 4 | DLF |
Dorsiflex Left Foot |
| 5 | PLF |
Plantarflex Left Foot |
| 6 | DRF |
Dorsiflex Right Foot |
| 7 | PRF |
Plantarflex Right Foot |
| 8 | Rest |
Resting State |
For practical BCI control, labels can be remapped using remap_labels():
% Standard 4-class BCI paradigm
[newLabels, classes, idx] = remap_labels(labels, '4class');
% → LeftHand, RightHand, Feet, RestAsanza et al. (2023) — Upper and lower limb motor execution & imagery
| Property | Value |
|---|---|
| Subjects | 60 volunteers |
| Channels | 16 (10-10 system) |
| Sampling Rate | 125 Hz |
| Classes | 8 (motor execution + imagery) |
| Total Recordings | 8,680 |
Cho et al. (2017) — Left/Right hand motor imagery
| Property | Value |
|---|---|
| Subjects | 52 |
| Channels | 64 EEG + 4 reference |
| Sampling Rate | 512 Hz |
| Classes | 2 (Left/Right hand imagery) |
| Trials per Class | 100 per subject |
- MATLAB R2024b+ with the following toolboxes:
- Signal Processing Toolbox
- Deep Learning Toolbox
- Statistics and Machine Learning Toolbox
- Wavelet Toolbox
- (Optional) Audio Toolbox (for legacy YAMNet pipeline)
- (Optional) Simulink + Simscape (for simulation models)
# Clone the repository
git clone https://github.com/Creatrix-Net/Mind-Control-Bionic-Arm.git
cd Mind-Control-Bionic-Arm-
MILimbEEG — Download from IEEE DataPort and extract into:
datasets/datasourceDatasets/MILimbEEG/data/ -
GigaDb — Download from GigaScience Database and extract
.matfiles into:datasets/datasourceDatasets/GigaDb/data/
% Open MATLAB and navigate to the project root
cd('path/to/Mind-Control-Bionic-Arm')
% Run the full pipeline
main| Model | Accuracy | Balanced Accuracy | Method |
|---|---|---|---|
| SVM (RBF) | 25.49% | 25.45% | V2 features (368 dims) |
| Random Forest | 26.70% | 26.64% | V2 features (368 dims) |
| KNN (k=11) | 24.81% | 24.82% | V2 features (368 dims) |
| EEGNet | 25.80% | — | Raw EEG (16×500) |
| Model | Accuracy | Notes |
|---|---|---|
| EEGNet | Training in progress | 64ch, 512Hz, 8-30Hz bandpass |
Note: Motor imagery EEG classification is an inherently challenging task. State-of-the-art BCI competition results typically report 60-80% on 2-class problems. Our pipeline establishes a rigorous baseline with proper stratified cross-validation, class balancing, and comprehensive evaluation metrics. Active research continues to improve accuracy through architecture tuning and cross-dataset transfer learning.
Every model is evaluated with:
- ✅ Stratified K-Fold Cross-Validation (5 folds)
- ✅ Balanced Accuracy (class-imbalance aware)
- ✅ Per-class Precision, Recall, F1-Score
- ✅ Cohen's Kappa (agreement beyond chance)
- ✅ Confusion Matrix with row/column normalized summaries
- ✅ Precision-Recall scatter with iso-F1 curves
Two Simulink models bridge the gap between AI classification and hardware control:
| Model | File | Description |
|---|---|---|
| 3-DOF Arm Dynamics | Simulation/simulationModel.slx |
Simscape model of the bionic arm mechanics, servo actuation, and control response |
| Arduino EEG Acquisition | Simulation/ArduinoCollectionEEGSimulation.slx |
Models real-time EEG signal acquisition via Arduino analog input with FIR filtering |
| Award | Event | Year |
|---|---|---|
| 🥈 2nd Prize (Poster Presentation) | IIT Ropar — EE Research Day | 2024 |
| 📜 Conference Selection & Presentation | 5th International Conference on Intelligent Circuits and Systems (ICICS) | 2023 |
| 🚀 Hackathon Selection | Smart India Hackathon (SIH) — Internal Round | 2023 |
| 🎙️ Pitching Competition | IEEE SA Telehealth Pitching Competition | — |
| 🎓 Student Event Feature | IEEE SysCon Systems Council Student Event | — |
| 📋 Patent Filed | Through Lovely Professional University | — |
-
Protocol: "Mind Controlled Bionic Arm with Sense of Touch [8 class version]" — DOI: 10.17504/protocols.io.n92ldr869g5b/v2
-
Conference Paper: Presented at the 5th International Conference on Intelligent Circuits and Systems (ICICS 2023), Lovely Professional University.
-
Journal Manuscript: "Mind Control Bionic Arm with Sense of Touch" — submitted to the Journal of The Institution of Engineers (India): Series B.
If you use this work in your research, please cite:
@misc{shaw2024mcba,
title = {Mind Controlled Bionic Arm with Sense of Touch},
author = {Shaw, Dhruva and Sengupta, Arittrabha and Khaple, Jay Baswaraj and Dheep, G. Raam},
year = {2024},
publisher = {protocols.io},
doi = {10.17504/protocols.io.n92ldr869g5b/v2},
url = {https://dx.doi.org/10.17504/protocols.io.n92ldr869g5b/v2}
}This project is maintained by Creative Net (Creatrix-Net) — a deep-tech robotics and automation initiative registered as an MSME on the Government of India's Udyam portal.
See the LICENSE file for details.
🧠 From thought to touch — making prosthetics intelligent.
