How The Braille Machine REALLY Works

I’ve discussed the Braille device in detail, but until now there’s been no running examples – so I thought I’d upload a video of it in action.

The video shows the stepper motor in action, and how the gears move from Braille rod to rod (removed to show the gears underneath).

One thing you might notice right away – the speed. Working with Acrylic, while visually pretty, is not good for fast movement as it flexes too much. Also, since this is the prototype, I’m going slow-but-working versus fast-but-jamming (the driver chips really heat up when the motors stall).

In any case, I’ve gotten pretty well all I can from the Acrylic model prototype, and now it’s time for prototype 2. So here’s the (possibly only) video of the Acrylic model in action – enjoy!

Gear/Drive Train Design In the Audrey Braille Display

In a nutshell, the gear train in the Audrey Braille display is THE machine. Although the mechanics are simple – move a rack gear forward/backward to position, then move over to the next one, repeating until all are set – the details of this gear train are rather involved.

For example, why this particular gear design – and why so big?

The design of the display is an inverted rack and pinion gearing, with the racks moving over the gear, positioning the Braille half-characters under a detecting window. Since there are eight possible half character patterns (three dots either on or off, meaning two to the third power), we need to move as many as eight positions to go from one character to another. While that’s the maximum, fortunately, the average is four (and by positioning the primary characters near the center of the rod, we can improve further on that).

So since moving is important, I decided to use one gear tooth per character position, or eight teeth to move the entire rod. I could have used fractions of that (for example, two gears per character), but there were problems:

  • When more than one gear is used per tooth, positioning becomes an issue – is the ‘top’ position we detect for the correct position, or is it one off? When using a single tooth per character position, when that tooth is at top (12 o’clock or 0 degrees) then we have a character displayed – simple.
  • More teeth means smaller gears, which streamlines the device – however, it means more travel to reach each position. This actually slows down the device, rather than speeds it up.

This latter point is important; although this device was never meant to compete with piezoelectric devices with near-instant updates, it still needs respectable update times. And so what would they be?

The estimates I am working off of (provide by a local Blind techhead) are that most blind people read Braille anywhere from 30 to 120 words per minute, and at an upper limit, a few can read 150 words per minute. Despite Grade 2 Braille not being a straight character for character translation of text, I’m guesstimating that 150 words per minute translates into 750 characters per minute (assuming 6 chars/word on average, including spaces), or about 15 characters a second. For the Audrey display, with its half characters, that means a top speed to aim for is 30 rods updated a second!

So, one way to get these times is by using a big gear, with fewer teeth, and less turning needed to move the racks. I’m currently using a 20 tooth gear not just for speed, but also to match my stepper motors. Using 1.8 degree steppers, which have 200 positions/steps per revolution, I need to evenly divide the teeth into this number, or I risk being out of alignment, since a tooth always must end up at the topmost/0 degree position so that a character is lined up properly (try the problem with a 48 position stepper of 7.5 degree steps, and you’ll see the problem, and the need for a different tooth count like 16). And books I’ve read recommend at least 15 teeth per gear for performance – ergo, the 20 tooth gear was born.

Now, with the 20 tooth gear, on average, a rack/rod/pin change is 4 movements of each tooth – which is 4/20=1/5 of a revolution, or 72 degrees, or 40 steps. So to get that 30 updates a second, I’d need to move 30 times that, or six complete revolutions on average. Six per second ends up being 360rpm, pretty perky for a stepper motor! And that doesn’t include movement from side to side as it shifts to the next rack.

There are solutions to this problem:

  • Use larger gears. While my 20 tooth gear is a compromise, you can use more. Imagine a 200 tooth gear: now each step moves a character position, and you are moving 10 times faster in updates. However, a 200 tooth gear would be about 10 times larger, so now you’d be looking at a floor model device!
  • You could replace the solid gear with a flexible belt. But remember that the speed of updates is how fast the MOTOR turns. So the belt would only update as fast as the wheel driving it can turn. One advantage however is you can now place the wheel on its side with some careful twisting of the belt, allowing you to have a shorter display device, and larger (=faster) gear wheel.
  • Use multiple motors. One goal in my design is to make it possible to use multiple motors and gears in the display. Since parallel gears can update simultaneously this way, I effectively divide the work evenly between motors. In effect, four motors turns a 40 character display into a 10 character one, in terms of speed of updates.
  • Settle for slower. 150 words per minute is the upper limit, but don’t forget, the 30 words per minute lower limit is 20% of the maximum speed, equivalent to about 60rpm, or one revolution a second, and much more manageable. So while speed ‘readers’ will chomp at the bit at that speed, it will be fast enough to use.

