Free Ink
- title
- Free Ink
- type
- toolbox
- summary
- Стек для открытых читалок: прошивка CrossPoint для Xteink, аппаратный SDK для e-paper и плата de-link на ESP32-S3 за $60 для ручной пайки
- tags
- hardware, firmware, embedded, e-paper, cpp, watchlist
- homepage
- https://freeink.org
- language
- C++
- license
- MIT
- created
- 2026-07-21
- updated
- 2026-09-13
- lang
- ru
- translation_of
- freeink
- source_updated
- 2026-09-13
- translated
- 2026-09-14
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Free Ink - это open-source коллектив, создающий софт, прошивку и железо для читалок на электронных чернилах (e-paper), где каждый уровень разрабатывается открыто. Стек состоит из трёх отдельных проектов:
| Уровень | Проект | Звёзды | Лицензия |
|---|---|---|---|
| Прошивка для существующих устройств | CrossPoint Reader (Xteink X3 / X4) | 6.2k★ | MIT |
| Аппаратно-независимый SDK | freeink-sdk | 38★ | MIT |
| Открытое железо | плата de-link на ESP32-S3 | 330★ | - |
Распределение звёзд показывает реальное положение дел: CrossPoint - это проект с пользователями (альтернативная прошивка для дешёвых читалок Xteink), а SDK - недавняя попытка (июнь 2026 года) обобщить наработки CrossPoint, чтобы одна и та же кодовая база могла управлять другими панелями и платами.
Ставка в архитектуре SDK
Все аппаратно-зависимые детали вынесены за небольшие внедряемые интерфейсы: контроллер дисплея, формы сигналов и LUT, GPIO, скорости шины, тач, подсветка, аудио. Прошивка обращается к единому абстрактному API - EInkDisplay, InputManager, BatteryMonitor, SDCardManager, BoardConfig - а под ним выполняется специфичная для конкретного устройства логика.
Главное следствие, о котором они заявляют: новые устройства - это данные, а не код. Добавление платы сводится к добавлению профиля и конфигурации драйвера, задающих пины, геометрию, формы сигналов и напряжения как значения, без правок общего драйвера. Специфичные настройки устройств не попадают в общий путь выполнения кода, родственные устройства могут использовать одну сборку прошивки с определением железа в рантайме, а принципиально новый контроллер подключается как отдельный драйвер за тем же фасадом.
Сборки компонуются по двум осям (устройства × возможности): тач, подсветка, цвет и звук включаются флагами и активны по умолчанию только там, где нужны устройству, поэтому бинарники остаются компактными. Емкостный тач поддерживает контроллеры CHSC6x и GT911; подсветка управляется через PWM с регулировкой тёплого и холодного света.
Деталь, полезная для всех, кто занимается TLS во встроенных системах: модуль SecureNet включает в себя wolfSSL, собранный из исходников для поддержки TLS 1.3 + PSA в обход урезанного системного mbedTLS. Это сделано специально для того, чтобы читалка могла подключаться к серверам, требующим только TLS 1.3 - главным мотивом была служба синхронизации KOReader. Наглядный пример того, как урезанная вендорная криптография в SDK вынуждает тащить собственный стек.
Возможности читалки
Поддержка EPUB 2 и 3 с применением встроенных CSS, вёрстка с выбранным шрифтом, размером и полями, а также кэширование страниц на SD-карту при первом открытии для практически мгновенной повторной загрузки. Встроенные Noto Serif и Noto Sans плюс любые шрифты с SD-карты с настройкой размера, межстрочного интервала, полей, переносов, выравнивания и сглаживания. Сервер загрузки по WiFi, позволяющий закидывать EPUB'ы через браузер или отправлять напрямую из Calibre, а также синхронизация позиции чтения между устройствами через KOReader. Закладки с сохранением страницы и процента прочитанного. Режим быстрого чтения (bionic reading) с выделением начала слов полужирным, градациями серого для сглаживания и тайловым рендерингом для быстрого перелистывания страниц. Полная поддержка RTL-вёрстки для иврита и арабского, а также перевод интерфейса на испанский, французский, немецкий, итальянский, португальский, русский, украинский, польский и другие языки.
de-link
Аппаратная основа с открытым исходным кодом: компактная плата на ESP32-S3 для ручной пайки с опубликованными схемами для KiCad и полной ведомостью материалов (BOM), сборка которой обходится примерно в $60. Двухъядерный ESP32-S3 на 240 MHz с WiFi, BLE, 16 MB flash и опциональным PSRAM; 24-пиновый SPI e-paper для панелей GoodDisplay от 3.97″ до 7.5″ и больше; microSD по 4-битному SDMMC; подключение собственного LiPo-аккумулятора с зарядкой по USB-C через контроллер MCP73832 и защиту ячеек DW01A + FS8205A; опциональная подсветка на последовательных светодиодах с PWM-управлением холодным/тёплым светом; две резистивные матрицы на 4 кнопки плюс сброс.
Оценка
Главное достоинство - открытость всего стека: книги в виде обычных файлов на SD-карте в открытых форматах, софт и прошивка с разрешительными лицензиями, опубликованный BOM и сменный аккумулятор для ремонта вместо свалки, а также отсутствие аккаунтов и подписок. Это последовательный ответ на ту же проблему владения устройствами, которая лежит в основе paper-computer, но со стороны железа, а не рабочих процессов.
Если смотреть реалистично: CrossPoint можно использовать уже сейчас, если у вас есть Xteink X3 или X4, а e-reader-ipp-printer служит рабочим примером его расширения - X3, принимающий задания печати по IPP из macOS. Проекту SDK всего семь недель, у него 38 звёзд, и его претензия на универсальность ещё не проверена на платах, из которых он не извлекался: главная сложность аппаратных абстракций проявляется на панелях второго и третьего вендора, а не первого. В репозиторий de-link не коммитили с апреля 2026 года, и в нём нет файла лицензии, что критично для открытого железа.
Проект находится в watchlist - следить стоит именно за SDK, и главный вопрос в том, устоит ли принцип "новые устройства - это данные, а не код" перед семейством контроллеров не от GoodDisplay.
MIT (SDK и CrossPoint). Сайт: https://freeink.org · SDK: https://github.com/Free-Ink/freeink-sdk