I wanted an NTP clock with time zones and automatic daylight savings time. I found ESP32-2432S028 with a TFT display. You can buy it for under $10 in China, but I paid under $20 in the US so I wouldn't have to wait for shipping.
These instructions have been tested with Ubuntu 22.04.3, Windows 10 and Arduino IDE 2.0.2-2.1.1.
-
Remove
brltty, an app for blind people, which interferes with ESP32-2432S028. [Ubuntu only]sudo apt purge brltty -
Install
pyserialwhich is required by Arduino IDE. [Ubuntu only]pip install pyserial -
Start Arduino IDE
-
Select Board
Board is
ESP32 Dev ModulePort is
/dev/ttyUSB0[Ubuntu]Port is
COM??[Windows]IDE will ask if you want to install
esp32 core. The name has changed so you may have to selectESP32 Dev Boardand later change toESP32 Dev Module. -
Install libraries · Use
Manage Libraries...to installLovyanGFX(1.1.9)andlvgl(8.3.11)libraries. -
Clone repository
cd ~/Arduino/git clone https://github.com/alannishioka/esp32-2432s028-clock.git -
Copy
lv_conf.hto~/Arduino/libraries/. This assumeslvgllibrary is in~/Arduino/libraries/lvgl/ -
Edit
config.hto input your WiFi ssid/password. -
Connect ESP32-2432S028 to your computer with micro USB cable.
-
Build and Install using Arduino IDE
- Fonts were converted with LVGL Online Font Convertor I used condensed because display is taller than it needs to be and so date would fit on a single line.
- Schematic page 1, page 2
- This project is a fork of https://github.com/cjgb/esp32-2432s028-meteo I feel it is fastest to get a project working by starting with something that already works!
- NTP with Day Light Saving Time for the ESP32 also explains how to change the NTP update interval.
- Sunton ESP32 2.8 inch 240*320 TFT with Touch describes board and software resources
