Braille Compact Printing Press

Compact printing press for nurses, helpers, teachers and anyone else who needs to leave small notes for people who read braille.

Similar projects worth following
This project aims to provide a compact device that a carer could use to leave small notes, or sticky labels for braille readers. Just over lay a piece of paper and rub for the braille to transfer. A use cases could include leaving emergency phone numbers, labelling switches/food (no one wants to get their dinner mixed up with the dogs), leaving medication schedules and appointments and with a larger sheet make flyers, restaurant menus, newsletters, invites.... basically anything you would put on a page, without the expense or inconvenience of a bulky braille embosser. Why is this world changing? I could make a few peoples life easier and give them access to communication, and therefor access to the world.

Should be carried with a Grade 1 braille cheat sheet (coming soon)

Completely open hardware just please credit me, Creative Commons Attribution 4.0 International (CC BY 4.0).

Current STL and Openscad files below.

Just over lay a piece of paper and rub for the braille to transfer.

Should be carried with a Grade 1 braille cheat sheet (coming soon)

Completely open hardware just please credit me, Creative Commons Attribution 4.0 International (CC BY 4.0).

Current STL files below. The tolerances quite generous. Give it a go and let me know how you get on :) Keep small parts away from children.

braille press v2.scad

Editable parametric OpenScad. Let me know if you find anything you want fixed.

scad - 228.00 bytes - 03/26/2017 at 18:50


Old version 1 stl files made with inkscape and 123d. for reference only.

x-zip-compressed - 6.58 kB - 03/26/2017 at 18:50


  • 1 × 3d printed or injection moulded plastic parts

  • New print

    haydn jones03/30/2017 at 11:54 0 comments

    Here is an ultra compact version I tested. I set the openscad file to standard library size braille which works well, but a couple of easily avoidable issues arose. Firstly I set the tolerance too low. I thought 0.2 mm would be fine for my printer, but the pieces fit too tight. Secondly I made the depth for the tiles too low and they become too fiddly. I would recommend to anyone making these that they print a 2 cell wide test print with at least a 3mm cell thickness, and share there findings for others to get the best results.

  • Finished the Openscad version

    haydn jones03/26/2017 at 19:30 0 comments

    File is uploaded in the files section. If you want a file made with any particular dimensions and can't get on with openscad, just ask.

    On the file just place a "!" at the start of a piece you want to save and export stl in openscad.

    From top to bottom.
    Full line spacer bar, cell space, single dot, and double dot.
    Frame (10 line by 20 cells in this example)
    Sleeve for just frame
    Sleeve for frame and parts drawer

  • Translating to openscad

    haydn jones03/23/2017 at 19:39 0 comments

    With this seeming so popular, i thought I should get to work on the nest version.

    I am in the process of moving this design from the inkscape/123d process I was using before to fully parametric Openscad. I haven't inserted the correct braille specs in yet, but this will be easy to adjust. When done it will take just changing a few variables at the top to change between standard/large print as well as being able to specify how many cells wide and how may lines you need. I am also adding optional slip case and drawer. As well as the code I will release a couple of printable STL files based on popular suggestions for the less technical. I also added a variable for your printers tolerance so everything will fit snugly and not waste filament on bad prints.

    Here is my code so far....

    // frame size
    // measurments
    basethickness=1;//x axis
    cellthickness=3;//x axis
    linespace=2;//space between lines
    // parts
    resize(newsize=[(((cellsWide*cellwidth)+(framethickness*basethickness))/(cellsWide*cellwidth))*((cellsWide*cellwidth)+tolerence),(framethickness*2)+(lines*cellheight)+((lines-1)*linespace)*(((lines*cellheight)+(tolerence*lines))/(lines*cellheight)),framethickness+basethickness]) frame();
    translate([0,0,cellthickness+basethickness+10]) fullbar();
    translate([0,cellheight+10,cellthickness+basethickness+10]) blankcell();
    translate([cellwidth+10,cellheight+10,cellthickness+basethickness+10]) onedot();
    translate([(cellwidth*2)+20,cellheight+10,cellthickness+basethickness+10]) twodots();
    module frame(){
        module barrepeat(num) {
       for (i = [0 : num-1])
         translate([ 0, i*(cellheight+linespace), 0 ]) children(0);
       module notches(){
            module notchrepeat(num2) {
       for (i2 = [0 : num2-1])
         translate([ 0, (i2*(cellheight/3)), 0 ]) children(0);
        notchrepeat(3) rotate([0,90,0]) cylinder(cellwidth*cellsWide,dotdiameter/2,dotdiameter/2);
        difference() {
    translate([framethickness,framethickness,basethickness]) {
    barrepeat(lines) fullbar(); 
    translate([framethickness,framethickness+((cellheight/3)/2),basethickness]) {
        barrepeat(lines) notches(); 
    module sleve(){
    module drawer(){
    module fullbar(){
    module onedot(){
    module twodots(){
    module blankcell(){

View all 3 project logs

Enjoy this project?



imp wrote 06/16/2017 at 14:49 point

Hi, how about using the space between the rows, for the seeing people? Like putting the normal letters as "engraving" into the dead space. Here is some quick openscad mockup for this:

module letterA(){ // Hope it is really an A
        translate([cellwidth+5,0.7,cellthickness-0.4])scale(0.4)rotate([0,0,90])linear_extrude(height = 1)text("A");
        translate([cellwidth,0,-3])cube([7,5,5]); // this is for the alignment on the bars

This way, humans who can't read braille can use it too :). (Maybe redraw the engraving after printing with a pen for more contrast).

Also, I would suggest of putting some notches into the drawer, so the blocks will not fall out by accident. It would also allow you to skip the step with the paper and just leave the populated drawer to be read.

How do you transfer the dots into the paper? Would suspect, a rubber paint roller would do the job perfectly.

Spinning the idea further, you could also write a small generator for often used words, making it less work to use :)

  Are you sure? yes | no

Arya wrote 03/23/2017 at 02:11 point

Wish I could upvote this more than once, great project!

  Are you sure? yes | no

haydn jones wrote 03/23/2017 at 02:49 point

Thanks :) I am really surprised how popular this project it, i am going to revise it in the morning. Next version will be parametric on openscad.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates