Simon Carter's Arduino-Powered FM Radio Has a Built-In Announcer for the Visually Impaired

Accessible radio uses a text-to-speech library to announce the current channel frequency for eyes-off use.

Maker Simon Carter has developed an FM radio with a difference: it's entirely operable by Blind and visually-impaired users, translating channel information into an audible format for eyes-off operation.

"This project started when my cousin, who is visually impaired, asked me if I could make her a radio that tells her what channel it is on," Carter explains of the radio's history. "A few years ago I did make her a radio that could do that but I built it all manually and it was very time consuming. I built about eight radios for members of the visually impaired community, but it was very, very time consuming to do so and after that I did not have the energy to build more. Recently I decided to revisit this project and see if I could make building them easier an more automatic as well as adding several features such as a rechargeable battery."

This 3D-printed FM radio is designed for easy operation by the Blind and visually impaired, thanks to a text-to-speech engine. (📹: Simon Carter)

The radio itself, which began life — as most electronics projects do — as a breadboarded prototype before being reduced in size enough for installation into a 3D-printed housing, is powered by a Microchip ATmega328P eight-bit microcontroller — either as a bare chip installed on Carter's custom PCB or using an Arduino UNO R3 or older or other compatible microcontroller development board. The radio tuning comes courtesy of an NXP Semiconductors TEA5767, controlled via tactile buttons and a rotary encoder to provide 100kHz-step tuning from 88MHz to 108MHz.

While the radio includes an LCD display, which shows the current frequency, signal level, battery level, and the microcontroller's logic level, it's not necessary for operation: an "announce" button has the radio read out the current frequency at a volume independently adjustable over the radio itself. A rechargeable battery is monitored via the ATmega328P's internal analog to digital converter (ADC) to warn when charging is required.

The project began life, naturally enough, on a breadboard before being shrunken down on a custom PCB. (📷: Simon Carter)

"[One] issue I have is with the quality of the Arduino Talkie sound for the announcement sounds," Carter admits. "Using the Arduino Talkie library that uses older LPC technology produces robotic, noisy, scratchy audio and popping sounds. I don't like the sound quality at all. You could say it is adequate and get's the job done but it is not all that pleasant to listen to. It just does not sound quite ready for prime time.

"I've tried adding noise filtering capacitors and even a low pass filter but nothing works completely well because the issue is the original sounds produce by the Talkie library. So I'm planning on doing a version 2.0 of this radio soon. I plan to use a dedicated text to voice module to do this and it should have much better sound quality."

For those interested in building the current version, Carter has provided design files, source code, and full instructions on Instructables under an unspecified open-source license.

ghalfacree

Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.

Latest Articles