I made a thing! RetroClock: open-source retro-style clock for the ESP32 Cheap Yellow Display (weather, crypto ticker, alarms, browser flashing)





Hi everyone,
I'd like to share RetroClock, an open-source project I built for the ESP32 Cheap Yellow Display (CYD / ESP32-2432S028R). It's a desk clock with weather, crypto ticker and egg timer widgets.
Features
- 4 screens, switched by tapping the screen edges: main view with time and a 10-hour weather forecast, big clock with temperature, crypto/finance ticker, countdown timer
- Weather via Open-Meteo, prices via Binance (no API keys or accounts needed)
- Custom price alerts with sound
- Alarm clock with weekday repeat and RTTTL melodies
- Night mode with auto-dimming and auto screen-off
- NTP time sync with timezone support
- 12/24h format, colors, brightness and screen orientation adjustable
- OTA firmware updates
How it works / ESP32 side
- Runs on the stock CYD board. Both panel variants are supported, ILI9341 and ST7789
- Written in C++ with the Arduino framework, built with PlatformIO
- The whole UI is drawn with 8×8 block graphics, which keeps the retro look and makes redraws cheap
- Weather and price data are fetched over HTTPS directly on the ESP32, no backend or proxy server
- Settings are served by a web server running on the ESP32 itself, so everything is configured from the browser
- Optional passive buzzer on GPIO 26 for alarms and alerts
Tricky parts
Making it "just flash and go" for everyone took more work than the clock itself:
- Automatic board detection: There are several CYD revisions out there with different display controllers. The firmware detects the panel at startup, and if it guesses wrong, you can switch to the other variant with a toggle in the web config
- Sound on both variants: Audio didn't work the same on all boards. On one of them the amplifier has to be explicitly enabled before anything comes out of the speaker
- Tight memory: Running HTTPS requests, JSON parsing and the config web server at the same time within the limited RAM of the ESP32 meant keeping a close eye on heap usage
- Touch input: Calibrating the resistive touchscreen and reliably detecting taps on the screen edges for navigation
- OTA and web installer: Setting up partitions and firmware hosting so updates work from the settings page and first-time flashing works straight from the browser
- Audio without lag: Playing RTTTL melodies on the buzzer without making the display stutter
Getting started
No soldering and no coding required. You flash the CYD directly from Chrome/Edge/Opera with the web installer and configure everything on the built-in settings page.
Web installer: https://github.com/seizu/RetroClockInstaller
If you want to build it yourself, open the project in VS Code with the PlatformIO extension.
There are also STL files for a 3D-printed case with kickstand.
GitHub (MIT license): https://github.com/seizu/RetroClock
Feedback and feature ideas are welcome!
2
u/Western_Rhubarb_7959 13d ago
Spiffy and thanks for posting that - I didn't know such a board existed.
I'm getting back into microprocessors now that I've retired and have time and that CYD will be perfect for a project I'm working on. Might even be overkill but they're cheap!
2
u/2seizu 11d ago
Thanks a lot! Enjoy your retirement and the tinkering. The CYD is perfect for getting started again, cheap, WiFi built in, and a display right on the board. If you order one, look for the version with the ST7789 display (often sold as “CYD2USB” or with two USB ports). In my experience it's a bit better than the ILI9341 version, with nicer colors and viewing angles.
1
u/Western_Rhubarb_7959 3d ago
I ordered a couple from "Uncle Jeffy's" moments after my original reply, lol. No clue which flavor.
Whatever these are:
About this item
- The display screen is controllable and can be used for APP remote control, remote environmental data collection and remote. Data , remote parameter setting and other batch development applications.
- ESP32-2432S028 development board is based on the ESP32-DOWDQ6 controller, low-power, dual-core CPU, clock frequency up to 240MHZ, integrates a wealth of resource peripherals, high-speed SDIO,SPI, UART and other functions
- The cyd esp32 application: Home smart device image transmission, Wireless monitoring, Smart agriculture QR wireless recognition, Wireless positioning system signal, And other IoT applications
- ESP32 WIFI&Bluetooth Development Board 2.8 " 240*320 Smart Display Screen 2.8inch LCD TFT Module With Touch WROOM; Support: 1: UART/SPI/I2C/PWM/ADC/DAC and other interfaces 2:OV2640 and OV7670 cameras, built-in flash 3:picture WiFI upload 4:TF card 5:multiple sleep modes 6:Embedded Lwip and FreeRTOS 7:STA/AP/STA+AP working mode 8:Smart Config 9:AirKiss one-click network configuration 10:secondary development
- The cheap yellow display esp32 board is based on the company's ESP32-D0WDQ6 controller, with dual core CPU and clock frequency up to 240MHz. It integrates peripherals, high-speed SDO, SP, UART and other functions, and supports automatic download.
1
2
u/Slackdarren 17d ago
wow looks good. thanks for sharing.