I admit it: I'm a total geek. I love electronics, programming, 3D printing, 3D art, and vintage Apple hardware. I'm always juggling half a dozen projects. I also enjoy documenting it all: my successes, my failures, my experiences... and everything geeky along the way.

Talking Clock - Part II | Kevin Rye.net - Main

Kevin Rye

Geek Extraordinaire. Yeh, I said it.

Talking Clock - Part II

The Talking Clock is coming along pretty good. I’ve been multitasking a few projects lately. While you’re waiting for parts or PCBs to arrive, it’s always good to pass the time with another project.

I wanted to add a little flare to the Talking Clock. When the clock annunciates the time, I thought it would be really cool to have some LEDs come on. Maybe fade in and then fade out.

With all the buttons that I have, the audio amplifier, and the VS1053 breakout board, I’ve pretty much run out of I/O. How am I going to PWM multiple RGB LEDs with only 1 pin left? The answer was Neopixels. Neopixels have a single input for data transfer, so I can control an entire ring of Neopixels with one pin.

The plan is to mount the Neopixels on the underside of the enclosure, so that when they come on they illuminate the surface that the clock is sitting on.

From the start I’ve always envisioned that this clock would be cylindrical. I don’t know why. I just picture something that looks like a space-aged talking soup can. That’s why I decided to go with a Neopixel ring. That, and because of the 3” speaker that I’m using. I can’t make the enclosure any smaller than the 3” speaker. So round it is.

16neopixelring_0003

I soldered on a 3 wire connector that I had. This way I can easily prototype with it and connect it to my PCB in the final build.

16neopixelring_0007

I checked out the demo code that came with Adafruit’s library just to see how it worked and then got to work on integrating the necessary code into my sketch.

It was a little tricky getting the multitasking to work, but in the end I discovered that the VS1053 library has a nice “while” statement that allows you to execute some code while it’s playing a track. It’s perfect. The ring fades in, animates, then fades out.

TC with neopixels_0003

Here it is in action:

Talking Clock With Neopixels

Now it’s just a matter of designing the PCB and the enclosure.

See this project from start to finish:
Adafruit's VS1053 MP3 Player Breakout
Talking Clock - Part I
Talking Clock - Part II
Talking Clock - Part III
Talking Clock - Part IV
Talking Clock - Part V
Talking Clock - Part VI