Neopixel Clock

About the project

NeoPixel Clock uses lights to display the time in colors like an analog clock.

Connectivity  Contest WinnerConnectivity contest winner

Project info

Difficulty: Moderate

Platforms: NeoPixelRaspberry Pi

Estimated time: 1 day

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

1689 Interface Development Tools Dithering USB Driver for NeoPixe... 1689 Interface Development Tools Dithering USB Driver for NeoPixe... x 1
DEV-14277  ARM Raspberry Pi Zero W DEV-14277 ARM Raspberry Pi Zero W x 1
2846  White PCB 60 LED/m 1m 2846 White PCB 60 LED/m 1m x 1
555-28027 Board Mount Motion & Position Sensors PIR Sensor (Motion Det... 555-28027 Board Mount Motion & Position Sensors PIR Sensor (Motion Det... x 1

Software apps and online services

Node.js Node.js
Johnny-five Johnny-five For access to the PIR motion sensor.

Hand tools and fabrication machines

3D printer 3D printer x 1

Story

I used a Raspberry Pi Zero W along with FadeCandy to control the LEDs. The system uses Node.js and provides the user with a webpage for setting the colors of the hours, minutes, seconds and background. 

I'm from Houston so I loaded it with a few local sports teams. The user can quickly set all 4 colors at once by selecting the team logo. The user could always manually adjust the colors by selecting one and turning the desired color.

How it works

I'm using 5 LEDs to represent the hour hand, 3 LEDs to represent the minutes and a single ticking LED to represent the seconds hand.

8:27:17

6:13:56

Future Plans

Since this clock is connected to the internet, I would like to add additional features that would allow for the user to be notified in the event of certain actions. Some examples would be:

  • Timers
  • Email notifications
  • Interface with OctoPrint API for printer notifications

Software

This app is built using Node.js. It runs a simple Express webserver which provides the user with a webpage connected via web sockets. When the user selects a color, that event is emitted to the server. The server then sets the color and fadecandy updates the neopixels. When the user selects a sports team, it just sets all 4 colors and emits the same change event.

Schematics, diagrams and documents

NeoPixel Clock Wiring

Connect the led strip to the fadecandy channel 0. Wire up the power and ground to the battery. Plug in fadecandy to raspberry pi zero w via usb cable. Power pi with same battery.

CAD, enclosures and custom parts

Mount

Enclosure for electronics.

Clock Ring

Ring for clock split in to 4 sections for smaller printers.

Code

NeoPixel Clock

All the code needed to run the NeoPixel Clock on a raspberry pi zero w.

Credits

Photo of electrouser537

electrouser537

Web developer who loves tinkering with hardware.

   

Leave your feedback...