LinuxFest Northwest 2013

Bellingham, WA April 27th & 28th

Platinum Sponsors

Five Blind Persons and H/W interface on one PC

thcalasanz's picture

Open-Source Braille, One PC to Multiple Users 

Tristan H Calasanz, ME, EE, Member IEEE and


Configuration: (1) Functional Diagram & (2) Block Diagram

Abstract - This open-source system is offered to anyone anywhere in the world to build from scratch. Intermediate-level technicians and C-language programmers have adequate know-how to build the hardware interface and commission the system.  One mid-range Personal Computer with the H/W interface connected to the printer port allows up to five blind users to compose and edit manuscripts, surf the internet, and communicate, using the open source Vector Linux and the text-based Lynx browser.  Each of the five blind persons uses a regular PC keyboard and an easy-to-fabricate refreshable Braille display.  The control software converts the five status bits of computer's parallel printer port 379H to behave as a serial port in order to accept serial inputs from the five keyboards.  The interface hardware is built with off-the-shelf inexpensive components that are readily available in stores like RadioShack, Jameco, Lowes, and similar stores around the world, and can be built by intermediate-level technicians. The corresponding interface and command software is written in C-language, and can be maintained, also, by intermediate-level programmers. [1]


The National Federation of the Blind gives the following statistics about blindness in the United States.[2]

Blindness in adults

  • Total: 25,200,000
  • By sex
    • Women: 15,000,000
    • Men: 10,000,000
  • By age
    • Age 18 to 64: 18,700,000
    • Age 65 and older: 6,500,000

The World Blind Union estimates the blind population around the world to be 285 million people.[3]

The World Blind Union (WBU) is the global organization representing the estimated 285 million people worldwide who are blind or partially sighted. Members are organizations of and for the blind in 190 countries, as well as international organizations working in the field of vision impairment. ​

