Skip to content

The Firmware Directory

Every Xteink X3 & X4 firmware, plugin, and flashing method — in one place

The Xteink ecosystem moves fast and the names blur together. This is the owner-friendly map: what each firmware is, who it is for, how to flash it, and how to do it without bricking a locked device. Every repo, version, and step was checked against primary sources — open any firmware for its full guide.

Verified June 24, 2026. Not affiliated with Xteink. Flashing custom firmware can void your warranty.

Find your firmware in 30 seconds

Four questions and we narrow it to the firmware that fits your device and your reading — and that is safe for a locked unit. Every answer is fact-checked. Open the full-page chooser.

Firmware chooser

~30 seconds
Question 1 of 4

Do you need Bluetooth - for example a BT page-turner remote?

Every custom firmware in this guide drops Bluetooth to free up the tiny ESP32-C3 RAM for reading. Only stock keeps it (a few forks add a BT page-turner back).

Start here: which firmware?

Pick the row that sounds like you. When in doubt, the answer is CrossPoint.

The full directory

Thirty firmware paths for the X3 and X4 — every one checked against its own repo. supported · ~ partial/unverified · not supported.

Firmware Type X3 X4 Version Risk Best for
CrossPoint Reader Main v1.3.0 Medium The default — best all-round reader
CrossInk Reader fork v1.3.3 Medium Reading stats, Bionic Reading, glyph fixes
Papyrix Reader fork v1.24.3 High FB2 / Markdown / HTML, multi-script
CrossPet Reader fork v1.8.3 Medium Vietnamese UI + gamified virtual pet & games
SUMI Reader fork ~ v0.6.3 Medium Offline apps, dictionary, Lua plugins, emulator
inx Reader fork v1.0.14 Medium Clean reader: annotations + image rendering
CrumBLE Reader fork ~ v4.5.3 Medium BLE page-turner remote + collections
CPR-vCodex Reader fork ~ v1.3.0.27 Medium Reading habits: stats, streaks, dictionary, flashcards
CrossPoint CJK Localization v0.3.4 Medium Chinese / Japanese reading + UI
CrossPoint KO Localization v1.3.0-ko Medium Korean reading + UI (also runs on X3)
Microreader Minimal 2.0-dev Medium Minimal, distraction-free EPUB-only
AvesO3 Niche ~ v1.2.2 High AO3 fanfiction workflow
Biscuit Experimental v0.1.0 High ESP32 "pocket computer" multi-tool
doom-xt4 Experimental v1.0.2 High A DOOM-style raycaster (novelty)
PlusPoint Experimental preview High Experimental from-scratch C++ OS (X4)
TernOS Experimental v0.4.0 High Rust OS w/ PalmOS emulation (needs .trbk books)
TRMNL Repurpose High Turn the X4 into an e-ink dashboard (not a reader)
CrossPoint JP Localization v0.1.7 Medium Japanese: furigana + vertical writing (X3)
CrossMux Reader fork v1.4.0 Medium Apps hub + WeChat Reading; Chinese build
WitchHunt Reader Reader fork v2.02 Medium Clock + Markdown; the renamed CrossPoint++
SEEK Reader Reader fork v1.0.7 Medium Quick-settings reader + dictionary (X4)
aalu Reader fork v1.5.4 Medium Auto series grouping (X4, build-it-yourself)
CrossPoint Flow Reader fork v3.0.1 Medium Lua plugins + iPod-style UI, CJK
CrossPoint BLE Reader fork v1.3.1 Medium Bluetooth page-turner remotes
Microreader+ Minimal main Medium Minimal EPUB; adds X3 + SD flashing
DX34 Reader fork v6.0.0 Medium Richer EPUB controls (X4 / DX34)
CrossLink Reader fork v20260524 High Risky: non-standard partition table
CrossWordle Experimental v1.1.1 High Wordle game (abandoned)
Rustmix Standalone v1.1.0 High Hindi / Devanagari reading (X4, advanced)
Stock Xteink Stock None Out-of-box simple reader (what you start on)

