DotMatic is a compact and user-friendly braille printer designed to improve access to braille to teach children. With its affordable, portable design, DotMatic provides a practical solution for creating braille documents and enhancing accessibility in everyday life.
dotmatic.clips.mov
DotMatic translates text into braille alphabet patterns and prints them onto paper using a precise, motor-driven system. The design prioritizes simplicity, portability, and cost-effectiveness, making it ideal for classrooms and homes.
videobraille.mp4
- LEGO EV3 Brick: The core computing unit.
- LEGO Servo Motors (x3): Provides controlled movement for precise braille printing.
- Touch Sensor: Used for user interaction and operational control.
- Laser-Cut Wooden Gear Racks (x2): Custom-made for smooth and accurate linear motion.
- Foam Paper: Acts as the base below paper.
- Programming Language: RobotC was used to develop the control logic and manage motor/sensor interactions.
- Child-Friendly Design: Portable, small, and intuitive, tailored for kindergarten-aged students.
- Affordable: Built with widely available LEGO components.
- Modular Construction: Easy to assemble and modify, encouraging experimentation and learning.
Braille is composed of characters with up to 3 rows and 2 columns of raised dots per letter. DotMatic translates text into this tactile system and prints it on paper using precise motor control and a custom-designed mechanism.

-
Text File Formatting:
- Separate each word with a
/. - End each sentence with a
!.
Example:
hello/world! - Separate each word with a
-
Setting Up:
- Place paper into the printer and secure it under the frame.
-
Starting the Program:
- The LEGO EV3 brick displays the message asking the user to press the Enter button to start
- Once the user presses the "Enter" button, the program begins reading the formatted text file.
-
Printing the First Braille Row:
- For each word in the sentence:
- The crank moves down to punch the first dot.
- The crank moves back up.
- The cart shifts horizontally by 2.5 mm (the distance between Braille dots).
- This process repeats for all dots in the first row.
- When a
/(word separator) is encountered, the cart creates a space by moving the distance of one letter. - After completing a word, the cart moves back to its starting position.
- For each word in the sentence:
-
Transition to the Next Row:
- The paper rolls forward 2.5 mm to position for the second row.
- The second row of the sentence is printed using the same process as above.
- After completing the second row, the cart resets, and the third row is printed.
-
Efficiency Consideration:
- The robot prints each braille row for the entire sentence before moving to the next row. This minimizes unnecessary movement and improves stability.
-
Completion:
- The touch sensor constantly monitors for an emergency stop signal.
- If pressed:
- All motors immediately stop.
- The EV3 brick displays an "Emergency Stop" message.
- After 5 seconds, the program rolls the paper out for easy removal.
-
​Cart Movement​:
-
- Initial design took up too much space
- Optimize the use of one motor and conserve space with a gear assembly on the side of the cart
- As the motor rotated, the gears turned, moving along the wooden rack
- Allowed for precise movement along the rack, using motor encoder counts for each degree of rotation
-
-
​Vibrations When Punching​:
-
- With every punch, the cart used to rise off the wooden rack
- Negatively impacted printing by making spacing/punching inconsistent and less accurate
- I secured the cart onto the rack at the bottom with LEGO pieces
- Prevented it from going off the rack while still allowing it to move appropriately
- Created a margin for printing braille since the bottom connectors hitting the frame prevented it from going all the way right ​
-
-
​Crank​:
- https://github.com/user-attachments/assets/90ecc609-a5c9-40f2-b07d-f480e8e6cf2c
- Crank was not punching perpendicular to the foam paper, making printing less accurate
- I realized the stylus height kept adjusting and it vibrated with every punch because it dragged onto the paper
- I modified the crank and secured the stylus inside a U-shaped connector
- Through trial and error, I found the optimal stylus height and secured it
- ​Stylus Tip​:
DotMatic demonstrates the potential of using robotics to make education more accessible and inclusive, paving the way for innovative solutions in assistive technology.

