Welcome to the page of my (W.I.P.) project called
which is a smart clock that connects to a NTP server to get the current time. It uses a ESP8266 (devboard: Wemos D1 mini, soon i will make it work also for ESP32).
(ESPclock BOLD coming soon... 😉)-
Install VSCode or VSCodium (i prefer VSCodium because it basically is VSCode but without telemetry);
-
Install PIOarduino extension on VSCode/VSCodium;
-
Download the latest .zip file that you can find in the "Release" section, extract it, then open in VSCode/VSCodium the ESPclock project directory;
-
Select the PIOarduino extension in VSCode/VSCodium, then you have to store the html page into the esp8266 flash memory in two steps:
- Platform -> Build filesystem image
- Platform -> Upload filesystem image
-
Now lets upload the C/C++ code. Again from the PIOarduino extension in VSCode/VSCodium, go to:
- General -> Build
- General -> Upload
-
Now let's connect PC or mobile to the ESPclock access point, with the password: waltwhite64
-
After connecting to the ESPclock's AP, open your browser and paste in the address bar: http://192.168.4.1/
-
From the web UI, first add your home network, then the NTP server that matches your region, plus the GMT/UTC offset hour(s).
-
And we're done! Hope that you liked my project! If you have any suggestions, let me know!
- Asynchronous webserver
- Automatic Wifi Scan
- Wifi and NTP server setup via web UI
- Save/delete configuration (to restore data after reboot)
- Automatic Brightness mode
- Blinking colon toggle
- 🔳 ESP32 port
- 🔳 Replace NTPclient.h with ESP standard NTP functionality (no libraries to include!)
- 🔳 Alarm clock mode with buzzer
- 🔳 Display uptime in webUI
- 🔳 Adding 1 or 2 buttons to the case
- 🔳 ESPhome or Homeassistant integration
- 🔳 HA support
- ...
- Wemos D1 MINI (mine is V3.0.0 clone)
- TM1637 module https://it.aliexpress.com/item/1005001582129952.html?spm=a2g0o.order_list.order_list_main.49.370e3696i4W9Sn&gatewayAdapt=glo2ita
- Dupont wires
- DG308 8pins terminal block: x2
- Female 8pins header: x2
- 7x3cm perfboard: x1
- M2.5 screws: x10
- M2.5 nuts: x2
- Single row female 5pins header (for common GND): x1
There are (at the moment) two errors that can be displayed from the 7-segment display:
- Err0 -> when "LittleFS.begin()" fails
- Err1 -> when "index.html" doesn't exists in flash memory (user forgot to upload it)







