ESP8266 Neopixel Clock





Introduction: ESP8266 Neopixel Clock

In this Instructable i will show you how to build a Clock out of an ESP8266 Node-MCU v0.9 dev. kit, a 24 Neopixel Ring and some other parts. Sorry for my bad english skills, if there is a problem or a question ask me and i will try to help you.

Step 1: Parts and Tools


  • ESP8266 Node-MCU v0.9 dev. kit (around 6 Euros)

ESP8266 Node-MCU

  • Adafruit Neopixel Ring 24 Pixels (around 10 Euro)

Neopixel Ring

  • enamelled copper wire 0,5 mm (around 3 Euro)

enamelled copper wire

  • copper wire 1mm (1,5 Euro)

copper wire

  • 2K Glue ( 1 Euro)


  • a piece of metal perhaps you have a piece laying at home
  • an old smartphone charger ( 3,99 Euro or cheaper if you have one at home)

Smartphone charger

  • a piece of dotted perfboard (big enough to fit the ESP8266)

Prototype Paper PCB

  • Female Pin Header (1,35 Euro)

Female Header

The parts from above are from ebay but i think you get some or all of these also from your local stores.


  • soldering Iron
  • solder
  • pliers (bend the piece of metal and the 1mm copper wire)
  • saw (cut out the perfboard)

Step 2: Perfboard

In this step we cut the female header and the perfboard in the right dimensions. Lay the ESP8266 on the perfboard and mark the pins on the board (picture 1). On the right side let a row space for the female header. (seen in picture 3). Cut of the long female header 2 three pin parts(picture 2). Place the three pin header parts on the perfboard where your pins D5, GND and 3,3V of the ESP8266 is. Cut also 2 single female pins for the left side (picture 4). These two single female pins are only for stability. The last picture shows the connection between ESP8266 and Neopixel Ring.

Step 3: Soldering

This is a short step. Turn your perfboard around and solder the female header. That's it, the circuit is done.

Step 4: Program ESP8266

I work with the Arduino IDE 1.6.7. It's easy and simple to use it. Setting up the IDE for the ESP8266 is easy and there are many instructables here, so i do not want to bore you with this step. If you start programming the ESP8266 it should look like in the first picture. These are the setting i use for the ESP8266 Node-MCU 0.9.

In the appendix you find everything you need for the project (Libraries and sketch).

The code is well explained. You only have to put in your SSID (name) of your wifi network (Codeline 18) and the password (Codeline 19), instead of the stars. If you are not from Central Europe you can also change the timezone.

Now compile and load it to your ESP8266.

Step 5: Metal Work

This is the creative part of the instructable. Take the piece of metal or material of you choice and form it. I made 4 holes in the piece. One to hang it on the wall, two for the copper wire (1mm) to hold the Neopixel Ring and a little hole to put three enamelled copper wires through for connecting the ESP8266 and Neopixel Ring. On the second picture you can see the rear side. There are also two "hooks" for the perfboard also made of the 1mm copper wire. To glue the copper wire on the metal i took a 2k component glue andmade spirals for more stability.

Step 6: Put Everything Together

You are nearly done. In the last step you put everything together. The picture shows the rear side with mounted perfboard and the three enamelled copper wire which go through the metal. The second picture shows the front side.

If you like my instructable leave a comment and/or like it. Do you have questions? Place it in the comments i will try to help you. At the end if you really like it please vote for me in the Full Spectrum Laser contest.



  • Epilog Challenge 9

    Epilog Challenge 9
  • Pocket-Sized Contest

    Pocket-Sized Contest
  • Science of Cooking

    Science of Cooking

We have a be nice policy.
Please be positive and constructive.




with the following line, do I change NUMPIXELS to the actual number of pixels on my ring? for example I have a 12 pixel and a 24 pixel ring I could use...

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

@dougstrickland Yes, you need to change the NUMPIXELS value to the number of LEDs in you neopixel ring.

its great and i have a question

i wanted a code to cheak connection , if connection with wifi is true set any port to high and In reverse set low this port

plz help me to creat this code :))))

tanx so much

Hi everyone I'm trying to build this clock but the LEDs seem to be randomly lit I use the ws2812b led i tried with several esp12 / esp7 / wemos d1 mini but nothing what could it be? Arduino does not give me errors in compilation

I have used 60 Neopixel ring for this and an ESP8266NodeMCU all works great. Now I need to sort a casing ... probably an old (1950's) Marconi radio carcass. Keep up the good work. Thanks D6

thanks for the tutorial! i built it today, and everything works fine for me. i just wondered if i could add a sound on full hours via a piezzo. do you have an idea about how to do that?

hi. if you want just sound, not melody, you can use active buzzer any unused GPIO pin, get full hours and this small piece of code:

digitalWrite(2, 0);


digitalWrite(2, 1);

i see alot of qustions

that are UN ANSWERD

WHY????? respond pleace thats what we do here, help eachother

and your question is?