Skip to content

Firmware for e-ink readers

Infinity

Most firmwares let you read. Infinity won’t let you stop.

Firmware for the Xteink X4 and X3 that treats reading as what it is — the best entertainment in the world — and adds a gamification layer built to hook you: daily goals, streaks you’ll hate to break, rewards that show up when you least expect them, and achievements to unlock.

ESP32-C3 · RISC-V 160 MHzESP32-C3 · C++17 · PlatformIO2026MIT · v1.8.4

Reading as a habit

A streak you’ll hate to break, freeze tokens that forgive an off day, and rewards that appear when you least expect them. Mark the days you’ve read and watch the streak grow.

6

Current streak · days

2

Freeze tokens

30 min

Daily goal

Tap a day to mark it as read

Variable-ratio reinforcement: sometimes hitting your goal gifts you a token, sometimes not. Exactly what hooks you.

And when you close the book, play

Six games chosen because they control well with the device’s few buttons — no pointer, no touchscreen. Try Lights Out: press a cell and it flips itself and its neighbours. Turn them all off.

Lights OutMoves: 0

Each game keeps its own high score. This isn’t a junk drawer: every one was chosen for how it feels on a D-pad.

Six mini-games

For those spare moments. Pure logic, all playable with the reader’s buttons.

🔢
01

2048

Slide and merge tiles with the same number until you reach 2048. An addictive classic, perfect for directional controls.

🧩
02

Sliding puzzle

The numbered-tile puzzle: slide them through the empty gap until they’re in order.

💡
03

Lights Out

Press a cell and it flips itself and its neighbours. Turn off all the lights in the fewest moves.

♟️
04

Peg solitaire

Jump pegs over one another to remove them. A perfect game leaves a single peg on the board.

🌀
05

Maze

Find the exit through level-generated mazes, counting your steps.

🚗
06

Rush Hour

Slide the blocking pieces out of the way to free the stuck car, in as few moves as possible.

A reader polished top to bottom

Everything you expect from a good reader, cared for down to the last detail.

EPUB 2/3 and beyond

EPUB with images, CSS styles, and multilingual hyphenation, plus XTC (over 2 GB), TXT, and Markdown.

Custom typography

Bookerly, Lexend, and Bokerlam built in, plus your own fonts from the SD card and a dual-font model for mixed scripts.

Instant page turns

Font caching and silent pre-indexing of the next chapter, so you never wait when you turn the page.

Focus mode

Hides everything extra: just you and your books. With dark mode, five themes, and a configurable status bar.

KOReader sync

Continue your reading progress across devices with KOReader-compatible sync.

NTP clock without RTC

The X4 has no battery-backed clock. Infinity resyncs over NTP in the background on wake, without ever blocking the UI.

The battle for the clock

An example of how carefully crafted the firmware is under the hood.

~23:55
The problem

The Xteink X4 has no battery-backed real-time clock. On wake from deep sleep, the time is restored from an imprecise oscillator that accumulates drift: it could show 23:55 when it was really 09:00.

09:41 ntp
The solution

Infinity resyncs the time opportunistically: on wake, if it detects the clock is “approximate”, it connects in the background to a saved WiFi, sets the time via NTP, and switches the radio off. A discreet “~” marker warns you meanwhile.

Flash it in a minute

Connect your X3 or X4 over USB-C and flash it straight from the browser. Open source under the MIT license, in English and Spanish.

Get the device