Devices that are available for the blind and the visually-impaired include interfaces for

  • Audio - These devices are common and are readily available.  "Talking Book Libraries" have many of these available for use, and are for free.  Two examples of these libraries are:
    • Washington Talking Book & Braille Library (WTBBL), at [4]
    • Oregon State Library Talking Book and Braille Services (BARD: Braille and Audio Reading Download, at [5]
  • Printed Braille Books.  The New York Times article, entitled Listening to Braille, By Rachel Aviv, Published: December 30, 2009, said,

"Braille books are expensive and cumbersome, requiring reams of thick, oversize paper. The National Braille Press, an 83-year-old publishing house in Boston, printed the Harry Potter series on its Heidelberg cylinder; the final product was 56 volumes, each nearly a foot tall. Because a single textbook can cost more than $1,000 and there’s a shortage of Braille teachers in public schools, visually impaired students often read using MP3 players, audiobooks and computer-screen-reading software."[6]

  • Braillers.  An example is the Perkins Brailler.  The Wikipedia describes it as " The Perkins Brailler is a 'braille typewriter' with a key corresponding to each of the six dots of the braille code, a space key, a backspace key, and a line space key. Like a manual typewriter, it has two side knobs to advance paper through the machine and a carriage return lever above the keys. The rollers that hold and advance the paper have grooves designed to avoid crushing the raised dots the brailler creates."[7]
  • Braille Transcription. In ball-park figures, the Ontario Ministry of Community and Social Services says that "Translation for an average 10 paged Word document would result in 25 to 30 Braille pages. Costs would run $150 to $180 for the master transcription and $13 to $16 for each Braille copy thereafter. The timeframe for turn-around is 7 to 10 working days. The large print version of a document of this type would have a similar master and copy as well as turn around time for production."  (Source: Ontario Ministry of Community and Social Services, "Quick Reference Guide to Accessible Campaign Information and Communication"[8]

This presentation suggests a cost-effective open source option.



A. The Niche.

This system fills a set of needs in a relatively inexpensive way.  For example:

  • 1PC-TO-5Blind-AND-1Sighted.  This system uses only one midrange PC to cater to the Braille needs of five visually impaired or blind persons, and one sighted.
  • Writing, Editing, and Publishing.  Each of the five blind users have their own respective keyboards.  Through their own Braille displays, they can read what they have written, texts that they are editing, or books that they are reading.
  • Internet.  Access to the internet is a growth-laden and liberating intellectual experience for anyone.  As persons, this experience will also become available to them.
  • Open Source.
    • The Vector Linux operating system is free.  So is the text-based browser, Lynx.  
    • The circuit schematic diagrams are free.  So are the Interface and Command software. 
  • Ease of Fabrication.  The users have the option to build the system using prototyping breadboards, if they wish.  Or they may also etch the circuits in PCB's.  Or they may decide to wire-wrap the components, or find a more creative way of building it.
  • Ability to SWITCH from one Braille Standard to Another.  With sufficient study and with the proper programming, a switch could be provided in the interface software that will switch the output.  Take Math as an example, a blind person who is accustomed to the use of the Abraham Nemeth Code would activate a switch to the Nemeth Code.  Conversely, a blind person who wants to use the Antoine Code could also activate a software switch to use it.  Or a person might want to use the Gardner-Salinas (GS8) code, developed by a Physicist at the Oregon State University, John Gardner, and an Argentinian Mathematician, Norberto Salinas.[9]
  • Transcription.  This system "transcribes", though not in a "hard copy", because the Braille cells are continuously refreshed.  If one wants a hard copy, it would be a simple matter to design an interface circuit that connects to the Perkins Brailler.
  • Inexpensive Construction of Braille Pins.  In the prototype, the Braille pins were soft-iron wires inside a cylindrical plastic tube.  A coil wire of 300 turns is wound around this cylinder.  A metal cased 2N2907 configured as an emitter-follower, is used to switch the current through the coil, thereby producing a magnetic field.  The soft-iron wire is elevated and is felt by the fingers.  As one can see, there is no sophistication here, but the system does its work.  The coil for the future should be formed with much smaller wires, with more number of turns so that sufficient magnetism "NI", or "ampere-turns" generates enough force to lift a much smaller soft-iron wire to be felt by the fingers.

B. The Technical Plan

I want to state the hardware and software principles that guided the project over the five years of research at the Ateneo de Manila University.[10]

By DESIGN, the project will use only "low-level" technology, requiring minimal hardware and software resources,  This allows the construction of the system to be more affordable, and it uses components are more readily available, "off-the-shelf", than their "hi-tech" counterparts.  This translates into:

  • The use of the open-source Vector Linux OS and of Lynx Text Browser
  • The use of TTL's (Transistor-Transistor Logic, such as the 7400 series), discrete bi-polar transistors, and wires, solders and nails.
  • The software system is written in "C-language", using simple routines that could run on mid-range Personal Computers.  
  • All hardware components are, equally, available from component stores in developed and in developing economies.  
  • Both the Software and Hardware systems could be maintained by intermediate-level programmers and technicians.  
  • The Hardware could be fabricated from "scratch" by any person or group with intermediate-level skills in "TTL" operation.
  • A "logic probe" that they themselves could build out of a combination of "NE555 timers" and 7400 series chips, would replace an "oscilloscope."  The schematic diagram of this probe will also be provided, together with all the freely downloadable materials.

All my students have agreed that this is an open-source project that will provide the blind with access to vast sources of knowledge on the internet.  We hope to provide them with some of the tools that are available to sighted persons, for their personal development, and for them to take on leadership roles in their respective communities.

The ECCE Department, where I served as an Associate Lecturer (now on leave), has fully supported these humanitarian principles.

At the end of the tunnel is a belief that the visually impaired will READ and WRITE, have access INFORMATION and KNOWLEDGE available on the internet, or intranet, and enhance their contribution to the productivity of the community.

C. The Implementation of the System

The operation of a microprocessor was adopted as a model for the development of the hardware interface.  This link provides a block diagram of the system.

The figure at "" shows how the three ports of the Printer port LPT1 connect to the interface hardware.  The SIGNAL output pins of each of the keyboards are connected to specified pins of the status port 379Hex.  The DATA output port 378Hex is connected directly to each of the five Braille displays.  The DECODER at the output of port 37aHex sends out the latching enable or disable commands to whichever display is addressed at that particular time.

The table below provides a Summary of Major Hardware Interface Commands  The codes on the first two columns are in HEX.  The ones enclosed by the square brackets "[" and "]" are in BINARY form.  Keep in mind, however, that C0, C1, C2, and C3, have Inverting, Inverting, Non-Inverting, and Inverting outputs, respectively.

37ah, 02 [1001] // command to select terminal, disable latch

378h, 00 [0000] // select terminal 1

37ah, 03 [1000] // enable latch

37ah, 02 [1001] // disable latch

37ah, 0a [0001] // command to send cell address, disable latch

378h, 00 [0000] // select cell 1

37ah, 0b [0000] // enable latch

37ah, 0a [0001] // disable latch

37ah, 0e [0101] // command to send data, disable latch

378h, 0f [1111] // send 1111

37ah, 0f [0100] // enable latch

/* at this pt, four LEDs light up! */

37ah, 0e [0101] // disable latch


The screen shot shows Borland's Turbo Debugger Version 1, called from the MSDOS Prompt.  At this particular commissioning stage, an output of 00Hex, is sent to the control port 37aHex. 

The picture shows the laboratory set-up with five keyboards.  The LED's at the protoboard to the left of the CPU display the specific pin that is activated.

The Braille Display Cells are configured with eight pins, following the Unicode Standard, found on [].  The upper six dots are used if the output desired is for a cell that contains six dots.  This link shows the actual configuration.

The picture at this link is an oscilloscope tracing that shows the data waveform over the clock waveform. 

This next chart shows the state duration ratio for the letter "a", which shows the relationship between two parts of the waveform from the keyboard.  The ratio determines which key has been pressed.  Note that the system inverts the keyboard signal.  In this way programming and trouble-shooting is made easy, as the hardware high is maintained as "1" and low as "0".

The configuration of the keyboard terminals is shown here.


One of the challenges of the research was how to bring serial the outputs of the many keyboards into the computer without building an elaborate hardware interface that would simply increase the interface's complexity and cost.  After many iterations, the solution was to convert the five input pins of the computer's status port (379H) into five serial input pins.  From here on, these parallel pinput are able to can accept the serial outputs of five keyboards.  This was accomplished by making the command software continually scan/poll each of the five status pins. 

This is accomplished by performing an "Status[Cntr]=inb(379)" command.  Now that the contents of 379H are stored in memory, a series of AND commands are made to determine the state of each of the five bits.  The software watches for transitions at each of the five bits and takes a note of each of the transition times.  Then it calculates the state duration ratio of each, in order to determine which key was pressed by which user.

Then the software interprets the meaning of the key that was pressed, and sends the results to the specific Braille display in question. 

During our experiments, a mid-range PC is able to perform the major functions listed below.  However, there are many sub-functions that the command software performs that are not listed here.

  1. read port 379
  2. store this in memory
  3. analyze  each of the five status bits
  4. calculate the state duration ratio of one bit
  5. look-up a table to find the key pressed
  6. interpret the meaning of the key pressed
  7. perform the specified function within the PC
  8. translate the information by looking-up a table for the Braille code combination to be sent to the user
  9. send an address command to route the instruction to the specified user
  10. send the Braille code combination to the user, at the given address
  11. pulse the latch-enable pin to transfer the code at the specified address
  12. go back #4 above for the next user
  13. do this five times and go back to #1

The PC also has the duty to service the needs of the sighted user, which is using the PC, together with the other five users.


The schematic diagram for the power supply of the 96 coils is found here.  This design is consistent with the principle declared above that "the project will use only 'low-level' technology".  All components of this power supply are readily available, and its fabrication and commissioning require very limited technician skills.

The Interface Circuit is made-up, exclusively of TTL's.

The chart at this link shows the connection of the five keyboards with their respective pins at the printer port.

This is a picture of one of the refreshable braille displays.  The prototype is made large for ease of commissioning and trouble-shooting.




In summary, it could be claimed that the five-year proof of concept project has been a success.  It is now time to bring this BRAILLE LITERACY PROJECT to the people who would benefit from it.

These are the 285 million people around the world, including 25 million in the United States of American and half a million in the Philippines.


A. The Need for a Sponsor

The sponsor will take what has been already done and fine-tune it, to the point that it would be running smoothly, and ready for publication and construction. 


B. Technical Assistance

The members of the development team will provide technical assistance.  This includes me and my former students.  The President of the Ateneo de Manila University is willing to assist.



I consider it an immense honor to bring this BRAILLE LITERACY PROJECT for the consideration of Linux Fest Northwest 2013. 

My wish is that Linux Fest Northwest 2013 decides to OWN the project, for the sake of those, who are longing for personal growth.



- 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 -



[1] The Five-Year Work:










[10]Electronics, Computer and Communications Engineering Department, School of Science and Engineering




  • (Statistical Facts about Blindness in the United States)
  • (The World Blind Union (WBU) is the global organization representing the estimated 285 million people worldwide who are blind or partially sighted. Members are organizations of and for the blind in 190 countries, as well as international organizations working in the field of vision impairment.)
  • (International Council on English Braille (ICEB), Unified English Braille Code (UEBC) Research Project)
  • (CANADA, 40th PARLIAMENT, 2nd SESSION, Standing Committee on Official Languages)
  • (Guidelines and Standards for Tactile Graphics, 2010 - Developed as a Joint Project of the Braille Authority of North America and the Canadian Braille Authority L'Autorité Canadienne du Braille)
  • (Braille Reading Standards)
  • (BANA Braille Codes Update 2007)
  • (Computer Braille Code (CBC) Update 2010 - Special Symbols Page)
  • (Braille Patterns)
  • (The International Council for Education of People with Visual Impairment)
  • (Fact Sheet on Braille Writers, Printers and Software)
  • (Blindness)
  • (Literary Unified English Braille Code versus Standard Braille: A Pilot Study Comparing Experienced Braille Readers Reading Rates, Miscues, and Regressions)
  • (English Braille: American Edition 1994)






Experience level: 




Session Time Slot(s): 

Sunday, April 28, 2013 - 10:00 to 10:50