Skip to content

Releases: t0nyz0/crosspoint-reader-lockscreens

Lock Screens v1.2 — dashboards + stability fixes (CrossPoint 1.4.1)

Choose a tag to compare

@t0nyz0 t0nyz0 released this 13 Jul 22:13

Lock Screens for CrossPoint Reader (Xteink X3/X4)

Adds a Lock Screens folder to the home menu with three always-on, periodically-refreshing e-ink dashboards, plus a set of stability fixes. Based on upstream CrossPoint Reader 1.4.1.

Dashboards

  • GitHub — contribution heatmap, streaks, and stats for a public GitHub profile (no token needed).
  • Weather — current conditions + 5-day forecast for a US ZIP, via Open-Meteo (free, no API key).
  • Tempest — live local readings from a WeatherFlow Tempest station over its LAN UDP broadcast (no cloud account).

Each polls on its own configurable interval and arms a timed deep sleep between refreshes, so the display stays visible with minimal battery drain. Portrait/landscape both supported; a failed refresh keeps the last good frame instead of blanking. Optional Sleep Screen → Lock Screen makes the device sleep directly into a chosen dashboard.

Stability fixes in this build

  • CPU frequency restored before WiFi bring-up. Entering a lock screen from the idle sleep timeout ran WiFi.mode() at the 10 MHz power-saving clock, which the WiFi PHY can't initialize — it hung the device with no crash. Now restored to full speed first.
  • Loop-task stack raised to 24 KB. The dashboards' HTTPS poll (mbedTLS) overran the 8 KB Arduino loop-task stack on the ESP32-C3, panicking with a loopTask stack overflow. Fixed.
  • USB-safe deep sleep. Sleeping while on USB no longer bounces into an unrecoverable boot loop.
  • DST-aware clock. Timezone is re-detected each poll, so the clock isn't an hour off after a DST change.

How to flash

SD card (no tools): download firmware.bin, copy to the SD card root, power off, hold Up + Power to enter Recovery Mode, pick firmware.bin.
USB: see Install firmware in the README.

Works on both Xteink X3 and X4 (same binary, detected at boot).