Project Info
Best Hardware Hack (DJI Mini 3 Drone with Remote Control per team member)
BrailleBot: Make Every Document Accessible!
BrailleBot transforms any document into printed standard braille, well-suited for printing documents, textbooks, websites, or even Zoom lecture summaries. It’s the first printer that can take any document and convert it to an accessible text format including textual image descriptions using AI visual recognition. It then prints the braille using a novel spring-loaded embossing mechanism mounted on a low-cost 3D printer. Today, the cheapest braille printers are around $1500. Our embossing mechanism costs less than $15, and is then mounted on any low-cost 3D printer. At this price point, our solution is almost 100x cheaper than existing options while maintaining high quality, empowering teachers and students by making learning materials accessible at an unprecedented low price point. Why build this? During the start of Treehacks, we chatted with a fellow builder who described corresponding with her visually-impaired pen pal: She types her message on her computer, and then manually punches the braille, letter by letter, on a sheet of paper to send over. Why does she do this? Braille printers are outrageously expensive due to the high degree of precision required and the niche market. Due to the high cost, many who seek to print braille documents instead manually punch each letter with a specialized hole puncher. This struggle extends far beyond personal correspondence—it highlights a critical gap in education for the visually impaired. A low-cost Braille printer could empower teachers and students, making learning materials accessible to those in low-income communities, individuals who are both visually and audibly impaired, and those who rely on long-lasting, tangible print to acquire knowledge and information. That's when we had our breakthrough. Modern 3D printers offer incredible precision at a fraction of the cost of specialized equipment. By retrofitting a basic 3D printer with our custom embossing mechanism, we created a braille printer that maintains professional-grade accuracy while cutting costs by nearly 99%. We didn't stop at making braille printing affordable. Today, only 3% of the internet is accessible to visually impaired users, largely because most content creators don't include text descriptions for images and visuals. We realized that we can use AI to describe images and convert any document to an accessible format. We believe that document format or visual content should never be a barrier to access, and with BrailleBot, sharing ideas can be as simple as pressing 'print' for everyone.
How we built it
Hardware: The “punch” mechanism is comprised of a series of 3D printed parts and powered by the printer’s extruder motor, making the modification incredibly fast and inexpensive. A snap action mechanism converts a quarter rotation of the extruder motor into a load and then rapid punch motion. A screw at the top allows the user to adjust the spring’s compression, thereby changing the depth of the punch. The stock extruder can create up to 10 punches a second. Software On the backend, we leverage the Groq inference engine and Zoom API, using Llama3-8B and Llama3-11B Vision to transcribe documents, generate text descriptions of images, and summarize Zoom lecture transcripts with low latency. Then, we use our Python Flask backend to convert the ASCII PDF representations into braille letters and GCode instructions for the Marlin firmware (used by most 3D printers). Commands are sent to the printer through USB serial. We use a JS canvas to display a live realtime preview of the print. The frontend is built with Next.js, Typescript, Chakra, and React.
Challenges we ran into
Finding the right combination of punch geometry, travel distance, and impact material was a challenge on both the software and hardware side because of the limited resources on hand and criteria that the product be cheap and easy to retrofit. We tried a variety of foams, cloths, and papers, eventually landing on a cork sheet which can be purchased at hobby stores for a few dollars. This had the right amount of compliance to make a clear mark without punching through the paper. We also created a mechanism to iteratively test spring compressions and travel distances by having an adjustable spring and head offset, allowing us to efficiently explore a large design space. We 3D-printed multiple punch heads to ensure the best tactile experience. Reflection It was so fun to build the braille printer together, combining each of our unique focus areas. Scott is an EE, Lawton is a MechE, Cathy specializes in AI, and Jason in front-end, resulting in a full-stack team. Building parts of the project and handing them off to each other felt like handing off the baton in a relay race. We’re proud that the resultant product works with a high degree of accuracy, and we were surprised at how low we were able to make the total cost of materials. On the software front, we're proud to be able to make all document formats accessible, from PDFs and word documents to scanned images using OCR. Above all, we're most proud of creating something that could make a real difference in people's lives. Building an affordable, reliable braille printer that can handle multiple document types means more visually impaired people can have access to printed materials in their preferred format.
What's next
We plan to open-source our work, so anyone seeking to build a braille printer can do so at low cost. We will include detailed documentation, files, and backend code logic, 3D printed prototypes, such that anyone can replicate our build.
BrailleBot: Turn a 3D Printer to a Braille Printer for $15
Winner of Treehacks 2025 Best Hardware Hack
Video intro: https://youtu.be/atzED5lXhCE
BrailleBot transforms any document into printed standard braille, well-suited for printing documents, textbooks, websites, or even Zoom lecture summaries. It’s the first printer that can take any document and convert it to an accessible text format including textual image descriptions using AI visual recognition. It then prints the braille using a novel spring-loaded embossing mechanism mounted on a low-cost 3D printer.
Today, the cheapest braille printers are around $1500. Our embossing mechanism costs less than $15, and is then mounted on any low-cost 3D printer. At this price point, our solution is almost 100x cheaper than existing options while maintaining high quality, empowering teachers and students by making learning materials accessible at an unprecedented low price point.
How we built it
Hardware: The “punch” mechanism is comprised of a series of 3D printed parts and powered by the printer’s extruder motor, making the modification incredibly fast and inexpensive. A snap action mechanism converts a quarter rotation of the extruder motor into a load and then rapid punch motion. A screw at the top allows the user to adjust the spring’s compression, thereby changing the depth of the punch. The stock extruder can create up to 10 punches a second.
Software On the backend, we leverage the Groq inference engine and Zoom API, using Llama3-8B and Llama3-11B Vision to transcribe documents, generate text descriptions of images, and summarize Zoom lecture transcripts with low latency. Then, we use our Python Flask backend to convert the ASCII PDF representations into braille letters and GCode instructions for the Marlin firmware (used by most 3D printers). Commands are sent to the printer through USB serial. We use a JS canvas to display a live realtime preview of the print. The frontend is built with Next.js, Typescript, Chakra, and React.
Analysis
View
Metric
- 54
- 49
- 46
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- Next.jsIn code
- PythonIn code
- ReactIn code
- TypeScriptIn code
- OpenAIClaimed
- VercelClaimed
4 of 6 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
87 KB
Source files
38
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
cathyzbn/braille-printer
67 files · 3.7 MB · @ 0e06ed8
Structure
Interface
20 files · 30%Screens, components and styles rendered to the user.
Application logic
19 files · 28%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript52%
- Python43%
- Markdown5%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
braille-printer-frontend/package.json
npm · 27- @chakra-ui/react
- @emotion/react
- @fontsource-variable/literata
- @lottiefiles/dotlottie-react
- dotenv
- electron-default-menu
- electron-serve
- next
- next-electron-rsc
- next-themes
- react
- react-dom
- react-icons
- +14 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.