A portrait-mode smart clock for the JC4827W543 board. Large 92 px clock, live weather, and a 7-day forecast — no API key, no account, no phone portal. Configure everything right on the touchscreen. Flash from your browser.
Three tabs, always one tap away. White background, smooth typography, designed to be readable across the room.
Time at 92 px fills the top half of the screen — readable from across the room. Date, city name, and live weather stats below.
Daily hi/lo and weather condition for the next week — powered by Open-Meteo. Free forever, no API key required.
Enter WiFi credentials and city name directly on the touchscreen — no phone portal, no QR code, no companion app.
Full GT911 multi-touch support. Three-tab navigation and an on-screen keyboard with Norwegian characters (æ ø å).
UTC offset is derived from weather data automatically — just enter your city and the clock adjusts itself. No manual config.
Flash firmware directly from Chrome or Edge over USB — no Python, no PlatformIO, no drivers to install.
Make sure you have these before flashing.
Click Install, select the COM port for your board, and wait for the green checkmark. The device restarts automatically when done.
From unboxing to live clock — follow these steps in order.
Plug your JC4827W543 into your PC with a data-capable USB-C cable. The board should power on — the display may show a boot logo or stay white. On first boot the firmware isn't installed yet, so it may show garbage or stay blank.
If your PC doesn't recognise the device, try a different USB cable. Charge-only cables have no data lines and won't work.
On Windows, open Device Manager and look for a USB Serial Device under "Ports (COM & LPT)". On macOS/Linux, check /dev/tty.*.
Click the Install button above (or the one in the hero). Chrome will show a dialog listing available serial ports. Select the one that appeared when you plugged in the board.
If the board doesn't appear in the list, press and hold the BOOT button on the board while clicking Install to force it into download mode, then release BOOT once the dialog opens.
esp-web-tools will automatically erase the flash and write the firmware. This takes about 30 seconds. You'll see a progress indicator.
After flashing completes the board resets automatically. The DeskClock firmware boots and shows the three-tab UI: Clock, Forecast, and Settings. Time and weather will show placeholder values until you configure WiFi.
No hotspot, no QR code, no phone required. Everything is configured directly on the touchscreen in the next step.
Tap the ⚙ icon in the bottom-right corner of the screen. The Settings tab has three fields — tap each one and use the on-screen keyboard to type:
The city name is geocoded automatically — just type the city (e.g. Oslo, London, Tromsø). The keyboard includes Norwegian characters æ ø å. Timezone is set automatically from the weather data — no manual configuration needed.
Tap the Connect & Save button. The board saves your settings to internal flash (NVS) and then:
① Connects to your home WiFi ② Syncs time from NTP ③ Geocodes your city ④ Fetches weather & forecast ⑤ Sets timezone automatically
Weather refreshes every 30 minutes. The clock syncs with NTP automatically — no battery for timekeeping needed. Settings survive power cycles.
To change WiFi or city later, just open the Settings tab again, update the fields, and tap Connect & Save again.
Serial console and reset — requires the board to be plugged in via USB.
board_config.h may not match your board revision. The JC4827W543 has had minor hardware revisions. Check the silkscreen on your board and compare against the pin table in the GitHub repo. If the RGB data lines are swapped, the screen will show a solid colour or noise.
firmware/ folder in PlatformIO (VS Code extension or CLI). Run pio run to build. The post-build script automatically creates firmware-merged.bin and copies it to web-installer/. Upload that file to your server and update manifest.json to point to it.