The Portabraille Printer is a portable and accessible braille printer which enables users who are visually impaired to quickly and easily produce accurate, high quality braille.
The Portabraille Printer is a device that takes in an English text input, translates that text into uncontracted braille, then prints said braille text on braille paper. It is a low cost product that aims to allow people who are visually impaired to create braille quickly, with applications ranging from producing quick meeting notes to creating accessible promotional materials on the fly. The printer is light, with handles for easy transportation, and has an easy-to-use interface with both braille and English text, creating a user friendly experience for those who are visually impaired or blind. Text documents can be fed to the printer via either the Portabraille Portal on the Portabraille Network or by plugging in a USB.
This repository contains the vast majority of the files which we created over the course of this project. It is split into two main folders: Software and Firmware, each of which houses artifacts for the respective subsystems. These folders are also split into multiple subfolders. There is also a Branding folder which has the logo that we used on our shirts.
On the software side, the Text Side Folder has software that takes a text input, converts it to a braille output and sends it to the firmware. All of this is written in Python. The Physical Interface Folder contains software written in Python and designs created in Illustrator which relate to the user interface on our printer. The web interface written in html and designed in Illustrator is in the Web Interface Folder. The Recognizing Input Folder includes all of the scripts in bash and Python that allow us to take in USB or Wifi input and the README Resources Folder contains all of the files referenced in this document. Lastly, the Startup Scripts Folder contains the scripts which need to be run on the Raspberry Pi to ensure that our software and network run on startup.
In the firmware folder, the firmware that controls the way paper is loaded and how solenoids act is in the Arduino Firmware Folder. All of our firmware is written in C++. The PCB Folder contains all of the artifacts from our PCB design.
- Python 3 (or newer)
- Raspberry Pi 3B, 3B+ or 4
- Rasbian Jesse (or newer)
The software that runs on the Portabraille Printer has a variety of dependencies. The startup bash script automatically installs all of the dependencies from all components of our firmware and software. Instructions and code samples for installing these dependencies individually are below.
The following bash command installs pyttsx3, a text to speech library for Python.
pip3 install pyttsx3
The following bash command installs NumPy, a package for computing with Python.
pip3 install numpy
The following bash command installs GPIO Zero, a library for interfacing GPIO devices with Raspberry Pi.
pip3 install gpiozero
The following bash command installs pySerial, a module for accessing the serial port.
pip3 install pyserial
The following bash command installs eSpeak, an open source speech synthesizer for Linux and Windows.
sudo apt-get install espeak
The following bash command installs Flask, a microweb framework.
pip3 install Flask
We would love to hear feedback on this project! Feel free to email us or submit an issue. If you are interested in contributing to this project or chatting about it in general, please don't hesitate to email us here!
Annie Tor @ator1
Colin Snow @colinmsnow
Maia Materman @maiam6242
Megan Ku @megku4u
Nathan Weil @NWeil
Thanks to the Fall 2019 Principles of Engineering Teaching Team, Professors Aaron Hoover, Amon Millner, Siddhartan Govindasamy and Stan Reifel for their support and assistance throughout this process. Additional thanks to Frank Ventura, Jerry Berrier, David Kingsbury, John Smith, and Jeanette Kutash and for their INDISPENSABLE help during this adventure. The insights they provided about our design helped us craft a product that is actually usable. Lastly, thank you to the MIT Visually Impaired and Blind User Group for hosting us and letting us pick their brains regarding our printer and braille in general.