Risk is for a non-technical owner: web-flasher installs on unlocked devices are low-risk and revertible; "High" usually means experimental, single-maintainer, or dangerous on locked units. The seven majors link to full guides; the rest are detailed below.

Localization forks

CrossPoint forks that add non-Latin reading and native menus.

CrossPoint CJK · v0.3.4 · X4

Chinese / Japanese reading + UI with external CJK fonts and typography fixes. Simplified and Traditional builds. repo

CrossPoint KO · v1.3.0-ko.1 · X3 + X4

Korean UI + full Hangul/Hanja rendering. Notably, it runs on the X3 as well as the X4 (the CJK build is X4-only). Ships a complete standalone image set with SD-card update + WiFi OTA. Actively maintained. repo

CrossPoint JP · v0.1.7 · X3

A Japanese-focused CrossPoint fork (based on crosspoint-reader v1.2.0 plus the CJK fork’s improvements) adding furigana (ruby), vertical writing, downloadable JP fonts, and on-device Aozora Bunko search. Confirmed working on the Xteink X3 only — X4 is unconfirmed — and there is no warranty. A separate, newer fork (mtskf/crosspoint-reader-jp) localizes the UI to Japanese on both models but does not add furigana or vertical text. repo

More reader forks worth knowing

Active CrossPoint/CrossInk forks with a clear niche.

inx · v1.0.14 · X4

A clean-reading CrossPoint fork: bookmarks, annotations, KOReader sync, native image rendering (JPEG/PNG/BMP), and a folder library with favorites. Flashes via xteink.dve.al. repo

CrumBLE · v4.5.3 · X4 (X3 WIP)

A CrossInk fork whose standout is real Bluetooth page-turner remote support — the one way to get a BT remote back on custom firmware — plus a Collections system, configurable bookshelf grid, and dictionary lookup. Fast-moving repo. repo

CPR-vCodex · v1.3.0.27 · X4 (X3 reported)

A CrossPoint fork built around long-term reading habits: full analytics (stats, streaks, achievements, heatmaps, session history), an on-device StarDict dictionary loaded from the SD card, offline flashcards, EPUB bookmarks, Bionic Reading, and extra SD-card fonts (including its own ChareInk). Ships its own one-click web flasher. Note: the maintainer documents only the unlocked install — a locked-X4 SD route is community-reported, not official. repo · flasher

CrossMux · v1.4.0 · X3 + X4

A CrossPoint fork for the X3/X4 that adds an Apps hub of mini-games, reading analytics, extra standby faces, and WeChat Reading (WeRead) integration — plus a separately-built Simplified Chinese firmware. Inherits CrossPoint’s OTA + web-flasher install; on a USB-locked unit, only flash firmwares the unlock tool officially supports. repo

WitchHunt Reader · v2.02 · X3 + X4

A CrossPoint-based reader fork for the X3/X4 — the continuation of the project once called CrossPoint++ (same maintainer, renamed). Adds a software clock on both models, rich Markdown/table/GIF rendering, bidirectional KOReader sync, and a weather panel. Does not support CJK or right-to-left text. repo

SEEK Reader · v1.0.7 · X4

An independent X4 firmware originally forked from CrossPoint, adding an in-reader quick-settings (Aa) overlay, multiple home themes, an offline StarDict dictionary, and heuristic KOReader sync. X4-only and flashed over USB-C with PlatformIO (no SD-card flashing); revert to stock via the xteink.dve.al web flasher. repo

aalu · v1.5.4 · X4

A personal X4 fork of SEEK Reader (CrossPoint base) that adds automatic series grouping, a reworked stats dashboard, Bionic Reading, an offline dictionary, and KOReader sync. There are no prebuilt installers — the only way in is to compile and flash it yourself over USB-C with PlatformIO. repo

CrossPoint Flow · v3.0.1 · X4

A heavily modified CrossPoint Reader fork for the X4 adding an iPod-style “Flow” interface, full CJK rendering with external fonts, a large-file XTC format, and a Lua plugin system with built-in games and a flashcard app. Installs and updates via the xteink.dve.al web flasher; X4 only. repo · flasher

CrossPoint BLE · v1.3.1 · X3 + X4

A CrossPoint fork for the X3/X4 that adds Bluetooth-LE page-turner support, with a built-in remote database and on-device button learning. The headline 1.3.1-personal build is an experimental personal-use release with extra games and themes enabled; its BLE work is what CrumBLE credits upstream. repo · flasher

Microreader+ · main (no release) · X3 + X4

A fork of CidVonHighwind/microreader that adds X3 support (auto-detecting the model at boot) and on-device SD-card firmware flashing with image validation and OTA rollback — the minimal EPUB reader, now on the X3 too. The author states it is not recommended for locked devices. repo

DX34 · v6.0.0 · X4 / DX34

A fast-moving, reading-first CrossPoint fork for the X4 / DX34-class reader, adding richer EPUB controls, sleep wallpapers, WebDAV/WebSocket Wi-Fi transfer, OPDS, KOReader sync, and OTA with a downgrade guard. Single-maintainer and English-first (no Bluetooth); does not migrate reading progress from other firmwares. repo · flasher

Experimental & just-for-fun

Real, verified projects — but novelty or bleeding-edge. Treat as high-risk and X4-only unless noted.

Biscuit firmware on the Xteink X4 — a tile dashboard with Network, Recon, Security, Comms, Tools, Games, System and Reader app categories
Biscuit turns the X4 into a tile-dashboard “pocket computer” — and still keeps the reader.
  • Biscuit — turns the X4 into a tile-dashboard "pocket computer" that keeps the reader — but note it also ships offensive Wi-Fi/BLE tools (deauth, beacon-flood, BLE spam) alongside comms and games. Genuinely dual-use: only run it on networks you own. v0.1.0 beta. repo
  • doom-xt4 — a DOOM-sprite raycaster (its own README admits it isn’t "real DOOM"). A fun demo, not a game. repo
  • PlusPoint — an experimental, from-scratch C++ OS rewrite for the X4 (a proof-of-concept — the app launcher isn’t built yet). Despite the name often attached to it, it is not a JavaScript-app platform. repo
  • TernOS — a from-scratch Rust OS (not a CrossPoint fork) that emulates PalmOS to run legacy apps. Reads books only after converting them to its own .trbk format. repo
  • TRMNL — vendor firmware that turns the X4 into an e-ink info dashboard (calendar/weather), replacing the reader. A different use entirely. flasher
  • CrossLink — a CrossPoint-based X3/X4 fork installed by full-flash overwrite via the crosslink-reader.top web flasher. It uses a non-standard partition table — keep the backup it prompts you to save, because you must restore it before flashing any other firmware later. Chinese-language project. flasher
  • CrossWordle — a CrossPoint fork that adds a Wordle game (word lists from a wordle/ folder on the SD card). One release, no commit activity since March 2026 — effectively abandoned, on an old CrossPoint base. repo
  • Rustmix — a standalone Rust firmware (not a CrossPoint fork) that renders Hindi, Sanskrit/Devanagari and Gujarati — but the complex-script shaping is prepared on your PC, not on-device. X4-only, USB-flashed, no OTA, single-maintainer. repo

How to flash: the five methods

Most forks share CrossPoint’s flash layout, so these methods apply across the whole directory. Start with the web flasher unless a project says otherwise.

Before you start — pre-flight checklist

  • A desktop computer with Chrome or Edge (Firefox works too; Safari does not).
  • A USB-C DATA cable — charge-only cables silently fail.
  • The device awake, on its home screen — not asleep.
  • Confirmed unlocked — or read the locked-device brief below first.
  • ~5 minutes (add ~25 min if you save a full-flash backup first).

Which path is mine?

  1. 1. Can the web flasher see your device? If yes, you’re unlocked → use the web flasher (method 1) and pick any firmware.
  2. 2. It can’t connect at all? Treat it as locked. Only CrossPoint & CrossInk are supported.
  3. Locked + X3 → SD-card method or OTA Unlocker.
  4. Locked + X4 → OTA Unlocker only. Never the X3 SD trick.

1 · Web flasher (WebSerial)

~5 min Easy

Easiest · revertible · the default

Unlocked X3/X4. Use desktop Chrome or Edge (Firefox support is inconsistent); Safari is not supported — it has no WebSerial.

  1. 1 Use a USB-C DATA cable (not charge-only) and wake the device — a sleeping reader never registers as a serial port. This is the #1 mistake new owners make.
  2. 2 Open crosspointreader.com/#flash-tools (or xteink.dve.al) in Chrome/Edge.
  3. 3 Pick your model and firmware, click flash, and select the device in the browser’s serial picker.
  4. 4 When flashing finishes, press Reset, then hold Power 3–5s to boot. (A blank screen here usually just means it hasn’t been rebooted yet.)
  5. 5 Tip: before flashing, open "Full flash controls → Save full flash" to back up (~25 min) so you can restore the exact prior state.

2 · esptool (command line)

~10 min Technical

For technical users / custom builds

Unlocked devices, Python installed.

  1. 1 pip install esptool
  2. 2 Download firmware.bin from the project’s GitHub releases.
  3. 3 Find the port (macOS /dev/cu.usbmodem… · Linux /dev/ttyACM0).
  4. 4 esptool.py --chip esp32c3 --port <PORT> --baud 921600 write_flash 0x10000 firmware.bin
  5. 5 Use 0x10000 (the app) for CrossPoint and its forks — never 0x0, which would overwrite the OEM bootloader. Exception: Microreader ships a full image flashed to 0x0, so always follow each project’s README for the exact offset.

3 · SD-card update

~5 min Easy

Works without a PC · the locked-X3 rescue

