Introduction: Color to Voice Tool (an Aid for the Blind)

Last year I met a couple who were both blind. I had never met any blind persons before. I was amazed how good they were at dealing with the world around them. They are lucky to live an an era where they get lots of help from freinds and modern conviniences. Both are quite good with computers as there are several well made software packages that allow navigating a computer entirely by voice. Recently they told me that they are in need of a good tool for determing what color an object is. They like to check the color of the clothes they pull out of their closet so they match the shirt with the pants, socks, etc. There are smartphone apps for this but they don't always work correctly as they use the camera as the color sensor. I recently saw an ad for a new color sensor from AMS being sold by DigiKey. I designed this dedicated tool based on that chip. The tool uses an MP3 based sound module as the speech element. This is an advantage as it is easy for anyone with a computer to generate the color words in any language making this a true internationally-freindly product. Each color word is assocated with a numeric file name which is simple to send to the module over the Arduino serial link.

Step 1: The Schematic

Using an Arduino Nano to interface between the Color chip and the Speech Module seemed like a good choice. The Color chip has it's own LED illuminator and color sensors. It's output is a serial I2C signal in 4 color areas: Red, Green, Blue and Clear. The Arduino takes in this data and based on the numeric A/D values from each color channel and the software must "decide" what is the most likely color. This info is fed to a list which matches the color word with the correct MP3 file name and then sends it over the serial link. The sound module contains it's own amplifier capable of driving a small speaker.

A simple 3-terminal, low dropout regulator provides the 3.3 Volt DC power for all 3 devices from any battery from 5 to 15 Volts. A 9V battery would fit nicely in a small case and would last for months of daily use.

The high level of function in each of these circuit modules results in a very simple schematic with zero resistors and only two capacitors.

Step 2: Software

The flow chart shows what the software needs to do to make this all work. The portion that examines the color sensor A/D values and decides on what the color is is the heart of the system. A fair amount of trial and error will be required to optimize the correct range of numbers used to pick each color word and color modifier word (light, dark, etc.) A table or indexed list is an easy way to index the color result to match with the correct MP3 file name.

I am not familar with the C language used with Arduino so I have no actual code yet; but if you have used the Arduino at all it should not be too difficult to write this.

Step 3: Ready to Build

There are so few parts and interconnections in this device that it seems like building this on a perf board and hand soldering it would be the fastest way. If going into production then a circuit board should be designed and manufactured for each unit. I am building with a 3 X 4 inch perf board and soldering the connections. On this page is the parts list and the data sheets for the Color Converter chip and the Sound Module. A nice case finishes the device and makes it look professional. I used a low cost hard plastic "wallet" used to carry credit cards, etc. Just remove the card holder inside to make room for the electronics. Glue the parts in place using silicone RTV rubber available at most hardware and home stores.

Making the MP3 files:

Most Windows and Apple computers have a method to record sound from a microphone. Each color should be spoken and recorded into it's own file. Some Windows installations generate WAV files. These may be converted to an MP3 file by using a free converter program such as the one at

Rename each MP3 file to it's correct number and load it onto the micro SD card by using a micro SD card reader plugged into your USB port. See the SOMO-II data sheet for details on file naming.

*** End ***

Arduino Contest 2016

Participated in the
Arduino Contest 2016