Embossing in Linux with the Mountbatten Braille Writer
I happen to have a Mountbatten Learning System electronic brailler. In addition to its “typewriter” mode, the Mountbatten can be used as a PC Braille embosser, and even supports basic tactile graphics. There has never been a Linux driver published for it, but I got it working using a USB serial adapter. This script will let you emboss a text or BRF file if you have such an adapter, using the Mountbatten’s rear serial port.
If your Linux machine happens to have an actual serial port, you can use that too. You’ll need to change the script to point to your serial device (currently it points to /dev/ttyUSB0, which is where most USB serial devices show up). Then you can run the script like this:
./mb-emboss.sh somefile.brf
To emboss a pre-translated Braille file. If your file is just English text, you’ll want the Mountbatten to translate it for you, which you can turn on by using the fe
command on the Mountbatten. This is done by hitting command fe
ENTER on the Perkins keyboard. Or you can send any command to the Mountbatten from the computer in curly braces, like this.
echo -n '{fe}' | ./mb-emboss.sh
and then
./mb-emboss.sh somefile.txt
Here you can see that mb-emobss
can accept standard input instead of a file.
You can even put these commands inside your text file, saving you the extra call to mb-emboss
. That does mean if your text file has other {
or }
characters, it could make weird things happen, so be careful. It’s overall better to pre-translate your files using something like liblouis and send the translated BRF file to the embosser.
You might notice that there’s a slight delay in this script. That’s something I had to find out about the hard way: it seems to take some time for the Mountbatten to “wake up” after you send it data on the serial port, before it will actually start reading. So I send it a null character (which will never print), then wait a couple of seconds before sending the print job. If you don’t do this, you’ll typically lose some of the first few lines of text you wanted to emboss.
Another technical note: While modern versions of the Mountbatten have a USB port, I wasn’t successful in getting USB to work in Linux. Suspecting that under the hood there’s just a generic USB UART chip, I even tried force-binding the Mountbatten’s USB vendor and product IDs to various built-in Linux USB serial drivers, but there’s clearly more to it than that.
Lastly, I mentioned tactile graphics. The {gf}
command will toggle the Mountbatten’s graphics mode. This isn’t super convenient when you want to use it from the computer - how do you know if the mode is already on or not? Luckily, I found that the undocumented {gf on}
and {gf off}
commands also work, and do what you’d expect. Here is a BRF file with embedded graphics mode commands to print a swirl-pattern tactile graphic; it’s a fun demonstration of this capability:
by Troy