ESP32 & ESP8266 Connectivity · Intermediate · Time
ESP8266 NTP Clock Display
Network time on a small OLED, resynchronised hourly and readable without a computer.
Firmware status: Generated from this project's own pin map and compiled with arduino-cli for esp8266:esp8266:nodemcuv2 before publication; bench validation on your hardware is still required.
Board: ESP8266 (NodeMCU v3 / Wemos D1 mini) · ESP8266EX @ 80 MHz · 3.3 V logic · build for esp8266:esp8266:nodemcuv2.
What you will build
An ESP8266 that syncs from NTP with a timezone, shows the time on an OLED, and reports when it has not managed to sync.
Components
- ESP8266 board
- 0.96 inch I2C OLED (SSD1306)
- 4 × jumper wires
- USB cable
Pin map for this build
| Sketch constant | Pin | What it is |
|---|---|---|
PIN_SDA | 4 | OLED display — SSD1306 I2C, 128×64 |
PIN_SCL | 5 | OLED display — SSD1306 I2C, 128×64 |
Tools
- USB programming cable
- Multimeter
- Current-limited bench supply (for anything that switches a load)
- Small screwdriver and wire cutters
Build sequence
- Wire the OLED: SDA and SCL to the board's I2C pins, power from 3.3 V.
- Flash and run an I2C scan first if the display stays blank — the address is usually 0x3C, not always.
- Set the timezone string and confirm the displayed time matches your clock.
- Disconnect the network and confirm the display says it has not synced rather than showing a wrong time confidently.
Test and expected result
Time matches a reference clock, the display updates every second, and an unsynced state is shown clearly.
Acceptance checks
time correct, display updates, unsynced state visible
Safety and limits
The OLED is a 3.3 V part. Powering it from 5 V damages it, and it is not always the first thing people check.
Hardware scope
I2C display, NTP sync with timezone, hourly resync, honest sync state.
Connection diagram
Download the connection diagram (SVG)
Download the Arduino sketch (E24_esp8266_ntp_clock_display.ino)
Guide source: the sketch on this page was generated from the pin map above and compiled for esp8266:esp8266:nodemcuv2 before publication.
Related projects
- ESP32 Captive Portal Wi-Fi Manager — Boot the ESP32 with no credentials and configure its network from a phone, with the portal saved to flash.
- ESP8266 Config Portal — The same idea on the cheapest board that can do it: an ESP8266 that configures itself from a browser.
- ESP8266 Sensor Portal Logger — A battery-minded sensor node you configure in the field, with the reading shown on its own setup page.