Almanac v1.0.0
Almanac's first tagged release, for the Xteink X4 (ESP32-C3).
What it does
- Nearby Flights — fetches aircraft near a configured home location from OpenSky Network's free API, shown as a distance-sorted list, a radar view with range rings and heading-oriented markers, and a detail screen with an on-demand aircraft-type/registration lookup via adsbdb.
- Home location by zip code — set your Flight Tracker home location by typing a 5-digit US zip code instead of raw lat/lon; geocoded via Zippopotam.us. Manual lat/lon entry remains available as a fallback.
- Reading, inherited from CrossPoint Reader: EPUB 2/3 with embedded styles/images/hyphenation/kerning, chapter navigation, footnotes, bookmarks, StarDict dictionary lookups, go-to-percent, auto page turn, orientation control, focus reading, KOReader progress sync,
.epub/.xtc/.xtch/.txt/.bmp, custom SD fonts, WiFi file transfer/OPDS/WebDAV/Calibre wireless, OTA updates, 31 UI languages with RTL support. - Tesserae sleep screens — a self-hosted, server-rendered dashboard shown when the reader sleeps, with monochrome and 4-level grayscale support on X3/X4 panels.
- Almanac theme — an instrument-panel look: solid black header/footer bars, a framed list with hairline separators, two-level row selection, its own boot splash/sleep screen/compass-rose mark. It's the firmware's only theme.
Status
Built and flashed on real X4 hardware. Verified by CI on every change: build (default/sticky environments), the host unit-test suite, clang-format (pinned to v21), and cppcheck (fails on any finding).
Verified on device: boots to Home, reads settings/caches from SD, no off-panel draw errors, no panics. Not yet verified on device: the theme across all screens in every orientation, the flight tracker end to end on this exact release build, and reading progress surviving an upgrade. This is one person's firmware on one device — treat it accordingly.
Install
Flash firmware.bin at offset 0x10000, or use the full set (bootloader.bin, partitions.bin, firmware.bin) with esptool.py / PlatformIO's uploader for a from-scratch flash. firmware.elf and firmware.map are included for crash-trace symbolication.
See README.md and USER_GUIDE.md for the full feature list, build instructions, and settings reference.
Lineage
Almanac is a hard fork of CrossPoint Reader by Dave Allie and contributors (MIT licence). It takes no further merges from upstream and sends nothing back. If you want the reader without the aviation/theming additions, use CrossPoint — it's the better-maintained, more widely tested project.