Compile-time feature flags. Select capabilities to configure your firmware build.
Flash6.0 MB
94% of 6.4 MB
Loadout
Local buildYour loadout changed — run these commands from the repo root to build this firmware:
■
Reader
▲
Interface
⚠No font family is enabled — the firmware will fail to compile. Enable at least one font, or use an SD card custom font as a runtime replacement.
↻
Fork Drift Theme
Always in fork-drift
Theme branch to isolate upstream drift and experimentation
●
Network
▣
Open Book
Included
App can open books on the device remotely
⇒
Page Turn
Included
App can turn pages on the device remotely
☰
BookLore Support
BookLore OPDS integration, enabled automatically with OPDS Support
⎘
Storage
▤
USB Serial Maintenance
Always available
Firmware OTA and test automation over the always-available USB-CDC command channel
☷
UI Languages
Interface languages compiled into the firmware. Leaving one out frees its strings from flash;
a device set to an omitted language shows English until a build includes it again.
Compile-time dependencies are enforced automatically. Static hierarchy cards and notes are informational and do not affect builds.
Wallpaper Studio
X4 Sleep Wallpaper
Import any image — or generate one from the Pokédex — preview the 480 x 800 X4
output, then export a .bmp ready for sleep-image folders.
Drop an image here or select one above. Output stays fixed to the X4 sleep-image frame.
Output: 480 x 800 BMP, grayscale-ready for the X4.
Placement
Fill crops edge-to-edge, Fit preserves the whole image, Stretch forces a full-frame remap.
Anchor
Anchor controls crop bias in Fill mode and padding placement in Fit mode.
Output
Background
4-bit keeps gradients cleaner. 1-bit produces a smaller, higher-contrast bitmap.
Adjust
Rotation: 0°
Export stays fixed to 480 x 800 even when the source image is rotated.
Pokédex
Generate a Pokémon wallpaper in the browser, download the PNG, then import it above to apply
placement, depth, and rotation before exporting the final BMP. For the full party flow
(per-book assignments, levels, evolution), enable pokemon_party in the feature grid.
This feature is a work in progress and not yet complete in this build.
Card capture works but the review flow and export are still being built out.
Create flashcards while reading — select a word or phrase for the card front and capture its
surrounding sentence as the back. Browse, edit cards, and manage your deck from the device web UI at
/plugins/anki. Export as JSON for import into Anki Desktop.
Pokédex Wallpaper
Generate Pokémon wallpapers for sleep screens. The browser-side generator lives in the
Wallpaper Studio tab; the device-side plugin is at /plugins/pokemon-wallpaper.
Requires pokemon_wallpaper_plugin in the feature grid. Enable pokemon_party
for per-book party assignments.
Pre-configure device-side settings. Download settings.json and place it at
/.crosspoint/settings.json on the SD card. The device loads these on first
boot. Settings on the left are generated from firmware and use the same layout as the
on-device Settings screen; the preview on the right shows reader, home, and sleep effects.
interactive webui preview
Illustrative preview only. Edit values in the Settings panel; only non-default
values are written to the exported settings.json.
Only changed/non-default values are included. The device merges this file with its
existing settings on load — fields not present keep their current values.
WiFi
Add up to 8 networks. Download wifi.json and place it at
/.crosspoint/wifi.json on the SD card. The device imports on first boot,
connects to a matching network, then re-saves with device-specific obfuscation.
No networks added yet. Click + Add Network.
Passwords are stored as plaintext in this file. The device XOR-obfuscates them with its
MAC address on import — the file on SD is not long-term sensitive, but treat it like a
password file.
OPDS Servers
Add up to 8 OPDS catalog servers (e.g. Calibre, Booklore/Grimoire). Download
opds.json and place it at /.crosspoint/opds.json on the SD
card. The device imports on first boot and re-saves with device-specific obfuscation.
No servers added yet. Click + Add Server.
Passwords are stored as plaintext in this file. The device XOR-obfuscates them with
its MAC address on import — treat it like a password file.
KOReader Sync (Booklore/Grimoire)
Pre-fill KOReader (KOSync) progress sync. Enter your Booklore/Grimoire base URL and the
KOReader credentials you set in Booklore (Settings → Device). Download
koreader.json and place it at /.crosspoint/koreader.json on the
SD card. The device imports on first boot and re-saves with device-specific obfuscation.
Books must be downloaded via the OPDS feed; matching is Binary.
The password is stored as plaintext in this file until the device re-obfuscates it on
import — treat it like a password file. Prefer the on-device web UI "Use for Sync" button
if you'd rather not write credentials to a file.
Custom Fonts
Official Font Manager
Custom SD-card fonts now use the upstream Font Manager. It converts TTF/OTF font families
into CrossPoint .cpfont files with the current upstream workflow, including
Unicode coverage presets and multi-style family export.
Upstream currently notes that custom SD-card fonts require the beta firmware. After
generating the files, upload them from the device's Fonts page or copy
them to /fonts or /.fonts on the SD card.