The good news is that, with one or more of these options, I believe the Audrey Device can meet its goal. While it won’t have the speed of a $7,000 device, it won’t have the price tag either. Plus, being Open Source, others can take the device and improve it (including speeding it up). And I am confident that once the device gets “out there”, people WILL speed it up, proving the benefit of the Open Source model yet again.

More Braille Display Information

No project exists in a vacuum – and as I’ve gotten to know (and be known) by others, I’ve been hearing of other Braille projects I missed in my initial research. I thank Paul Kronenberg of Braille Without Borders for putting me in touch with these others:

  • N.Krishnaswamy of Vidya Vrikshah. produces a Braille kit for Blind children to learn. He also is the designer of a wheeled Braille display, called the Natesan. The Natesan in turn has spawned a prototype, possibly out this year, called the ‘The Quixote’, by Bristol Braille Technology.
  • Bristol Braille Technology is the manufacturer of The Quixote, which will be offered Open Source as well, once ready.
  • The Multi-Line Braille Display by Paul D’Souza goes one better than the Audrey display (or 25 better!) with multiple lines, giving a whole page of text displayed at a time.

If you’re interested in the forefront of Braille display , I recommend you visit these links – looking them over, I find myself quite positive that 2012 WILL be a significant year for the Blind!

How To Get the Minolta 1350W Working Under Windows 7 64 Bit

A thorny problem, with no easy solution – how to get my Minolta 1350W printer working under Windows 7.

The problem is simple to understand: Minolta never made a 64 bit driver, and the last driver available for this printer is a 32 bit for Vista.

Now of course, I could use 32 bit Windows 7. Certainly it would solve many, many problems I’ve had with drivers; but I like the large memory space available under 64, and eventually Microsoft will shoehorn us into using only 64, so why wait?

But of course that means my Minolta is a useless lump of plastic and metal (and toner, with about 4,000 pages worth remaining). And that is just annoying. So for quite some time I’ve been looking for solutions to make it work. For instance:

  • The easiest of course is to use another machine to run XP or Vista 32 bit, and use the old Minolta PagePro drivers for it. In my case, I’d use this option, and then pass files to it via PDF output. PDF is straightforward; Open Office and CorelDraw do this easily, and amount to the majority of the printing I do, but you can also use the free Bullzip PDF driver, which outputs any printing to a PDF file you can then send over the network. A handy way to manage the two (or more) computers you’ll use is with something called a KVM (Keyboard/Video/Mouse) switch; you can get cheap kvm switches on eBay. Using this, I can share a single mouse, keyboard and display between computers, and switch back and forth with a simple keypress or two. And since both computers were on the network, passing PDF files and managing printing was (almost) a simple solution.
  • Another option I read about but didn’t use was to ‘fake’ the system out. Again, you use a second computer to run the Minolta driver and connect to the printer, but now you use a networked printer setup, and the Minolta 1400 drivers running on the Windows 7 x64 computer to print to the networked computer. In all fairness, I’ve never tried this, but in theory it would let you print most anything from your current computer (not just PDF files), although you still need to run a second computer for every print job. If this sounds good, you can read more about this at this blog.
  • The solution I moved to recently was to run XP in a virtual box on my Win7 system, and print from that. A bit complicated to set up, but no more need to switch computers, or even use a second computer!

The method for doing this is to use a virtual computer, a program that creates a computer within a computer. Using it, Windows XP runs in memory detached from Win7, yet still accessible (they can share the same programs, and even hard drives if you wish). I used Virtual PC 2007 to set things up, but since it doesn’t manage the USB port (which the Minolta uses), it’s no good – and the latest Virtual PC with USB support appears to be just on Win7 Pro/Ultimate, making it inaccessible for most people.

