ESP8266-based touchscreen clock and light controller with WiFi
C C++ Objective-C OpenSCAD HTML Arduino Other
Permalink
Failed to load latest commit information.
cad Refactor SCAD code (still has loose ends), and add case version for I… Sep 18, 2015
util Add forgotten mkmetric.py script in utils Sep 10, 2015
Config.h Initial import (working version). Sep 2, 2015
ESPClock.ino Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
Font.cpp Initial import (working version). Sep 2, 2015
Font.h Initial import (working version). Sep 2, 2015
Globals.cpp Initial import (working version). Sep 2, 2015
LICENSE Initial commit Sep 2, 2015
NTPClient.cpp Initial import (working version). Sep 2, 2015
NTPClient.h Initial import (working version). Sep 2, 2015
OWMClient.cpp Add support for OTA firmware update (won't work on boards with 512KB … Sep 25, 2015
OWMClient.h Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
README.md Remove TODO from README.md and create issues instead Sep 25, 2015
Screen.cpp Initial import (working version). Sep 2, 2015
Screen.h Initial import (working version). Sep 2, 2015
Settings.cpp Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
Settings.h Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
WebServer.cpp Add support for OTA firmware update (won't work on boards with 512KB … Sep 25, 2015
WebServer.h Add forgotten declarations in WebServer.h Sep 25, 2015
WiFiLamp.cpp Add multiple presets (and cycle through all). Sep 8, 2015
WiFiLamp.h Add multiple presets (and cycle through all). Sep 8, 2015
Widget.cpp Initial import (working version). Sep 2, 2015
Widget.h Initial import (working version). Sep 2, 2015
basicsetup.html Initial import (working version). Sep 2, 2015
basicsetup_html.h Minify HTML Sep 8, 2015
settings.html Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
settings_html.h Feature: Add OpenWeatherMaps client (protocol tested; UI still missin… Sep 24, 2015
update.html Add support for OTA firmware update (won't work on boards with 512KB … Sep 25, 2015
update_html.h Add support for OTA firmware update (won't work on boards with 512KB … Sep 25, 2015

README.md

ESP Clock

Touchscreen clock and light controller with WiFi

ESPClock video

This was a week-long hack, to build a simple touchscreen clock, with the following features:

  • Graphical UI with touch (no buttons)
  • Clock synchronization over NTP
  • Ability to control WiFi-connected LED lamps
  • Web-based configuration UI

This project was partly inspired by the Chumby (remember that?) and by our old X10 light controller (remember those!?). Current iteration's cost is probably comparable to a used Chumby (which also has a lot more features), but it's more fun this way. :) However, the cost could be taken down to ~$10.

Dependencies

Also, for flashing fonts, you will need the original DigoleSerial library (haven't tested/ported the font upload stuff in my rewrite) and, if you want to substitute your own fonts, the font conversion tools from u8glib/ucglib.

BOM

  • Sparkfun Thing
  • Digole 2.4" IPS display (in UART mode, with wire soldered to reset pad)
  • 500mAh LiPo (optional, but recommended)
  • Depending how fancy you want to get with print finishing: XTC-3D resin and/or Bondo putty, spray paint and primer

More details can be found in the making-of post.