BrailleRap (english)

How to turn a 3D printer into a Braille embosser machine.
  • Difficulty : Moyen
  • Duration : one hour
  • Budget : 0-10 euros

Principle of Braillerap

BrailleRap - The concept

BrailleRap is a 3D printer hack to emboss Braille on paper or cardboard (even on plastic sheets of about 100 microns).
It was develop in less than 3 days during the Fabrikarium, a hackathon organized by My Human Kit with Airbus SAS, by a volunteer team composed of:

  • Hugues Aubin, MyHumanKit manager,
  • Arthur Masson, member of IDLV,
  • Damien Canac, Saint Gobain team,
  • Simon Descarpentries, computer science engineer, manager of
  • Yassine El Yacoubi, BNP Paribas
  • Élodie Fourment, student at Airbus highschool
  • Arezki Gastaud, ballet dancer and computer science engineer at via CapGemini,
  • François Le Berre, Airbus Safran, space observation R&D

You need a 3D printer capable of reading gcode (for example a reprap) in order to test of improve this prototype.

The concept is simple: we will first print a 3D nozzle for our printer to hold a customized nail. This object will convert our 3D printer to a Braille embosser.

A dedicated webpage enables to compute the required gcode to move the head to emboss our text.


Building the embosser nozzle

Take measurements of your 3D printer head. Check the hexagonal plan dimensions of your 3D printer on the internet or measure it. Alternative method: take a flat wrench able to unskrew your nozzle. For our prototype, we had a 6mm nozzle.

You will generate your 3D object (to hold the custom nail) yourself, with OpenSCAD.

Open braillerap-buse.scad (created by Arezki Gastaud) with OpenSCAD.

Parameters of the 3D object can be modified to fit your needs. Modify taille_pan to the size of your nozzle in mm, and add a small margin to be able to plug in.

Our tests are successfull when adding 0.6 mm ; for example for a 6mm nozzle, set taille-pan to 6.6.

Render and save your custom 3D object to a .stl file.
Print it with a 40% filling.

Now we will customize the nail. Take a nail (1mm diameter, 2cm long for example). Cut the nail to reduce its length to 15mm. File it down to bow it. The goal is to emboss, not to run through it. The tip must be bowed.

Heat the tip of the nail with a flame and fit it in the hole of the 3D object.

Extract the nail, glue it and put it back inside, wait for 30 sec, the punch is ready!

Let your 3D printer cool down. BrailleRap works best at low temperature. Once your nozzle is cold, plug-in your custom punch. Your machine is ready!


Compute GCode from the text to emboss

We will now generate the GCode from the text to emboss.

Go to the BrailleRap generator (developed by Arthur Masson and Yacine El Yacoubi).

The source code is available under MIT licence.

Enter the text you want to emboss in the first text area. The corresponding Braille and gcode is generated underneath.

At the left, the user interface enables to modify settings and to download the computed G-Code (with the “download” button).

All dimensions are in millimeters.

Paper dimensions :

  • paperWidth : width of the sheet to emboss
  • paperHeight : height of the sheet to emboss
  • marginWidth : margin width on the inside of the emboss zone
  • marginHeight : margin at the top and the bottom of the text
    Braille letter dimensions :
  • letterWidth : width of the letters
  • dotRadius : radius of the dots (only affects the preview on screen)
  • letterPadding : margin around the letters
  • linePadding : margin between lines
    Printer settings :
  • headDownPosition : low position of the nozzle when embossing the text
  • headUpPosition : high position of the nozzle (between two dots)
    speed : move speed between two dots (in millimeters per second)
  • delta : check this for delta 3D printers
  • language : type of Braille to use (letters coded on 6 or 8 dots, new or old version)

The last button saveGCode of the user interface enables to download the computed G-Code. You can then import the generated file in the 3D printing software of your choice.

The goal is to save this gcode on your computer to be able to launch it on the machine.

3 parameters are necessary :

  • headDownPosition must correspond to the height of the nozzle equiped with your custom head once it has embossed. The default value is 2 mm under the surface to emboss.
  • headUpPosition must correspond to the maximum height of the tip above the surface to emboss, between each stroke. The default amplitude is 10 mm, our tests were also successfull with 5 mm.
  • The delta checkbox must be checked only if you have a delta printer (like Rostock, Kossel 3d printers).




Preparing the printing board

Numerous emboss tests were done during the 2016 Fabrikarium. With different speeds, different depths, on different materials…

It is important to place the sheet of paper on a soft material to obtain a good embossing:

3mm thick silicone rubber sheet,
felt sheet,
mouse mat (upside down) …

Placing a felt sheet on top of a silicone rubber sheet lead to good results.

Put your soft sheets on the (cold) printer board, and then the material (paper or cardboard) to emboss. Be careful that it does not disturb the machine moves in all directions.

It is important to set the height of your machine at 0 (Z=0) with the nozzle touching the material to emboss.

For this, we recommend using Pronterface, a free and open source software able to send G-Code to the 3D printer.

You can then move up the printer head to 50cm with the command G1 Z50, put the soft sheets and material to emboss, install the custom tip on the head of your machine, and move it down until it gently touches the surface to emboss.

Once in position, reset the z position to 0 by entering the command G92 Z0 in Pronterface.

Nota : you can also directly define the offset in the online Gcode generator if you prefer.

Upload and execute G-Code on the 3D printer with Pronterface.



To launch G-Code from Pronterface:

We recommand using a free open source software to send G-Code to 3D printers, or execute the G-Code from an SD card if your 3D printer is able to read SD cards.

To launch G-Code from Pronterface:

- Connect your 3D printer with a USB cable,
- Select the corresponding serial port and click “connect”,
- Click “Load file”, browse to select the generated G-Code file,
- Click “Print”: the printer embosses !


Demo video of Braille embossing

Here is the behavior of a BrailleRap machine, at slow speed :-)


Testers are welcome !

WARNING: this is a prototype. Any improvement and test are welcome!