Skip to content
 
 

Repository files navigation

CrossVi

Release CI Devices License

Open-source e-reader firmware for Xteink X3 and X4.
Based on CrossPoint and designed for a focused, button-driven reading experience.

CrossVi firmware on Xteink X3

CrossVi extends CrossPoint Reader with a richer library, reading statistics, configurable Home layouts, and additional safeguards for data stored on the SD card.

Warning

CrossVi has not yet been validated on every newer X3/X4 hardware revision. Read Hardware compatibility before flashing.

Download v1.0.1 · Installation · User Guide · Report a Bug · Contributing

Highlights

  • Reading: EPUB, TXT, Markdown, XTC, XTCH, and BMP.
  • Library: Four Home layouts, list and cover views, search, sorting, paging, pinning, incremental updates, EPUB image optimization, and reusable cover caches.
  • Reader tools: Bookmarks, highlights, dictionary lookup, in-book search, clipping export, screenshots, and device, book, and calendar statistics.
  • Customization: Built-in and downloadable fonts up to 28 pt, per-book typography, margins, spacing, orientation, image handling, and reader dark mode.
  • Connectivity: Wi-Fi file transfer, OPDS, Calibre/WebDAV, KOReader Sync, OTA, and Nearby Sync.
  • Device and reliability: Configurable buttons, sleep screens, Quick Resume, clock, automatic and tilt page turns, plus transactional storage for important data.

Installation

Download firmware.bin from the latest CrossVi release, then select Custom .bin in the CrossPoint web flasher. Back up the SD card before flashing.

Hardware compatibility

CrossVi targets the Xteink X3 and X4, but production revisions may use different display or power hardware.

  • New X3 units: If you have just received the device and have never flashed custom firmware, stay on stock firmware for now. New production runs may use the UC8279 display controller. CrossVi can detect it, but support still needs validation on the new hardware. See the upstream controller work.
  • New X4 units: Some revisions require a battery-latch fix to remain powered without USB. CrossVi 1.0.1 includes that behavior, but it has not yet been validated on a new-revision X4.

Keep the SD card backed up and flash only a recoverable device.

Build from source

Requirements: pioarduino, Python 3.8+, Git, and the repository submodules.

git clone --recursive https://github.com/tvhdc/crossvi.git
cd crossvi
pio run -e default

The firmware is written to .pio/build/default/firmware.bin.

The desktop simulator can check build, boot, UI, and basic application flows:

python3 scripts/run_simulator.py x3
python3 scripts/run_simulator.py x4

Hardware-dependent behaviour such as e-paper refresh, ghosting, SD timing, power use, buttons, and sleep/wake must be tested on a physical device.

Documentation

Development transparency

CrossVi is developed with AI assistance. AI tools help with code exploration, drafting changes, and reviewing tests. The maintainer makes the design decisions, reviews and validates every release, and remains responsible for the firmware.

Credits

CrossVi is a fork of CrossPoint Reader, which remains its technical foundation. It also adapts selected ideas from CrossInk, CPR-vCodex, and other community contributions where they fit the X3/X4 hardware.

CrossVi is licensed under the MIT License, preserves upstream attribution, and is not affiliated with Xteink.

About

Open-source e-reader firmware for Xteink X3/X4, based on CrossPoint Reader.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages