Introduction: ESP8266 ESP-12E Arduino Clock W/ Outside Temp & LEGOS & NeoPixel Ring

We went all 'cord-cutter' and ditched our Cable box and realized something was now missing in our family room...the oh so familiar LCD clock that was always present. I decided to get to work on a replacement and had some fun with it. If you're like me you've ordered an Arduino kit here and there when the price was right and have parts hiding all over your abode. And...odds are you have leftover Legos from all of those theme kits you've bought for your kids over the years. Who needs a 3D printer...HAVE SOME FUN...IT'S GEEKOUT LEGO TIME!

This project grabs your local time from an NTP server and your local temp from Wunderground. Mine is powered by one of our TV's USB ports.

Read on get CREATIVE and have fun!

Step 1: Hard Resources Needed - Parts List

ESP8266 ESP-12E NodeMCU 0.9

NeoPixel RGB Ring

7 segment 8 Digit LCD Display (MAX7219)

Legos

MicroUSB Cable

Jumpers

Mini Breadboard

Imagination (It's in your skull which is HARD...so this is a Hard Resource...HAAAA)

Step 2: Soft Resources Needed - Libraries and 'Stuff'

Assumptions:

  1. ESP8266 Boards Manager is configured. If not...https://github.com/esp8266/Arduino
  2. Your WiFi Credentials available.
  3. Comfortable with installing Arduino libraries.

Arduino IDE

Wundergound API: https://www.wunderground.com/weather/api/d/pricing...

NTP Library: https://github.com/SensorsIot/NTPtimeESP

JSON library for Wunderground data parsing: https://github.com/bblanchon/ArduinoJson

LCD Seven Segment 8 digit: https://github.com/wayoda/LedControl/releases

NeoPixel Ring: https://github.com/adafruit/Adafruit_NeoPixel

Step 3: Wire It Up How It Suits You Best...

I'll map out the pins here just based on what I have put together. Refer to the attached pix as needed.

ESP12------------->LCD-------------------->NeoPixel

5v ---------------------5v

3v-------------------------------------------------3v

Grd-------------------Grd-----------------------Grd

D1-------------------------------------------------In (Blue)

D6--------------------LOAD/CS (Orange)

D7--------------------CLK (Blue)

D8--------------------DIN (Yellow)

Step 4: Arduino Source Tips... and Other Stuff

A few things to note....

The NTPtimeESP library's header file makes the calls to the WiFi libraries so you DO NOT need to add them again to your main source.

Change the WiFi creds in the main source to match your WiFi creds .

Change the time zone information as needed following Andreas's YouTube video.

Change the ZIP code in the source so you pull the temp for your location.

You can rearrange the order of the LCD writes to flipflop the time and temp.

Change the NeoPixel code string(s) to your liking for other color schemas.

HAVE FUN!!