Devices whose firmware/bootloader supports SD update (added to CrossPoint in PR #1786, the 1.3.0 line). Flashes a locked X3 directly from stock. On a locked X4 there is no confirmed stock SD key-combo — get CrossPoint on with the OTA Unlocker first, then its in-app SD update handles the rest.

  1. 1 Copy the firmware’s update.bin to the SD card root.
  2. 2 Insert the card and plug in USB for power.
  3. 3 On the X3: hold the left-side button + power so the OEM bootloader boots. (This combo is X3-only — it does not engage from stock on the X4.)
  4. 4 The device detects update.bin and flashes from the card. SD flashing installs firmware but does not re-enable USB.

4 · OTA / OTA Unlocker

~10 min Easy

On-device updates · rescue for locked units

WiFi-connected devices. The OTA Unlocker installs CrossPoint/CrossInk over the air on USB-locked X3 AND X4 units — the recommended first step for a locked X4.

  1. 1 Normal OTA: Settings → System → Check for updates pulls the latest GitHub release.
  2. 2 Locked units: install the CrossPoint OTA Unlocker (macOS/Windows/Linux/RPi) from crosspointreader.com/unlocker.
  3. 3 It runs a local hotspot that serves CrossPoint/CrossInk during the device’s update check.
  4. 4 This does NOT re-enable USB flashing — only CrossPoint and CrossInk are supported this way.

5 · PlatformIO (build from source)

~30–45 min Developer

For developers and contributors

Anyone building/modifying firmware.

  1. 1 git clone --recursive <repo>
  2. 2 pio run --target upload (builds, flashes, and you can monitor serial logs).
  3. 3 This is the required path for Microreader, and how every fork is built before release.

Plugins & customization

An honest note: CrossPoint itself has no on-device plugin store — and that is by design. What people call "plugins" on CrossPoint is really a set of SD-card and desktop extensions (below). If you want actual scriptable, installable plugins, one fork genuinely delivers them today: SUMI — a sandboxed Lua system where .lua files in /custom/ become launchable apps. PlusPoint is sometimes named here too, but it is an experimental from-scratch C++ OS proof-of-concept, not a JavaScript-app platform.

Custom fonts (.cpfont)

The real "plugin" layer for CrossPoint. 23+ prebuilt families (Literata, Merriweather, Atkinson Hyperlegible, IBM Plex…). Download over WiFi on-device, upload via the web UI, or copy to /.fonts/ on the SD card. Build your own from any TTF with the font builder.

crosspoint-fonts

Themes

Selectable built-in UI themes — Classic, Lyra, Lyra Extended, RoundedRaff. (Custom user themes are not installable; you pick from the built-ins.)

crosspointreader.com

Sleep-screen images

Drop 24-bit BMPs (480×800 for X4, 528×792 for X3) into /.sleep/ on the SD card, or a single sleep.bmp in the root, for custom wallpapers/screensavers.

guide

Calibre plugin

A desktop Calibre device driver that sends EPUBs to the reader over WiFi/WebSocket with auto-discovery. Installed into Calibre, not the device.

calibre-plugins

.xtc / .xtch converters

Convert books to the device-native format for the fastest rendering and control over grayscale: bigbag/epub-to-xtc-converter (web + CLI) and CrazyCoder/cr2xt (desktop). For manga, comics, and PDFs, varo6/xtcjs adds dithering and spread-splitting.

xtcjs (manga/PDF)

SUMI Lua plugins

The most genuine plugin system in the scene: SUMI firmware ships a Lua scripting framework for user-written extensions, alongside ~20 built-in apps and a dictionary. If you actually want “installable plugins”, this is it.

SUMI

PlusPoint (experimental OS)

Often mislabelled as a JavaScript-app platform — it isn’t. PlusPoint is a from-scratch C++ OS proof-of-concept for the X4 (the app launcher isn’t built yet): promising, but not a working plugin system today. For real scriptable plugins, use SUMI (Lua).

pluspoint-reader

Before you flash: the locked-device safety brief

This is the part that actually bricks devices. Around April 2026 Xteink began shipping some units with USB flashing disabled. Read this before touching a flasher.

Is my device locked?

There’s no reliable way to tell from the box — weak hints are an outer-box barcode sticker or a plain brown package. The only sure test is to connect over USB and try to flash. Units bought direct from xteink.com or Amazon are reported unlocked; AliExpress and other grey-market imports are the ones that have shipped locked. Correlated, not guaranteed — re-verify at purchase time.

If it is locked

X3: two routes — the SD-card method (rename a build to update.bin, hold the left button + power) or the OTA Unlocker. X4: the OTA Unlocker only — do not improvise the X3 SD trick on an X4, which can brick it. Either way, only CrossPoint and CrossInk are supported on locked units.

The brick risk is real

Flashing unsupported firmware (e.g. Papyrix, which has no OTA) on a locked device can leave no update or recovery path at all. On a locked unit you also lose the USB safety net, so there is no clean rollback if an SD/OTA flash fails. Keep a known-good firmware.bin on the SD card.

Software lock or hardware fuse?

Unconfirmed. The working software workarounds (Unlocker, SD method) suggest the lock lives at the stock-firmware/update layer rather than a permanent silicon eFuse — but no teardown has proven it. Assume some risk and don’t treat "unlocked" as guaranteed reversible.

Golden rules: back up the full flash first (on unlocked units), use a USB-C data cable, wake the device before connecting, only flash CrossPoint/CrossInk on locked units, and never write esptool to 0x0 — use 0x10000.

Buying advice in full: locked vs unlocked — buy the right unit.

X3 vs X4: what changes for flashing

  • Resolution differs — X3 is 528×792, X4 is 480×800. Pick the right model in the flasher, and size sleep-screen images to match.
  • Charging differs — the X4 charges over USB-C, but the X3 uses a proprietary magnetic pogo-pin cable, not USB-C. Don’t assume the X3 takes the same charger as the X4.
  • Some firmware is X4-only — Microreader, AvesO3, Biscuit, doom-xt4, TernOS, TRMNL and the CJK build don’t run on the X3. CrossPoint, CrossInk, Papyrix, CrossPet, SUMI and KO cover both.
  • Tilt-to-turn is X3-only — the X3’s gyroscope can turn pages by tilting; the X4 has no equivalent.
  • Locked-device rescue differs — a locked X3 can flash directly via the SD method or the Unlocker; a locked X4 should use the OTA Unlocker first (the X3 SD button-trick does not engage from X4 stock — it doesn't brick, it just doesn't trigger). After CrossPoint is on, in-app SD updates work on both.

Still choosing a device? X3 vs X4: which should you buy?

The questions owners actually ask, each fact-checked against primary sources. Browse the full 49-question FAQ.

I just want to read EPUBs without fuss — which firmware should most people flash?

For most owners the answer is CrossPoint Reader: it is the open-source mainline (MIT, C, ~5.4k GitHub stars — a volatile counter — currently v1.3.0), it runs on both the X3 and X4, and it is one of only two firmwares the OTA Unlocker officially supports, so it is the safe default on a locked unit too. It covers EPUB 2/3, .txt, .bmp and the native .xtc/.xtch format, with Wi-Fi transfer, Calibre/OPDS, custom SD-card fonts and a standalone SD-card update path (added in v1.3.0). Note it does not render PDF, by design.

Sources: crosspoint-reader/crosspoint-reader · CrossPoint flasher / install

Is flashing reversible? Can I go back to stock?

On an unlocked unit, yes — re-flash the latest official firmware from the CrossPoint web flasher, and you can save a full-flash backup over USB beforehand so most bad flashes are a quick fix. On a locked unit there's no USB safety net (the backup runs over USB, which is what's blocked), so keep a stock update.bin on your SD card as your rollback instead.

Sources: CrossPoint README (revert to official firmware)

How do I tell if my XTEINK X3 or X4 is locked?

There's no reliable way to tell from the box, so the only sure test is to plug into USB in Chrome or Edge and see whether the CrossPoint web flasher detects the device. A locked unit never enumerates as a USB serial port, so neither the web flasher nor the esptool CLI can see it. Buying direct from xteink.com or Amazon is usually unlocked but not guaranteed (a unit received directly from XTEINK was reported as locked), and the "overseas units are exempt" claim is not established. If the device never appears over USB, treat it as locked.

Sources: CrossPoint README - USB-locked devices · trilwu/crosspet #28 - device never enumerates as serial port · CrossPoint #2029 - locked unit received direct from XTEINK

Which firmware is safe to put on a locked unit?

Stick to CrossPoint or CrossInk - they're the only two firmwares the OTA Unlocker officially supports, and both ship an in-app SD-card update as a way back. The README warns that flashing any other firmware on a USB-locked device can permanently brick it or leave it stuck on that firmware with no recovery path.

Sources: CrossPoint README - only CrossPoint & CrossInk supported · CrossPoint Unlocker - serves CrossPoint/CrossInk

The web flasher won't see my XTEINK at all — what's wrong?

First make sure the device is awake and sitting at the home screen (not asleep) and that you're using a USB-C cable that supports data, not a charge-only cable. If it still never appears in Chrome or Edge, your unit is most likely USB-locked — connecting in the flasher and seeing whether it's detected is the only sure test for the lock — and you'll need the SD-card method (X3) or the OTA Unlocker (X4) instead.

Sources: crosspointreader.com · CrossPoint README

Will flashing custom firmware erase my books or wipe the SD card?

No. Flashing replaces the device firmware, not the contents of the SD card where your books, fonts and cached metadata live. If you do want to clear cached metadata on CrossPoint, deleting the /.crosspoint folder forces a full cache regeneration on next open, but your book files are untouched.

Sources: CrossPoint README (cache regeneration)

Can I read PDFs on the X3/X4?

Not directly. CrossPoint's reader engine handles EPUB 2/3, the native .xtc/.xtch formats, .txt, and .bmp, but PDF rendering is explicitly out of scope. The workaround is to convert the PDF to the device's .xtc format first using a web tool like xtcjs, which turns PDFs, CBZ comics, images, and even video into XTC optimized for the X4 and X3.

Sources: crosspoint-reader (supported formats) · varo6/xtcjs (PDF/comic to XTC converter)

I flashed custom firmware and now my Bluetooth page-turner doesn't work. What happened?

Custom XTEINK firmware drops Bluetooth to free memory for reading features, so none of the firmware in the standard chooser ships it. If you need Bluetooth, stock is the only firmware in that guide that has it; a couple of community forks (notably CrumBLE) have added a Bluetooth page-turner back.

"I have this problem" → the fix

The specific community complaints behind this page, and the firmware that solves each.

The problem What fixes it Firmware
Stock firmware feels basic / clunky Flash CrossPoint — it is the whole reason the scene exists. CrossPoint
Missing Unicode characters show as diamonds CrossInk added synthetic-glyph fallback rendering (PR #104). CrossInk
My books are FB2 / Markdown / HTML Papyrix parses those formats natively. Papyrix
I read Chinese / Japanese / Korean Use the CJK or KO localization forks (KO also runs on X3). CJK / KO
I want reading stats and Bionic Reading CrossInk tracks sessions, pages/min, and adds Bionic mode. CrossInk
I want reading streaks, an on-device dictionary & flashcards — close to CrossPoint CPR-vCodex adds analytics, streaks, achievements, an SD-card StarDict dictionary, and flashcards on the CrossPoint base. CPR-vCodex
Buttons should toggle bold / font size / dark mode CrossPoint and its forks add button remapping and reader quick settings (bold, Bionic, dark mode). CrossPoint forks
Keeping new AO3 chapters in sync is a chore AvesO3 checks for and downloads new chapters on-device. AvesO3
I just want to dump EPUBs and read Microreader scans the whole SD card — no folders, no fuss. Microreader
I want offline apps, a dictionary, or real plugins SUMI is offline-first with ~20 apps, a dictionary, and a Lua plugin framework. SUMI
I want a Bluetooth page-turner remote CrumBLE (a CrossInk fork) adds BLE remote support and collections. CrumBLE
My device shipped USB-locked and won’t flash X3: SD-card method (from stock) or the OTA Unlocker. X4: the OTA Unlocker, then its in-app SD update. Stick to CrossPoint/CrossInk. See safety

Software & tools

The desktop apps, plugins, self-hosted servers and book sources around the Xteink — getting books onto the device, optimised, and synced. They are all free. For the firmware itself, see the directory and plugins & customization above.

Calibre

eBook manager X3 · X4 Free

The essential free desktop app for organising, converting and sending books to the Xteink. Converts EPUB / MOBI / PDF, edits metadata, and (with the plugin below) sends wirelessly.

Calibre CrossPoint plugin

Calibre plugin X3 · X4 Free

Adds CrossPoint as a wireless device inside Calibre and sends EPUBs over WebSocket to the on-device web server — no cable, no SD swap. Requires CrossPoint firmware installed.

CrossPoint SD Calibre plugin (yemM)

Calibre plugin X4 Free

Syncs reading progress from the X4 microSD card back into Calibre custom columns. Pull the card, run Calibre, and your progress updates.

epubkit

EPUB optimiser X3 · X4 Free

Generates EPUBs tuned for the X3 / X4 screens with the correct 4-level grayscale treatment and image fit-box handling.

KOReader Sync Server

Self-hosted sync X3 · X4 Free

Self-hostable reading-position sync. CrossPoint's KOReader sync client pushes your reading progress (position + percentage, keyed by document) here so you can pick up where you left off across devices. Docker-friendly.

Calibre-Web Automated

Self-hosted OPDS X3 · X4 Free

Self-hosted Calibre web library + OPDS server. CrossPoint's built-in OPDS client downloads books straight from it — no USB or file transfer needed. Docker-based.

Project Gutenberg + Standard eBooks

Free books X3 · X4 Free

75,000+ free public-domain EPUBs at Project Gutenberg; Standard eBooks re-typesets the classics with far better formatting. Both DRM-free and work on stock or custom firmware.

Keep going

Sources include each project’s GitHub repo, README, and releases, plus crosspointreader.com, community flashing guides, and owner reviews on r/XTEINK, verified June 24, 2026. Device screenshots are from each project’s own repository or project site, used to show the firmware running. PocketInk is independent and not affiliated with Xteink. Firmware names and versions change quickly — check the linked repos for the latest.