The Xteink X4 is a phone-sized e-ink reader: cheap, light, fits in a pocket. The stock firmware is bare-bones, though. Almost everyone who owns one swaps it for CrossPoint, a community-built, open-source firmware with a new release every month.
Already running CrossPoint?
Some shops (in Vietnam, most of them) flash CrossPoint before shipping. If yours already runs it, skip flashing, jump to First things after installing, and update to the latest release.
What you get
- Book-quality typography: full justification, proper hyphenation, kerning.
- Your own fonts: a built-in set, plus a web Font Builder to convert any font you own.
- Books over WiFi: drag and drop EPUBs from a browser, no cable.
- Interface in ~30 languages, KOReader page sync, offline word lookup (bring your own StarDict dictionary).
- Over-the-air updates from the device, a new release roughly every month.
Which device do you have?
This guide is for the regular Xteink X4. The flasher lists each model separately: X4, X4 Pro, X4C and X3. The X4 Pro and X4C use a different chip from the X4, so pick your exact model; don’t choose “Xteink X4” for everything. Not sure? Check the box or the store listing.
- X3: same steps as the X4, just pick X3.
- X4C: at the time of writing the flasher had no Stable build for the X4C, only a Release Candidate.
- X4 Pro: see its own section at the end of the locked-device part.
What you need
- A computer with Chrome or Edge (the flasher also lists desktop Firefox). Phones won’t work.
- A USB-C cable that carries data. Plenty of cables bundled with power banks are charge-only, and that’s the most common reason flashing fails.
- An SD card in the reader: CrossPoint needs one to run. Use the card that came with it. If a different card gives SD card error, it’s the card, not a dead device. Reformatting it as FAT32 (MBR partition) usually fixes it.
- The reader awake and on the home screen.
- A reasonable amount of battery.
Method 1: flash from the browser (normal units)
- Plug the Xteink into your computer.
- Go to crosspointreader.com and scroll to Flash from your browser.
- Select your device → Xteink X4.
- Choose firmware → the build labelled Stable (1.6.0 at the time of writing). The first option is usually a Release Candidate, a pre-release, so skip it. Skip Nightly and Beta too.
- Click Flash CrossPoint, pick the reader’s port in the browser dialog, then Connect.
- Wait about two minutes without unplugging. The reader restarts into CrossPoint.
CrossPoint didn't show up?
The flasher itself says that coming from stock firmware, you may need to flash twice. Just repeat step 5.
Not detected? It may be USB-locked
Symptoms: the port dialog shows nothing, or your computer says USB device not recognized.
Rule out the boring stuff first:
- Try another cable, one you know carries data.
- Plug straight into the computer, not through a hub.
- Switch browsers: Chrome ↔ Edge.
- Wake the reader, go to the home screen, try again.
If none of that helps, the unit is probably USB-locked from the factory. According to CrossPoint, some international units ship this way, including most from AliExpress. Units bought directly from xteink.com are not locked. A locked unit can’t be flashed over USB, but you can usually still install CrossPoint from an SD card.
Method 2: install from an SD card (locked units on stock firmware)
Read this first
- Only flash CrossPoint (or CrossInk, a CrossPoint fork) onto a locked unit. Anything else can permanently brick it or leave it stuck on that firmware for good. CrossPoint links a list of approved and flagged firmware; check it before trying anything else.
- The SD install doesn’t unlock USB. The unit stays locked; it just runs CrossPoint now. Future updates come over WiFi from the device.
- This is for units still on stock firmware. Already on CrossPoint? Just use Check for updates.
- Go to crosspointreader.com/unlock and click Download firmware (update.bin). The same file works on X3 and X4.
- Copy it to the root of the SD card (not inside a folder). It must be named exactly
update.bin.- On Windows, turn on file extensions before renaming: File Explorer → View → Show → File name extensions. Otherwise you can end up with
update.bin.binwithout noticing, and the reader will ignore it. - Browsers rename a second download to
update (1).bin, so check.
- On Windows, turn on file extensions before renaming: File Explorer → View → Show → File name extensions. Otherwise you can end up with
- Put the card back. Plug the USB cable into power, then hold Power + Up together (on the X3, Power + the top-left button).
- The factory bootloader reads the card and flashes CrossPoint. Don’t cut power.
- When it shows Update complete / Restarting… and boots into CrossPoint, you’re done. Delete
update.binfrom the card afterwards.
Stuck or erroring
- Stuck on “Update complete”: press Reset, then hold Power.
- “Error 9”, or a Chinese message saying it can’t load
update.bin: some stock firmware versions refuse SD updates. The device is not broken. Double-check the file name and location; if it still fails, use the OTA Unlocker below.
When the SD method won’t work
The same page offers the OTA Unlocker Tool. It runs on your computer and creates a WiFi hotspot the reader downloads CrossPoint from, as if it were an official update. It’s more fiddly, so use it only when:
- the stock firmware doesn’t support flashing from the SD card (errors as above even with the right file), or
- the device is an X4 Pro.
X4 Pro: if it isn’t locked, use Method 1 and pick Xteink X4 Pro. If it’s locked, the OTA Unlocker is the only route. Never copy update.bin onto an X4 Pro: that file is for X3/X4, and someone who did had a unit that hung until the file was removed.
Locked unit already on an old CrossPoint (1.2.0 or earlier)
A bug in 1.2.0 left locked units unable to update further: Check for updates fails. It’s fixed in later releases, so installing a current version avoids it. If you’re stuck, that issue has the way out: CrossPoint can flash a
firmware.binfrom the SD card.
First things after installing
- Language:
Settings → System → Language. - Add books: home screen → File Transfer → Join a Network (home WiFi) or Create Hotspot (the reader makes its own WiFi, handy when you’re out). On a device on the same network, open
http://crosspoint.localor the IP shown on screen, then drag and drop EPUBs. - Later updates:
Settings → System → Check for updates. It doesn’t update on its own, so check now and then.
Frozen or boot-looping
Press and release Reset, then immediately hold Back + Power: it boots straight to the home screen. Still broken? In the hidden
.crosspointfolder on the SD card, try deletingsettings.jsonorstate.jsonfirst. Deleting the whole.crosspointfolder keeps your book files but loses reading progress, bookmarks, saved WiFi passwords and all settings. On a Mac, pressCmd + Shift + .to show hidden folders.
Going back to stock
On an unlocked unit, open the flasher again, choose XTeink Factory Firmware → Stock English (X4/X3 also offer Stock Chinese), and flash as in Method 1. On a locked unit, don’t. Re-read the warning in Method 2.
Sending books the lazy way
Drag and drop works, but you have to be next to the reader on the same WiFi. I got lazy and built two things:
- 📚 Xteink Lover: send books to your reader from anywhere, right from your phone.
- 🔌 Xteink Sync: an Obsidian plugin. Right-click a note → send it to the Xteink as an EPUB.
Sources: CrossPoint website, locked device page, GitHub README, user guide and the issues linked above. Last checked 26 Sep 2026, when the stable release was 1.6.0.