https://github.com/maxonxoxo/customlcd
ESP8266-powered Wi-Fi LCD clock with big custom-character digits, NTP-based time sync, 12-hour format, dynamic greetings, and multiple Wi-Fi credential support.
https://github.com/maxonxoxo/customlcd
12-hour-format custom-characters esp8266 internet-clock iot lcd lcd-display nodemcu ntp-clock wifi-clock
Last synced: 2 months ago
JSON representation
ESP8266-powered Wi-Fi LCD clock with big custom-character digits, NTP-based time sync, 12-hour format, dynamic greetings, and multiple Wi-Fi credential support.
- Host: GitHub
- URL: https://github.com/maxonxoxo/customlcd
- Owner: MaxonXOXO
- Created: 2025-08-13T16:42:06.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-24T11:11:24.000Z (10 months ago)
- Last Synced: 2025-08-24T17:07:11.664Z (10 months ago)
- Topics: 12-hour-format, custom-characters, esp8266, internet-clock, iot, lcd, lcd-display, nodemcu, ntp-clock, wifi-clock
- Language: C++
- Homepage:
- Size: 4.32 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```
___ ___ ___ __ _______ _ _ __ _________ _______
| \/ | / _ \ \ \ / / _ | \ | |\ \ / / _ \ \ / / _ |
| . . |/ /_\ \ \ V /| | | | \| | \ V /| | | |\ V /| | | |
| |\/| || _ | / \| | | | . ` | / \| | | |/ \| | | |
| | | || | | |/ /^\ \ \_/ / |\ |/ /^\ \ \_/ / /^\ \ \_/ /
\_| |_/\_| |_/\/ \/\___/\_| \_/\/ \/\___/\/ \/\___/
```
# ESP8266 LCD Clock (Wi-Fi + NTP)
This project is a **custom-character big digit LCD clock** using an **ESP8266 NodeMCU** with **I2C LCD**.
The time is fetched from the internet via **NTP** and automatically adjusted for **India Standard Time (UTC+5:30)**.
It also supports:
- **12-hour format with AM/PM**
- **Custom greetings based on time of day**
- **Multiple Wi-Fi credentials for reliable connection**



---
## β¨ Features
- Large custom-digit display using LCDβs CGRAM.
- Time updates from NTP every minute.
- Greets user with:
- `Good Morning` (6 AM to 12 PM)
- `Good Afternoon` (12 PM to 10 PM)
- `Good Night` (10 PM to 6 AM)
- Multiple stored Wi-Fi credentials β automatically connects to first available.
- Neatly arranged clock layout so AM/PM fits perfectly.
---
## π Hardware Required
- **ESP8266 NodeMCU**
- **I2C LCD Display** (20x4 recommended)
- USB cable & power supply
- Internet access
---
## π¦ Libraries Required
Install these libraries via Arduino IDEβs **Library Manager**:
- `ESP8266WiFi.h`
- `NTPClient.h`
- `WiFiUdp.h`
- `Wire.h`
- `LiquidCrystal_I2C.h`
---
## β‘ How It Works
1. ESP8266 tries to connect to one of the stored Wi-Fi credentials.
2. Fetches time from NTP server (`pool.ntp.org`) with India time offset.
3. Displays the time in big digits on the LCD.
4. Shows a greeting message based on the hour of the day.
5. Refreshes every second for real-time updates.
---
## π§ Setup
1. Clone the repository:
```bash
git clone https://github.com/MaxonXOXO/CustomLCD.git
```
2. Open the `.ino` file in Arduino IDE.
3. Replace Wi-Fi credentials in the code:
```cpp
#define WIFI_SSID_1 "YourFirstSSID"
#define WIFI_PASSWORD_1 "YourFirstPassword"
```
4. Upload the code to your ESP8266.
5. Connect your I2C LCD to the correct pins and power up.
---
## π· Example Output
```
Good Morning
08:45 AM
```
---
## π License
This project is licensed under the MIT License β feel free to modify and share.
---
**Made with β€οΈ by MAXONXOXO**!