A ₹2,500 (~$30) hands-free wheelchair control system for people with severe motor disabilities — built from a pair of modified safety glasses and an ESP-NOW wireless link. No Wi-Fi, no app, no internet.
A standard power wheelchair base alone runs ₹2,00,000–₹5,00,000 in India. Add a dedicated eye-gaze or head-array control system (often imported) and the total can push past ₹8,00,000–₹16,00,000. EyeLink does the same core job — hands-free wheelchair control — for around ₹2,500 (~$30) using a WeMos D1 Mini, an MPU-6050, two IR blink sensors, and ESP-NOW. Tilt your head to pick a direction, blink to confirm — the wheelchair moves.
🎥 Full build + demo video: Watch on YouTube (replace with direct video link once published)
EyeLink lets a wheelchair user drive completely hands-free:
- Tilt your head in a direction (forward / back / left / right) and hold for ~350ms
- Blink the matching confirmation pattern
- The glasses (TX) send a single wireless command to the wheelchair base (RX) over ESP-NOW
- The wheelchair moves — and a 20cm ultrasonic obstacle check keeps forward motion safe
Full command logic, safety layers, and the comms-watchdog bug fix are documented in docs/EyeLink_Master_Documentation.md.
| Total cost (finished build) | ₹2,500 (~$30) |
| Commercial equivalent (base chair + eye-gaze add-on, imported) | ₹8,00,000–₹16,00,000+ (~$10,000–$20,000+) |
Full itemized parts list with prices: see Bill of Materials.
TX — Glasses: WeMos D1 Mini · MPU-6050 · 2× IR blink sensor · 480mAh LiPo + TP4056 + boost converter · pushbutton
RX — Wheelchair base: WeMos D1 Mini · L298N motor driver · 2× 100RPM DC gear motor · HC-SR04 ultrasonic · 2× 18650 (2S) · status LEDs
Full table with part-by-part notes: docs/EyeLink_Master_Documentation.md
Full pin maps for both TX and RX, plus two safety-critical wiring notes (GPIO0 boot-strap pin, HC-SR04 5V→3.3V level), are in docs/EyeLink_Master_Documentation.md.
This order matters. Skipping a step is the #1 reason a freshly cloned build "does nothing."
📷 Step-by-step Arduino IDE screenshots for this exact flashing sequence are in docs/EyeLink_Master_Documentation.md.
- Get RX's MAC address → flash
firmware/RX_MAC_Address_Finder.inoto the RX board, copy the printed MAC. - Paste that MAC into TX → open
firmware/TX_Glasses_FINAL.ino, findrxMAC[]near the top, paste your value. - Calibrate head-tilt → flash
firmware/MPU6050_Calibration_Helper.inoto TX, follow the prompts, paste the printed#defineblock intoTX_Glasses_FINAL.ino. - Flash final TX firmware → upload
firmware/TX_Glasses_FINAL.ino. - Flash final RX firmware → upload
firmware/RX_Wheelchair_FINAL.ino. - Power both boards → blue LED fast-blinks (connected, paused) → press TX pushbutton → LED goes solid (active).
Full step-by-step build instructions (TX glasses assembly, RX chassis assembly, calibration detail, safety system, troubleshooting): docs/EyeLink_Master_Documentation.md
| Path | Purpose |
|---|---|
firmware/TX_Glasses_FINAL.ino |
Main glasses firmware (flash this last on TX) |
firmware/RX_Wheelchair_FINAL.ino |
Main wheelchair firmware (flash this last on RX) |
firmware/RX_MAC_Address_Finder.ino |
One-time helper — gets RX's MAC address |
firmware/MPU6050_Calibration_Helper.ino |
One-time helper — calibrates your personal head-tilt thresholds |
docs/EyeLink_Master_Documentation.md |
Full build doc: BOM, wiring, assembly, calibration, safety, troubleshooting |
docs/images/ |
All photos/diagrams/gifs — see IMAGE_SHOT_LIST.md for exactly what's needed and where |
LICENSE |
MIT — free to use, modify, and even sell, with attribution appreciated |
This repository documents a proof-of-concept assistive device. The RX battery pack (2× 18650 in series) currently has no BMS — read the battery safety note in the Power System section before building, especially if this will be used by someone with a disability rather than as a hobby demo.
Built and documented by Humanix Tech Lab.
YouTube · Instagram · Facebook
If this helped you or you build your own version, a star ⭐ on this repo genuinely helps it reach more people who might need it.



