Day 0 — Pilot Episode

Published at: July 1, 2020
Last modified: July 1, 2020
cd ..

The Cloc is a alarm clock that doesn’t show you the time. Unbelievably, right? Actually, you only see light from a wood box. This light changes its color depending on how much time is left to the pre-established time (a.k.a. the ring time)

When the ring time happens, a Spotify song will be played. This song will be played for a few seconds and will turn off automatically. No buttons.

How is it made?

It has a Raspberry Pi 3 B+ as a control center. This one manages the LED strip and the speaker.

The RasPi needs ~200 mA, the speaker ~800 mA and the LED strip 36 mA/cm. To make everyone happy, a 2A or a 2.5A PSU will work perfectly. More current = more centimeters of LED.

The LED strip get its data at 5V; and the GPIO pins run at 3.3V. To make the data travel at 5V, we need a Level-Shifter:

Thanks, Diego!

Components

Raspberry

RGB

Sonido

Tha Power

Others (that may be useful)

Pin map

ComponentPinComponentPin
Raspberry Pi5VAmpVin
Raspberry PiGNDAmpGND
Raspberry PiGPIO18AmpBCLK
Raspberry PiGPIO19AmpLRCLK
Raspberry PiGPIO21AmpDIN
Raspberry PiGPIO12Level-ShifterA1
NeoPixelDINLevel-ShifterB1
PSU5VLevel-ShifterHV
PSUGNDLevel-ShifterGND

If it’s possible, connect all GND together

Nice, and the software?

That can be splitted in two: the configuration and the alarm.

The configuration, or how I will call it to prevent headaches, the editor, is the thing which the user uses to configurate the device. Mi current idea is a mobile app that connects to the device via Bluetooth, like Chromecasts do. With that app, the user could customize the time, color and intensity of the light, the song or playlist, and how long they want to have the alarm ringing.

The alarm, a.k.a, the wake-up-ator, would run a server which listens to Bluetooth requests to change the configuration and would start the ring-time. This last would be a song being played through the speaker and the LED strip being turned on. If it’s possible, the lights will have an animation.

Day 1 →