Why a Braille embosser

According to the World Health Organization there is 45 millions peoples living in the world with visual impairment. It's hard to get good statistics but many countries estimate that only 10% of people with visual impairment read and use Braille. But according to the same statistics 90% of blind people who are employed read and write Braille. So Braille is an important subject for education and equality. 

You can get more info about the subject here https://brailleworks.com/braille-literacy-statistics/ and here https://brailleworks.com/braille-literacy-vital-academic-improvement-employment/

In rich country this would not be  an issue as there is commercial solutions, the reality is not as bright as we can think, there is still an issue with general accessibility in most rich countries. Open source can be one aspect of the solution, not just because it is cheap, but because it is build together, this is about sharing and building solutions all together. Sometimes the super market at the corner don't have the right solution.

And what about countries where the average salary is about 2000$ a year. In these countries what about a rural school where there is just one or two students affected by blindness. Who will pay a year of wages for a solution. And again this is not just because open source  is cheap :

-  You have the schematics you can fix it.

-  I you have build one in a workshop, you know how to fix it if something go wrong or you know who can fix it.

- You have the schematics, so you can adapt it to your needs, even upcycling or recycling some parts you got around. And if you adapt it, you can share.

- There is open source communities, so you can find some help.

And now that we have talk about accessibility, what about teaching technologies.  What about teaching that sometimes technologies can really help people, that building a tool is not just a mind exercise. Building a tool is about making choices, what is the best solution if you need it cheap ? what is the best solution if you need it easy to build ? easy to use ? fixable ? accessible ? moveable ? And it can be fun and satisfying.


A brief About BrailleRAP story

