Xteink X4: Tiny E-Reader and the Journey to Community Firmware

I recently got my hands on an interesting gadget – the Xteink X4, a miniature e-reader with an e-ink display that magnetically attaches to the back of your phone. The device is impressively compact (114×69×5.9 mm, just 74 grams) and at around $69, it seemed like a great choice for reading on the go.

A nice feature, but unusable with my iPhone 13 Mini, is the magsafe connection. With a larger iPhone, you can carry these devices nicely back to back, clipped together.

Xteink X4

First Impressions and the Czech Character Problem

After unboxing and loading my first Czech e-books, I hit an unpleasant snag – Czech characters weren’t displaying correctly. The pre-installed fonts had issues with diacritics.

The Xteink X4 uses a proprietary font format with a .bin extension, which means regular TTF fonts can’t be used directly. This sent me on a quest to find a solution.

Package content
Content of package

First Attempt: Web Service for Font Conversion

I first found a web service for converting fonts to BIN formatXTEink Web Font Maker. The service worked, the fonts loaded, and Czech characters displayed… but the quality wasn’t ideal for me. Characters looked odd, and the overall reading experience wasn’t as good as I’d hoped.

Second Attempt: Dotink Application

Then I discovered a iPhone application called Dotink, which promised better font conversion. And indeed – the fonts looked significantly better than those from the web service. The text was more readable and most characters displayed correctly.

But… not all of them. For example, the letter “ý” was still misaligned, and other diacritical characters occasionally had problems. It was usable for regular reading, but still not an ideal solution.

Final Solution: Community Firmware

After more research, I discovered that community open-source firmware exists for the Xteink X4 – specifically CrossPoint Reader and its fork Papyrix. And this is where things got interesting:

What Community Firmware Offers:

  • Easy custom font support – simple TTF conversion with Node.js script (Papyrix) or better built-in fonts (CrossPoint)
  • Full UTF-8 support – Czech characters work perfectly
  • Better EPUB rendering – formatting works (italics, bold, indentation)
  • Enhanced user interface – more settings and options
  • Faster performance – optimizations for ESP32 hardware

Installation

Installing community firmware is surprisingly easy thanks to the web interface:

  1. Connect the X4 via USB-C cable to your computer
  2. Open https://xteink.dve.al/
  3. Click “Flash CrossPoint firmware” (or upload your own firmware via “Flash firmware from file” – in my case Papyrix firmware and few hours latter back to CrossPoint).
  4. Wait 2-3 minutes and you’re done
Papyrix installed
Papyrix installed

Custom Fonts With Papyrix firmware

Papyrix uses a proprietary .epdfont format with a memory-efficient streaming system. Are you curious? For information about converting fonts visit official documentation page.

Conclusion

The Xteink X4 is an interesting device with enormous potential. The original firmware unfortunately has problems with Czech language support and the local content management server is terrible. But thanks to an active community and open-source alternatives, it’s possible to turn it into a full-featured e-reader with perfect Czech text support.

Reading book with Papyrix
Reading book with Papyrix

If you’re considering buying the Xteink X4 and plan to read Czech books (or any language with diacritics), I recommend planning to install community firmware right away. You’ll save yourself frustration and get a much better reading experience.

In the end, I chose CrossPoint because I want to try using an OPDS server.

P.S.: Friendly tip. If you write OPDS server address into this tiny device, remember that semicolon “;” is not the same character as colon “:” even if they look very similar. Trust me! 😉

Small update

Useful Links: