Empowering the differently-abled through inclusive communication technologies
U.N.I.T.E. is a multi-phase accessibility tool designed to bridge the communication gap between visually impaired and hearing impaired individuals and the rest of the world.
In a world where information access and communication are critical, UNITE addresses the pain points of:
- The slow, bureaucratic process of Braille document generation,
- The inaccessibility of sign language to non-signers,
- And the exclusion of visually impaired individuals from fast, digital communication.
This unified platform supports:
- 🔡 Text to Braille
- 🧏 Sign Language to Text
- 🧏♂️ Sign Language to Braille
- 🔊 Text to Speech
- 🧾 Audio to Braille
- ✍️ (Coming soon) Handwritten Text to All Phases
- Instant Braille Conversion: Skip long wait times and bureaucracy. Input text, get tactile output.
- Sign Language Recognition: Convert hand gestures into real-time text using computer vision and ML.
- Speech Output: Converts detected text to speech for seamless audio interaction.
- Arduino-Powered Braille Printer: A compact, 6-servo module that embosses Braille in real-time.
- Custom Model Training: Train your own dataset with a few commands.
UNITE/
├── Code/
│ ├── collect_imgs.py # Captures 100 hand gesture images
│ ├── create_dataset.py # Prepares dataset (coordinates to arrays)
│ ├── train_classifier.py # Trains model using RandomForest
│ ├── signlang.py # Sign recognition interface (main entry point)
├── Arduino/
│ └── UNITE_Braille_Bot.ino # Arduino UNO control sketch for Braille bot
├── media/ # Project images and demo references
├── README.md # This file
└── requirements.txt # Python dependencies
Install dependencies with:
pip install -r requirements.txtLibraries used:
opencv-pythonmediapipepyfirmatagttsplaysoundscikit-learnnumpy
The UNITE Braille Bot runs on:
- Arduino UNO
- 6x SG90 Micro Servo motors
- Powered by a 9V battery
- Servo VCC ➝ Breadboard +ve rail
- Servo GND ➝ Breadboard -ve rail
- Servo Signal ➝ Arduino digital pins: 8–13
- Battery GND ➝ Breadboard -ve rail
- Breadboard -ve ➝ Arduino GND (important!)
📌 Pins can be reconfigured in
signlang.py(lines 12–17)
-
Capture Hand Gestures Run the following to capture 100 samples per gesture:
python collect_imgs.py
-
Create Dataset
python create_dataset.py
-
Train the Classifier
python train_classifier.py
-
Start the Recognizer Interface
python signlang.py
This opens the webcam interface. Show hand gestures, and the system will:
- Detect sign language
- Convert to text
- Speak the word (via TTS)
- Send character commands to Braille bot via Arduino
- MediaPipe: For real-time hand landmark detection.
- OpenCV: Camera handling and gesture capture.
- Random Forest: Fast, reliable classification for hand gestures.
- Arduino + PyFirmata: Communicates gestures to servo motors.
- gTTS + playsound: Converts recognized text into speech audio.
- ✍️ Handwritten Text Detection (In Progress)
- 📱 Android App Integration
- ☁️ Cloud Accessibility API
- 🧠 LLM Integration for Smart Text Conversion
- 📊 Dashboard for Visual and Accessibility Analytics
Accessibility should not be an afterthought — it's a right. UNITE provides:
- 🔓 Autonomy to differently-abled individuals
- 📚 Access to information at par with others
- 🔁 Bidirectional communication between the hearing, sighted, and differently abled
- ⚙️ Customizability for any language, region, or use-case
Want to improve UNITE? Submit a pull request or open an issue.
All contributions that align with our mission of inclusion and accessibility are welcome.
Thanks to all open-source libraries and frameworks used in building this project. Special thanks to the accessibility community and mentors who helped shape the idea.