However, all is not lost:

  • Use your old copy of XP (you do have an old copy, don’t you?), and download Virtual PC. You’ll need this to set up WinXP – although in theory you can do everything on the final system (Oracle’s VM VirtualBox), I had problems installing from there (imagine, Microsoft making it difficult to use someone else’s software!) Using Virtual PC, do the XP complete install, but stop short of activating it.
  • Now set up and run VirtualBox. This program includes drivers for USB, and will let the virtual computer access your USB printer. Create a new system, but point it to the XP drive you just created under Virtual PC. At this point, you can also activate it (or wait a few days until you’re comfortable dealing with the system).
  • Now, install the printer driver (remember to do it off the disk rather than using XP’s driver detection routines).
  • At this point, you have a driver, XP, but no printer. Now this is the tricky bit; if you turn on the printer, the Win7 machine will try to install it (and fail). What I found worked was to let it try and fail each and every time. However, once it gives up, use the Virtual box to grab the USB device, and from then on you are hooked up, and can print from your virtual box.

While tricky, the advantage is that you can use your Minolta PagePro 1350W for a few more years (or as long as you can activate XP!), and yet get the benefits of a cheap yet good printer (after all, I can buy laser toner cartridges for it at obscenely low prices on eBay). To print, pass your PDF files over via a common hard drive directory, or install the same program in XP and pass actual files over – either way, it sure beats a second computer running for every print job!

Just a Few Questions…

I had an interesting email recently, and in answering it I thought the responses would benefit other visitors – so here it is a mini FAQ of the project so far:

  • How will this display be marketed?
    Currently, it’s design only, not marketing. Once I have a design I like, I plan to manufacture it if I can raise the funds. However, since I will be publishing all details online, and will be available (time permitting) to answer questions, I believe anyone could start manufacturing them, even if I am unable to.
  • Who will write a screenreader so it can be used with a computer?
    The design uses a serial (USB) port running at 9600 baud, which is a common communication protocol. I have talked to the folks involved with brltty, a Braille text driver suitable for Linux system; I believe it can be adapted readily to their protocol, which is a very common one in the Linux world (it comes installed I believe on all Linux distributions by default). As well, the source code to the device will be published, meaning that even if a particular protocol or device or software program is not supported, a programmer should be able to adapt it.
  • What is your time table for developing the product?
    As for the timeline, I am currently working on improving the first prototype, and hope to have a second prototype by early February. This next one will be a full 40 characters (instead of the initial five) and will be close to the final product – barring unforeseen occurrences.
  • There have been other attempts to develop a cheap Braille display but they didn’t amount to anything, so what’s the likelihood that you would develop a marketable product?
    I agree that there have been many failed Braille devices – in my initial research, I saw that and realized much of it was because of closed source designs. So I decided to make all research Open, so that anyone could make it. I hope by February to have enough source code and designs online that anyone could build it, company or individual, and get reasonable performance (note: because of the design, it likely will never compete with a $7000 device on speed, however, I’m hoping that is the only lack). As for the likelihood, I don’t see any technical challenges in the current design, only time and resources. I’m committed to getting this out and – God willing – I will.

I hope this answers some questions out there!

IndieGoGo Is, Well, A Go!

One aspect of the Braille Display Project has always been funding. Currently, I pay for all parts and supplies pretty much by myself (at least until the win at ASC V). That’s expected; money is in short supply these days, and I knew I’d be going it alone when I started.

But you know how it is: you either spend money or time, one way or another. So to cut down on time, I decided to open an offer to generate support. The offer, at IndieGoGo, is for contributions to help pay for more and better supplies and tools, speed up the project, and most importantly, raise awareness!

What’s IndieGoGo? For those familiar with KickStarter, you already know (IndieGoGo is easier for Canadians to set up on than KickStarter). For others, these sites are incubators of a sort: they handle the donations and rewards payouts (called ‘Perks’), and provide a convenient place to manage all aspects of the project. In my case, I set a deadline (late January), a level amount ($1,500), and what my perks would be for contributors. The best one is the $50 level, which provides a link on this site – you can see the thank you list at the top of the sidebar on the right – which is ideal for search engine notice and possibly sending traffic to your site!

Please consider a contribution – and please tell others of this project campaign. As always, the more people thinking about a Braille Display Project, the more likely the Blind will have a powerful new low-cost tool in the new year!