I often thought the project started with BRAILLGO (https://hackaday.com/2014/02/24/braigo-a-lego-braille-printer/) in 2014, i was wrong, but it was the first time i was thinking "hey brilliant idea". Open sources and fablab area count many projects to emboss Braille on paper sheets.

In 2016 the My Human Kit non profit organization ( https://myhumankit.org/) organize an hackathon where they started to emboss paper with hacked 3d printer. This was a proof of concept, but complex to build and hard to use.

In 2018 we started BrailleRAP-SP with the idea to build a full reproducible device. A device that emboss one dot at a time but very fast using an electromagnet. A few month later, we started to show different version in makers events and non profit organization. Everybody congrats the team about the physical quality of the Braille Dots. But the lack of time, the covid crisis, some issues with NatBraille usage due to Java license evolution, the project died.

In 2022 the CCLab, a french non profit organization (https://forgecc.org/?PagePrincipale) offer to support some evolution of the design to organize workshop in Cameroon Africa, in partnership with ANIAAC, a local cameroonian non profit organization, and funders, Orange Fondation and My Human Kit. With the CCLab and some enthusiasts we started the BrailleRAP project.

The BrailleRAP contribution

One of the idea was to improve the reliability of the paper feeding. We redesign the paper travel by  lowering the output of the paper, giving us the opportunity to delete a big printed  part (10 hour of print  x 2) that was supposed to rise the paper just after the electromagnet. We also upgrade the 2 carriages to use zip tie to fix the RJ4JP linear guide, according to the last tests we made with BrailleRAP-SP.

The other idea was to improve the electromagnet handling in the firmware. We upgraded the software to ensure the electromagnet is never active more than 50 ms. In the previous firmware activating and deactivating the electromagnet was 2 differents GCODE commands. And it appear sometime that the electromagnet heat enough to burn himself or melt the housing.

As we need to make workshops with lots of people in Cameroon we redesign the building manual, taking account of the design modifications and reorganize the differents steps, allowing peoples to fully collaborate on the building. Many steps can now being processed in parallel.

In summer 2022, with CCLab and ANIAAC, we made 2 public workshop and 2 master classes in 4 differents area of Cameroon, in scholar and Fablab environments. An intense and rich experience in exceptional encounters, in anecdotes, in experiments and new ideas for evolutions and improvements.

Has we came back from Cameroon we started some evolutions, according to our African experience.

- Writing 2 sheets of workshop conduct publicly available https://forgecc.org/?AtelierBraillerapCamerounGrandPublic https://forgecc.org/?MasterClassBraillerapCameroun2

- Bring back a third paper roll to allow the user to use different dimension of sheet. We redesign paper clipboard to use GT2 tensioner spring, allowing good pressure on the paper and ease of adjusting. Thanks to the springs, you can also emboss 2 sheets of papers at the same time if you need to emboss several time the same pages.

- Improve the electromagnet housing. As we build several embossers in workshop, it appear that with the electromagnet we use, we needed some features to fine adjust the alignment of the magnet axis with the housing.  we also strengthen the housing by adding a bridge between the 2 edges in contact with the magnet.

- Redesign the paper limit switch. On previous model the switch was directly in contact with the embossed material, and it was a pain to adjust. To close to the paper, the paper jam, To far, the top trolley bump on the switch or on the wire.

- Strengthen and adjust motors supports. The X motor support was very tiny and the 2 screws were behind the coupler, forbid to adjust the motor without removing the coupler and the vertical axis. The 2 motor support were also fragile. The 2 motors supports break in the plane flight to come back in France. So we completely redesign the 2 motors supports to prevent the motors from being cantilevered. Comparing to 3d printed plastic, the motor are relatively heavy, so we made a full cage for the Y support and an additional leg and screw for the X support.

- One of the most important issue was the lack of ergonomic software. So we decide to fully rewrite the Braille translation software, to have good Braille transcription in different languages, ergonomic usage that avoid the user to handle files between a translation software and pronterface. We also needed a fully accessible software to allow blind peoples to use BrailleRAP easily. This is the start of AccessBrailleRAP

The reflexion about the new software was as follow:

- javascript is not the best computer language i know, but it allow to write software with efficient portability between several platform. It work on windows, Linux, Mac, Android, IOS and you can embed it in web pages.

- Writing software for screen reader is not as easy as you can think. Building GUI with html and some ARIA- tags is a good start.

- Vanilla javascript is fun, but to build and application a framework like react.js appear convenient.

- To avoid the user to handle file between AccessBrailleRAP and pronterface, we choose to embed html and javascript in a native application.  Electron was the first idea, Tauri the second and finally we choose eel. Eel is a python package allowing you to write a backend in python (so you can access the COM port or files) and a frontend in web pages.

- The last (and not the least) difficulty was the Braille translation. The available Braille translator had start in a hackathon, these kind of event where you write software in 2-3 days. The Braille transcription is usable but not very friendly for Braille readers. As we look for a good Braille translation library, we found liblouis (https://liblouis.io/) an incredible open source Braille translation library. But liblouis is written in C, there is some binding for python and other languages but the javascript binding appear to be a little old and definitely incompatible with recent version of react.js. So we started to rewrite a liblouis binding for react, and it work ! (https://github.com/crocsg/liblouisreact).

Now AccessBrailleRAP is :

- a native application for windows.  With a little work, it can be a Linux or Mac Native application.

- compatible with NVDA screen readers. Tested with blind peoples in the team.

- a good Braille translation software. Thanks to liblouis, you can choose the language (english, swahili, french, chinese ...), the Braille standard (6 dots for 'standard' Braille, 8 dots for computer Braille) and if you want to use contracted or uncontracted Braille. This offer 200 differents combinations of Braille standards and languages.

- available in french and english, but AccessBrailleRAP is fully translatable with a simple json files.

- the current release allow you to open Word or open office document for Braille translation.

So now we can discuss about the start of BrailleRAP. Has i wrote further, i thought for years that open source Braille start with BRAILLO, the lego embosser.  Has i wrote AccessBrailleRAP, i realize i was wrong, liblouis started in 2004, and the start of liblouis is BRLTTY. An LGPL licensed Braille translation software written for linux in 1995 and still active project ! (https://brltty.app/#introduction) thanks to open source and free licence.