What to you get when a NeoPixel ring, an inexpensive Arduino Wifi board, and a laser cutter walk into a Steam Punk Saloon?

A fashionable Steampunk designed Internet connected Clock using the ESP8266 chip and the Arduino IDE of course!

Here is an evening or easy weekend project to get familiar with the ESP8266 and end up with a great steampunk clock.

Step 1: ESP8266 Primer - the Arduino Advantage

The ESP8266 is one of the newer entrants into the world of "Internet of Things" or "IoT" (Not to be confused with "GOT", where everything dies). Wikipedia describes IoT as "...the network of physical objects or "things" embedded with electronics, software, sensors, and connectivity to enable objects to exchange data with..." other "things". Essentially the idea that everything becomes connected to the internet and exchanges data or commands with everything else. Historians of the future will undoubtedly mark the ESP8266 as the beginning of Skynet.

Leaving Skynet aside, the ESP8266 is a very small (Postage Stamp) sized micro processor with built in WiFi abilities available for ~$3. It operates "as shipped" as a sort of "AT" command set driven modem that can be attached to an Arduino or other similar microprocessor. Alternatively it can be directly programmed using LUA, MicroPython or the newer Arduino IDE. The chip also sports nine GPIO (3.3V logic) pins, which can also be used for I2C or SPI applications and two UART pins to allow the easy addition of accessories like LCD screens, switches, knobs and other controls.

The cost for this board ranges from $2.87 each for 10, to $15.95 for the SparkFun ESP8266 Thing. My personal favourite for development is Adafruit HUZZAH ESP8266 Breakout which sells for $9.95

The ESP is a 3.3v device which can be problematic, however using a logic level shifter solves many issues. So does purchasing one of the specialized ESP8266 breakout boards from Adafruit or SparkFun which have some voltage regulation built in to assist with easier and fun making.

The real advantage here is if you are familiar with the Arduino, then you should consider programming the ESP8266 in the Arduino IDE format...nothing much new to learn! The rest of this Instructable will walk through getting set up and building a Steampunk ESP8266 Internet connected Clock using the Arduino IDE.

<p>To fix the compilation error; add the following lines before the &quot;void setup() {&quot; line:</p><p>void Draw_Background();<br>void ConnectToAP();<br>void Request_Time();<br>bool Check_Time();<br>void DecodeEpoch(unsigned long currentTime);<br>void DrawTime();<br>unsigned long sendNTPpacket(IPAddress &amp; address);</p><p>Should compile after doing this. Thanks Kev_MacD for this great instructable.</p>
Hi, nice instructable. ? But how does i must change the code for a 24 neopixel Ring?
<p>I'm also getting the following error:</p><p>Draw_Background' was not declared in this scope.</p><p>Maybe a changed or forgoton library?</p>
<p>Hi every time i try the script i keep getting <br>'Draw_Background' was not declared in this scope</p><p>please help me </p>
<p>I this good for beginners? Way cool!</p>
The NeoPixel ring is a bit sensitive bit this is a very simple project otherwise. Enjoy!
The 8266 and 8622 are the same chip at midnight. Thanks for the eagle eye that caught what several of us missed last night while copy checking the text...fixed

About This Instructable




More by Kev_MacD:Steampunk ESP8266 Internet connected Clock using the Arduino IDE Replace the touchscreen on a Garmin Oregon for $20 Adding Free OpenStreetMaps to your Garmin Oregon 450 GPS 
Add instructable to: