QR Code Clock by KiwiGrinder 3d model
3dmdb logo
Thingiverse
QR Code Clock by KiwiGrinder

QR Code Clock by KiwiGrinder

by Thingiverse
Last crawled date: 3 years ago
This remake is a QR Code clock using a WeMos D1 R1 and 1.3in SPI OLED display.
Acknowledgements:
Box design: c1Sco - https://www.thingiverse.com/thing:2607585
Wunderground code: smily77 - https://www.thingiverse.com/thing:2155175
QR Code generator: Project Nayuki - https://www.nayuki.io/page/qr-code-generator-library
How it works
When started, the WiFi Manager will try and connect to your WiFi network. If it can't be found or this is the first time you are running the software, it will create a WiFi hotspot called CLOCK. Using your phone, connect to this WiFi hotspot. You will be presented with a menu. You can either select your network SID from the list or enter one manually. You will be asked for the password if it is required.
Once connected, it will then get your latitude and longitude and using this location, connect to the WUnderground service. This service will return your time-zone, taking into account daylight savings time. The software then contacts a NTP server to get the current time using the time-zone obtained previously. It also obtains the current temperature and weather forecast from the WUnderground site.
In the main loop, the software generates a new QR Code every second. The QR Code contains the time and date in the form "HH:MM:SS DAY_OF_WEEK DAY MONTH_NAME YEAR". You can read this using your phone. There are plenty of free QR Code readers available.
Weather forecast and time-zone information is updated every 15 minutes.
Make:

Source the components
WeMos D1 R1 - https://www.ebay.com/itm/D1-Mini-NodeMcu-4M-bytes-Lua-WIFI-Development-Board-ESP8266-by-WeMos/182035363514?epid=2236160554&hash=item2a622736ba:g:NSYAAOSwe7BWzu4m
1.3" SPI OLED display - https://www.ebay.com/itm/1PCS-1-3-Blue-SPI-Serial-128x64-OLED-LCD-Display-Screen-Module-For-Arduino-L/262742211079?hash=item3d2ca7fa07:g:E1QAAOSwEzxYPqig


Connect the components
OLED_VCC - 3V3
OLED_GND - G
OLED_MOSI - D7 //Sometimes labelled D1 on OLED
OLED_CLK - D5 //Sometimes labelled D0 on OLED
OLED_DC - D1
OLED_CS - D8
OLED_RESET - D3 //Not all OLEDs have this (mine didn't)


Get a API key (free)
Register with https://www.wunderground.com/signup. After you receive your API key add it to line 13 of QRClockV1.ino


Program the board
Libraries used are included, you will need to add them to the Arduino IDE before you compile. I tested the system first on proto-board before I added it to the box.


Print the box
STL files are at https://www.thingiverse.com/thing:2607585

Add the hardware.
Glue in the OLED display with hot glue. Cut a piece of strip board to hold the female headers to plug in the WeMos as well as a connector for the display (optional - you can solder the wires directly if you wish). Once tested again, glue the strip board to the base using hot glue. Measure where the USB socket is and cut a hole in the back big enough to put in a USB plug.

Tags