Introduction: Write Audio and Text Messages in Braille

  • Hello, in this tutorial I present to you the creation of an audio and text translator and mesages editor in the braille language. A useful project for visually impaired people or for beginners in braille. Pressing a number of keys in a certain order will be decoded by an ESP32 TTGO board and the value will be displayed on the screen and played on an audio player.

Supplies

1.ESP32 TTGO board

2.DF Player MINI MP3

3.Any microSD empty card

4.8...16 ohms speaker

5.6x pushbuttons

6.1k resistor

7.breadboard and jumper wires

8.Arduino IDE or Visuino software

Step 1: Schematic Diagram

  • The electrical diagram is easy to make. The MP3 player connects to the ESP32 TTGO board Rx pin through a 1k resistor. The strap to the Io2 -GND pin to the MP3 Player is connected only if you want maximum audio volume. The push buttons are connected in order from 1 to 6 starting with the GPIO36 pin. From GPIO36 to GPIO39 are buttons 1...4 and GPIO32 and GPIO33 are buttons 5 and 6. Follow the order for a correct decoding.


Step 2: Braille Keypad

  • I made the keyboard in a plastic box. I left about 2 mm from the upper part of the button outside the box to perform a firm press and a corresponding ON/OFF command. You can make the keyboard on a piece of printed circuit or even on a breadboard. It is very important that the order of the buttons is respected for a correct decoding. Starting from the left/top button number 1 (GPIO36 on the ESP32 board).

1 4

2 5

3 6

  • It should be mentioned that I tried various other methods for the keyboard: with photoresistors or with infrared LEDs. The variant with push buttons is the safest in operation.


Step 3: Audio Files

  • The audio files in the attachment are copied to the MicroSD card. The card must be empty, formatted FAT32. Copy the tabs without inserting them into a folder. Make sure they are in ascending order, as they are named. The first 26 files represent the letters of the English alphabet and the other 3 files are warning sounds, "ready","cleared""space". You can replace the files with any audio files, the important thing is that they are positioned in order.


Step 4: The Principle of Operation

  • The principle of operation: it is opposite to the principle of reading in braille code. Pressing a number of buttons corresponding to the Braille table will generate the respective text on the ESP32 screen and the MP3 player will play the respective letter. Example: the letter "B" corresponds to pressing buttons 1 and 2. For the letter "N" press buttons 1,3,4,5.


  • I introduced two more commands in the software code: buttons 1,6 execute the "space" command and buttons 3,4,5,6 execute the "cleared" command. The "cleared" command clears the screen and reset the board and is followed by the audio confirmation "ready" At that moment the ESP32 board is ready to write a new message. The "space" command executes space between words.

Step 5: The Code

The code is built in the Visuino program, but you can also find the file and the libraries for the Arduino IDE in the attachment. As soon as we open the code in Visuino, we can see a lot of logical AND and INV gates. Which gate takes care of the decoding part. The digital decoding of a number of 26 characters (letters) in the braille language is quite extensive, I will limit myself to a brief explanation of the principle. Take the letter "G" as an example. This corresponds to pressing buttons 1,2,3,4. As we can see in the Braille table, these buttons also correspond to other letters, A,B, C,D,E,F,H,I,J so the logic gates of the code will have to block the other characters that contain the 4 buttons and display only the character "G". This is possible with the help of logic gates.


For the Arduino IDE you will have to copy the folder with the used libraries called "Mitov" in the folder with the Arduino IDE libraries. In the Arduino IDE, choose the correct board type (TTGO Lora32) and port and load the code. Do the same for Visuino.


  • It should be mentioned that this project is built in an earlier version of the Visuino program and in the meantime the program has undergone huge changes and improvements and it is possible that it will not work in newer versions. That's why if you want to edit in Visuino, you can find details about the version used in the attached text file.

Here you can find the libraries: https://app.box.com/s/cryz1fytbi1wvan7bk2etxqojl4zkn3e

Step 6: Start the Device

  • As soon as we connect the USB plug or other power source on the ESP32 TTGO screen, the command indicator table and the board logo will appear followed by the audio confirmation "readY" At this moment the board is ready for use. By pressing the buttons following the pattern in the braille table, the device will display the respective letter on the screen and the sound of the respective letter will be heard in the loudspeaker. Press keys 1 and 6 to put space between words. To delete the message and to restart the writing process, press the 3,4,5,6 keys. The screen will be erased and after the "ready" command you can write other messages again.



I hope you liked my project, thank you!