Map

Free Ink

Toolbox toolboxhardwarefirmwareembeddede-papercppwatchlistC++MIT โ†ณ show in map Markdown
title
Free Ink
type
toolbox
summary
Open e-reader stack โ€” CrossPoint firmware for Xteink devices, a hardware-independent e-paper firmware SDK, and de-link, a $60 hand-solderable ESP32-S3 reader board
tags
hardware, firmware, embedded, e-paper, cpp, watchlist
language
C++
license
MIT
created
2026-07-21
updated
2026-07-21

Free Ink is an open-source collective building the software, firmware and hardware for e-paper readers, with every layer shipped in the open. It's three separate projects that stack:

Layer Project Stars License
Firmware for existing devices CrossPoint Reader (Xteink X3 / X4) 6.2kโ˜… MIT
Hardware-independent SDK freeink-sdk 38โ˜… MIT
Open hardware de-link ESP32-S3 board 330โ˜… โ€”

The star distribution tells you the actual shape of the thing: CrossPoint is the project with users โ€” replacement firmware for cheap Xteink readers โ€” and the SDK is the recent attempt (June 2026) to generalize what CrossPoint learned so the same codebase can drive other panels and boards.

The SDK's design bet

Every device-specific detail lives behind small injectable interfaces: display controller, waveforms and LUTs, GPIOs, bus speeds, touch, frontlight, audio. Firmware calls one generic API โ€” EInkDisplay, InputManager, BatteryMonitor, SDCardManager, BoardConfig โ€” and gets device-specific behavior underneath.

The consequence they lead with is the interesting one: new devices are data, not code. Adding a board means adding a profile and a driver config supplying pins, geometry, waveforms and voltages as values, rather than editing the generic driver. Per-device tuning stays out of the shared code path, and related devices can share one firmware build with runtime detection, while a genuinely new controller slots in as a standalone driver behind the same facade.

Builds compose along two axes, devices ร— capabilities: touch, frontlight, color and audio are flag-gated and default on only where a device needs them, so each binary stays tight. Capacitive touch covers CHSC6x and GT911 controllers; the frontlight is PWM with warm/cool control.

One detail worth keeping for anyone doing embedded TLS: SecureNet bundles wolfSSL compiled from source for TLS 1.3 + PSA, bypassing the stubbed system mbedTLS, specifically so the reader can reach TLS-1.3-only servers โ€” KOReader's sync service being the motivating case. That's a concrete instance of a vendor SDK's stubbed crypto forcing you to carry your own stack.

Reader features

EPUB 2 and 3 with embedded CSS applied, laid out in your chosen font, size and margins, with pages cached to SD on first open so reopening is near-instant. Noto Serif and Noto Sans built in plus any font from the SD card, with control over size, spacing, margins, hyphenation, alignment and anti-aliasing. A WiFi upload server so you can drop EPUBs in from a browser or send straight from Calibre, plus KOReader sync for position across devices. Bookmarks that remember page and reading percentage. A bionic-reading mode that bolds word-openings, with grayscale anti-aliasing and tiled rendering for fast page turns. Full RTL layout for Hebrew and Arabic, and translated menus in Spanish, French, German, Italian, Portuguese, Russian, Ukrainian, Polish and more.

The open hardware core: a compact, hand-solderable ESP32-S3 board with published KiCad schematics and a full BOM, buildable for around $60. ESP32-S3 at 240 MHz dual-core with WiFi, BLE, 16 MB flash and optional PSRAM; 24-pin SPI e-paper for GoodDisplay panels from 3.97โ€ณ up through 7.5โ€ณ and larger; microSD over 4-bit SDMMC; bring-your-own LiPo charged over USB-C with an MCP73832 charge controller and DW01A + FS8205A cell protection; an optional series-LED frontlight with cool/warm PWM control; dual 4-switch resistor ladders plus reset.

Assessment

The appeal is the whole-stack openness โ€” books as plain files on an SD card in open formats, permissively licensed software and firmware, a published BOM and a swappable battery so you repair rather than landfill, and no accounts or subscriptions. That's a coherent answer to the same ownership complaint that motivates paper-computer, from the hardware side rather than the workflow side.

The realistic read: CrossPoint is usable today if you own an Xteink X3 or X4. The SDK is seven weeks old with 38 stars and its generalization claim is unproven across boards it wasn't extracted from โ€” the hard part of a hardware abstraction is the second and third vendor's panel, not the first. de-link hasn't been pushed to since April 2026 and carries no license file, which matters for open hardware.

On watchlist โ€” the SDK is the piece to watch, and the question is whether "new devices are data, not code" survives a controller family GoodDisplay didn't make.

MIT (SDK and CrossPoint). Site: https://freeink.org ยท SDK: https://github.com/Free-Ink/freeink-sdk