ElectronParade

Project 10: 24-LED NeoPixel Minimalist Desk Clock

We’ve all seen traditional analog clocks with ticking hands, and standard digital clocks with seven-segment displays. But what if we combine them into a sleek, glowing, minimalist desk clock?

Today, we’re building a NeoPixel Desk Clock! We will use a 24-LED WS2812B ring to represent the hours, minutes, and seconds using different colors of light.

24-LED NeoPixel Ring

How It Works

To keep accurate time even when unplugged, we rely on a DS3231 Real-Time Clock (RTC) Module. It has a tiny coin cell battery that keeps the internal clock ticking. The Arduino Nano acts as the brain: it reads the current time from the RTC and translates it into specific LED positions and colors on the 24-LED NeoPixel Ring.

For example:

(Because there are 24 LEDs instead of 60, we map the 60 minutes/seconds onto the 24 LEDs using some simple Arduino math!)

Required Components

Here are the specific parts you need to build this project (using our direct Amazon links helps support the Electron Parade!):

The Wiring

  1. DS3231 to Arduino Nano (I2C Communication):
    • VCC → 5V
    • GND → GND
    • SDA → A4
    • SCL → A5
  2. NeoPixel 24-Ring to Arduino Nano:
    • VCC (or 5V) → 5V
    • GND → GND
    • DI (Data In) → D6 (or any digital pin you define in the code)

Writing the Code

You’ll need the Adafruit_NeoPixel and RTClib libraries installed in your Arduino IDE.

This project is inspired by the fantastic guide over at Circuit Digest: DIY Arduino Neo Pixel Digital Watch. Their tutorial breaks down exactly how to initialize the RTC, fetch the hours/minutes/seconds, and use the map() function to light up the correct LEDs on the 24-ring format.

Next Steps

Once you have it working on a breadboard, the real fun begins! You can design and 3D print a custom enclosure, carve one out of wood, or diffuse the LEDs using frosted acrylic to give the colors a smooth, modern neon look.

Stay tuned for our next project, and happy tinkering!