Introduction: Neopixel Clock With Three Neopixel Rings

The brilliant creation of the Neo Pixel clock by Steve Manley moved me to create this instruction about how to create a similar clock for the least amount of money. (An important Dutch habit is always trying to save money ;-) )

I found out that the original design only fits the Adafruit NeoPixel rings, and those are not exactly cheap.

I looked around on Ali Express and found some cheaper versions of it. Turned out to be working parts, but not with the same dimensions. I ended up searching and finding a 3D design for the clock, and adjusted it accordingly.

Next to this the board I used is a clone of a Arduino Nano, and is programmed in the same way. However, the pure clock program, without any other additions is not available anywhere so I needed to adjust the software a little.


  • Thinary Nano mini USB board
  • RTC Clock
  • LR1120 Battery
  • WS2812B 60 Led Ring
  • WS2812B 24 Led Ring
  • WS2812B 12 Led Ring

Step 1: 3D Print the Clock Face

In the attached files you will find the stl file you need to print the clock-faceplate.

Step 2: Collect All the Needed Parts

On Ali Express you will be able to find all the parts you need for this project.

Next to the electronic parts I bought a clock with an ugly face-plate, because that makes it 10 euros cheaper than a blue one for example.

Step 3: Connect the Rings

Use hot glue to attach the rings in place. The rings are provided with 5 Volts, and then connected to each other in serial by connecting DOUT to DIN on each ring in order of size, so 60 to 24 to 12.

Step 4: Wiring the Other Electronic Parts

The schema above shows you how to connect the parts to each other.

We'll start with the DS3234 realtime clock. The clock is a serial bus driven device and has a backup battery to remember the time set.

Step 5: Preparing to Program the Arduino Nano

The Arduino Nano is programmed using the Arduino IDE. It’s in the IDE that you write “sketches” that are then compiled into firmware that your computer writes to the Arduino connected to it using a USB cable. Download the IDE and install it.

Load the file NeoPixelClock_V1.ino

Before we upload the code to the board, we need to make sure that we have the drivers installed for our board, and that we have the correct board selected. With the Arduino Nano clone, we need drivers for the CH340G USB-serial converter chip. The chipset used for USB-to-serial is CH340/CH341, for which drivers (for Windows) can be downloaded here:

If you're working on a Mac you will not have any issues as is.

Step 6: Installing the Adafruit NeoPixel Library

Before we can use the NeoPixel Library, we have to install it! It used to be a little complicated to install libraries into the Arduino IDE, but they’ve since simplified it and included a handy Library Manager. It’s listed under the “Sketch>Library” dropdown menu. Open up the library manager and search for Adafruit Neopixel.

When found, select it and click the install button.

Also under the "Tools>Board" menu, make sure the correct board is selected, the Arduino Nano.

Step 7: Upload the Sketch

Now we have everything prepared, we can start the upload to the board. We connect the board with the USB cable.

First we figure out which serial port the board registered.

On Windows:

Open a command with [Windows][R] and type compmgmt.msc, in Computer management, click Device Manager Look under Ports to find out which port is being used.

On Mac OS:

Apple Icon > About this Mac > System Report > USB

Now in the Tools menu, make sure the processor with the old bootloader is selected. This is needed for a clone board.

Now on the upper left in the IDE, click the Upload button. That wil be the button with the arrow pointing to the right. As soon as the upload is done, the clock will start working.