Inspiration
Many visually impaired people have difficulties on a day-to-day basis reading text and other items, and other comparable technologies and software are either expensive or bulky and impractical to use. We sought to create a cheap, light and reliable system for text reading.
What it does
A wearable that reads aloud text to its user through a mobile app. It was made for the visually impaired who have trouble reading text that doesn't have a braille translation.
How we built it
We used an ESP-32 Cam, mounted in a 3d printed enclosure atop a hat. The camera hosts a WiFi Local Access Point, to which the user's smartphone is connected to. The smartphone processes the image with an OCR, and sends the resulting text to a text-to-speech API, which is played to the user.
Challenges we ran into
- We forgot to bring a charger and HDMI cable for our raspberry PI and were unable to rely on its processing power.
- We tried to run ML models on the ESP32-CAM but we were only able to small and simple models due to the hardware limitations.
- We were unable to send images over Bluetooth LE because of the low data transfer limit and we were unable to connect the ESP32-CAM so we opted to create a soft access point on the esp32 so other devices could connect to it to retrieve images.
- Getting a 3D profile of the hat (we borrowed stole from xero) was challenging because we couldn't measure the spherical shape of the hat.
- We had a lot of trouble retrieving images on our React Native app, making us switch to React. After a lot of trial and error, we finally got the ESP32-CAM to stream images on a ReactJS website, but we didn't have enough time to combine the text recognition with it.
Accomplishments that we're proud of
- 3d Printed Shroud
- Building a website and implemented Machine Learning model
- Streaming ESP32-CAM to our website
What we learned
- Always allow more overhead when possible to allow for changes while creating your project
- Create a schedule to predict what you will have time for and when it should be done by
- ML training is very time-consuming and it is very likely that you will have bugs to work out
- Start with a smaller project and work up towards a larger and more complete one
- New things our team members have experienced: React (JS & Native), ESP32-CAM, Tesseract (js & py), NodeJS, 3d modeling/printing under a time constraint, getting free food
What's next for Assisted Reader
- Fix issues / merge the ESP32-CAM with the ML models
- Better form factor (smaller battery, case, lower power usage)
- Use automatic spelling correction to ensure Text-to-Speech always reads proper English words
- More ML training for an improved OCR model
- Translation to other languages for a larger customer base
- Cleaner and more modern User Interface
- Add support for Bluetooth and connecting to other Wifi networks
Built With
- 3dprinting
- arduino
- esp32
- react
- react-native
- tensorflow



Log in or sign up for Devpost to join the conversation.