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

Parts:

  • 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)

Glue

  • 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.

Tools:

  • 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.

Comments

author
artic1980 (author)2017-05-17

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

author
dougstrickland (author)2017-03-17

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);

author
D6equj5 (author)2017-02-11

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

author
alerta (author)2017-01-12

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?

author
bacho1313 (author)alerta2017-01-19

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);

delay(500);

digitalWrite(2, 1);

author
klauson (author)alerta2017-01-13

hi, i would say you need some code from here:

https://www.arduino.cc/en/Reference/Tone

and a if request of hour and minutes when its full hours

author
compujan66 made it! (author)2016-12-26

Hi I made this clock, sligtly changed the software. I will upload the sketch soon with an short movie.

Grtz Jan

P_20161226_120713.jpg
author
klauson (author)compujan662016-12-26

Hi, the photo looks great. i'm pleased to see your video

author
WannaDuino (author)2016-10-27

i see alot of qustions

that are UN ANSWERD

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

author
klauson (author)WannaDuino2016-10-27

and your question is?

author
덕희원 (author)2016-10-04

can you help me ? I try same project, but neo pixels does't work . could you give me the cord? sorry, I have bad english skill, too. I try to use arduino IDE.....

author
klauson (author)덕희원2016-10-27

Did you tested your neopixel with one of the adafruit example sketch? If not try it and test if the neopixel are the problem or my sketch.

author
MarcoG6 (author)2016-04-15

great instructable but i tried doing this on a wemos mini and its not working i dont get any errors but it dont even turn on the neopixles i have tried with the pin set to 14 like you said and to pin 5 could you please help

author
klauson (author)MarcoG62016-10-27

Sorry i don't have a wemos board so i only guess where the problem is. Did you tested the neopixel with the example sketch? Next possibility as on my board is the pin names which are printed on the board aren't the same which you use in the Arduino IDE.

author
klauson (author)MarcoG62016-04-15

Hi MarcoG6,

i'm not familiar with the wemos mini. Do you checked your wemo and neopixel individual? Flash a LED on the wemo and an example sketch of the neopixel? If both work check the internet connection and time over the serial monitor. Another point is the neopixels has different led driver in tere different versions. So you have to find out which LED driver is in it and adjust this line in your code: "

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

author
MarcoG6 (author)klauson2016-04-16

the wemos mini is based on the esp 12E

i am using a 12 neopixel ring from adafruit

WS2812 Datasheet here's the data sheet for the indiviual neopixels if that would help

author
rsejk (author)MarcoG62016-09-27

Hi,

I do not know if it is still actual, but you have to change pin number, because Wemos needs to have letter D in front of the number, example:
#define PIN D4.

I hope it would help you or someone else.

author
Comatech (author)2016-04-26

I just made it partially =) now trying to understand how to read a time from that ;)

author
wold630 (author)2016-03-07

Looks great!

author
klauson (author)wold6302016-03-07

Thanks

About This Instructable

17,614views

110favorites

License:

More by klauson:ESP8266 Home automation Part 1ESP8266 Neopixel Clock
Add instructable to: