Older chip
ESP32-C3
About 380 KB of usable RAM and no PSRAM. It runs the X3 and the original X4.
- Stock XT
- CrossPoint
- CrossInk
- Xerif
No Licorice, CrossNext or Vellum on these.
Six community firmwares and two stock systems, each best at something. Answer two questions and get one recommendation, with the caveats before you flash.
1. Your reader
2. What you want from it
Official app, cloud sync, fewest surprises
by Xteink
Licorice is Xteink's own system: the XTEINK app, cloud sync, a polished reader and TTF fonts. CrossPoint is the fallback if you want plugins or don't want the app.
The project's own page. Check the build for your model before flashing.
Also worth a look
Community firmware moves weekly. This page was checked 2026-10-27; the release page is the source of truth.
Same glass, different memory: this is why some firmware simply won't fit.
Older chip
About 380 KB of usable RAM and no PSRAM. It runs the X3 and the original X4.
No Licorice, CrossNext or Vellum on these.
Newer chip
8 MB of PSRAM, so the bigger systems fit: the X4 Classic and X4 Pro.
Not XTOS
The S4 takes Android apps and a normal wallpaper. None of the firmware above installs.
Buy an X3, X4 Classic or X4 Pro for the firmware above.
“Pro” means the X4 Pro only. The table below links every project.
| Firmware | Stats | Plugins | Fonts | BT | XTC | App / cloud | Install |
|---|---|---|---|---|---|---|---|
| XT LicoriceStockby Xteink | Yes: Desk, book tickets, goals | No (but community Lua mini-apps exist) | TTF, size and weight in the reading menu | Yes | Not confirmed by us | Yes: XTEINK app and cloud | Over Wi-Fi (OTA), after one upgrade step |
| CrossPointStableby Open source | Basic reading progress | Yes, since 2.0 (Plugin Hub) | Built-in, plus fonts on the SD card | No | Yes | No app or cloud | Web flasher over USB, or an SD-card update |
| CrossInkStableby neomoto (community fork) | Yes: reading stats | No (the fork does not take pull requests) | Built-in, plus SD-card fonts | No | Yes | No app or cloud | Web flasher over USB, or an SD-card update |
| Xerif (was XPoint)Stableby Belphemur (community fork) | Basic (reading progress) | Check the release notes | FreeType text rendering and SD-card fonts | Yes: Bluetooth page turners | Yes | No app or cloud | Web flasher over USB, or an SD-card update |
| CrossNextBetaby manuelx900 (community) | Yes: stats, books finished, goals | Check the release notes | Yes | Check the release notes | Yes (CrossPoint base) | No app or cloud | SD-card update from CrossPoint, or a fresh card |
| VellumAlphaby ArunasVell (community) | Alpha | No | Alpha | — | — | No | See the install guide in the repository |
| Ink-boyAlphaby hellominecraft913-dev (community) | No | No | — | — | — | No | SD-card update |
The five things owners ask about most. Each links to the thread with the details.
Late-October Licorice builds on China-market X4 Pro units had a version-number mismatch: the update itself finished, but the reader kept offering it again and could stop at 95%.
Owners report the 26 October build fixes it. Check Settings → About for the build date; if the number is already the new one, the loop is cosmetic. If it keeps looping, reinstall the same build from a FAT32 SD card, or go back to CrossPoint. Don't factory reset as the first move.
r/xteinkereader: 95% update loopOn the phone-number screen, tap the “Hong Kong / Macau / Taiwan / others” line to get email sign-up. An account created that way still may be refused when you scan the reader's QR code: the app checks the device's origin.
Flashing the global firmware does not always change that check. If the app is the reason you wanted stock, CrossPoint plus KOSync is the workaround owners use.
r/xteinkereader: CN X4 Pro and the appSome China-market X3 units ship with USB data disabled. The SD-card method installs CrossPoint without a working USB connection: put the firmware file on a FAT32 card, then use the reader's update screen.
Use a card you can erase, keep the reader charged, and don't pull the card during the write.
r/xteinkereader: flashing from an SD cardThe web flasher has had outages. The releases are also on GitHub, and the SD-card method works offline. If you use a mirror, check that the build is the one the project published before flashing.
Never flash a file from a random file host, and keep the previous working build on the card.
CrossPoint releases on GitHubCharge it for 30 minutes with a known-good cable, then hold the power button for about 10 seconds. Re-seat the card; if the card is old or full, try another FAT32 card.
A reader that won't boot after a flash usually needs the recovery steps for that firmware, not a new card. Ask in the sub with the model, the build and what the screen shows.
r/xteinkereader: how to rebootReader Simulator runs CrossPoint, CrossInk, Xerif and several other builds in a browser tab for the X4 Pro, X4 Classic and X3. It is the cheapest way to see whether a home screen suits you.
Open Reader SimulatorA 700 KB launcher in the OTA_0 slot, leaving about 15 MB for other firmwares, with a shared reading-stats backup. For people who want to switch firmware without giving up stats; not a firmware itself.
Inkwell on r/xteinkereaderEverything below can be checked against the file you get back.
| Reader | Stock | Community |
|---|---|---|
| X3 | XT 7.x | CrossPoint, CrossInk, Xerif |
| X4 (original) | XT 7.x | CrossPoint, CrossInk, Xerif |
| X4 Classic (X4 V2) | Licorice | CrossPoint, CrossInk, Xerif |
| X4 Pro | Licorice | CrossPoint, CrossInk, Xerif, CrossNext, Vellum, Ink-boy |
| S4 | Android 11 | None |
The dividing line is the chip: the X4 Pro and the newer X4 Classic have an ESP32-S3 with PSRAM, which is what Licorice and CrossNext need. The X3 and original X4 have an ESP32-C3 with far less RAM; they run CrossPoint and its forks, not the newer stock system.
Every project we cover, with the date of its newest release. Checked 2026-10-29 against each project's own GitHub Releases; the version you are running is in Settings → About on the reader. If you would rather be told than check, subscribe to the Atom feed — it is the same table.
| Project | Newest | Date | Channel | Where |
|---|---|---|---|---|
| Xerif (was XPoint) | v2.13.0 | 2026-10-29 | stable | Release page |
| CrossNext | 1.3.1 | 2026-10-29 | stable | Release page |
| Vellum | v0.1.164 | 2026-10-26 | stable | Release page |
| Ink-boy | 1.2.0 | 2026-10-25 | stable | Release page |
| CrossInk | v1.6.2 | 2026-10-22 | stable | Release page |
| XT Licorice (stock) | build 261020 | 2026-10-20 | Stock build | Xteink guide |
| CrossPoint | 2.0.0rc | 2026-10-19 | prerelease | Release page |
| XT Licorice (stock) | build 261016 | 2026-10-16 | Stock build | Xteink guide |
| CrossPoint | 1.6.5 | 2026-09-27 | stable | Release page |
| CrossPoint | 1.6.5rc | 2026-09-14 | prerelease | Release page |
| CrossPoint | 1.6.0 | 2026-09-05 | stable | Release page |
| CrossPoint | 1.5.0 | 2026-08-07 | stable | Release page |
Prerelease means the build exists and people run it, but its release notes may still change shape; stock build entries are the dated build notes Xteink posts on r/xteink, since stock Licorice has no public tag. CrossPoint is listed back to 1.5.0 on purpose: that is the range owners are still on, and “am I behind?” is easier to answer against a run than against a single number.
There are three routes, and which one you get depends on the reader and whether it is a China-market unit:
Stock XT and Licorice update themselves. You accept the update on the reader; no computer.
Connect the reader, open the project's flasher in Chrome or Edge, and let it write. Some China-market X3 units ship with USB data disabled.
Put the build on a FAT32 card and start it from the reader's update screen. It is the fallback when USB isn't recognised, and how most forks ship.
Whichever route: copy your books and notes first, charge the reader, and keep the build you came from. A reader that won't boot after a flash usually needs that firmware's recovery steps, not a new SD card.
Units sold in China can be region-locked: the global XTEINK app may refuse to pair, and the web flasher may not see the device. Owners report that the SD-card method still installs CrossPoint on many of them, and that flashing the global firmware does not always change the app's region check. If you want the official app, check the region before buying; if you want plugins and XTC, CrossPoint is the reliable path.
We have not tested these builds on a device ourselves, and community firmware changes weekly. Licorice's XTC support is unconfirmed. CrossNext and Vellum are early. Feature lists in the table come from each project's own release notes and owner reports up to 2026-10-27; when two sources disagree, we say “check the release notes” rather than guess.
The community threads behind this page: CrossNext, Xerif, Vellum, Inkwell, and our Licorice guide.
No Xteink yet, or want a second one? The X4, X4 Pro and X3 are sold on xteink.com. Already have one? There are magnetic cases for the X4, X4 Pro and X3, and a charging stand that fits all three. Those are affiliate links: if you buy through one, einktools earns a small commission at no extra cost to you.
There isn't one. Licorice is the most polished if you want the official app and cloud; CrossPoint is the best base for plugins, wallpapers and XTC books; CrossInk and CrossNext are better for stats; Xerif is the one with Bluetooth page turners. The chooser above weighs your reader and what you actually use.
Flashing software always carries a risk, but the common Xteink firmwares can be replaced again. Keep a working build on the SD card, charge the reader first, and don't pull the card during a write. China-market units sometimes refuse the USB web flasher; the SD-card method is the way in. If a flash goes wrong, ask in r/xteinkereader with the model, the build and what the screen shows.
Yes. Stock XT and Licorice are downloadable from Xteink's guides, and CrossPoint can be replaced the same way it was installed. Reading progress and stats often do not survive the switch, because each system stores them differently.
Licorice needs the ESP32-S3 chip with PSRAM, which the X4 Pro and the newer X4 Classic have. The original X4 and the X3 use the older ESP32-C3, so they stay on stock XT 7.x or run CrossPoint and its forks.
CrossPoint and its forks (CrossInk, Xerif, CrossNext) read XTC/XTCH. Stock XT lists XTC/XTCH in Xteink's FAQ, but we have not confirmed it on a device, and Licorice's support is unconfirmed too. If XTC is the point, use CrossPoint.
CrossNext on the X4 Pro goes furthest (books finished, goals, Anki). Licorice's Desk adds stats, book tickets and goals without flashing. CrossInk has stats and highlights on the older readers. None of them moves stats between firmware automatically; Inkwell is an experiment in keeping a shared backup.
Not at once, but Inkwell is a launcher that sits in the OTA_0 slot, leaves about 15 MB for other firmwares, and lets you swap them while keeping a stats backup. It is early software; keep a recovery card.
No. If the stock reader does what you want, the safest upgrade is none. Most reasons to flash are plugins, XTC books, stats or fonts; the chooser says when stock is enough.