- É um ecossistema open source que abre todas as camadas de software, firmware e hardware dos leitores de papel eletrônico, permitindo que qualquer pessoa expanda ou crie seus próprios dispositivos
- O CrossPoint Reader oferece renderização de EPUB 2 e 3, configuração de fontes, transferência por WiFi, sincronização com KOReader, favoritos, Focus Reading, suporte multilíngue e layout para idiomas escritos da direita para a esquerda
- O FreeInk SDK, independente de hardware, abstrai controladores, waveforms, pinos e periféricos em APIs estáveis, permitindo adicionar novas placas apenas com perfis e configurações, sem reescrever código
- O hardware aberto de-link integra ESP32-S3, interface de papel eletrônico, carregamento e proteção de bateria, além de iluminação frontal opcional, em uma única PCB, e pode ser montado por cerca de US$ 60
- Ao armazenar livros em arquivos de formatos abertos no cartão SD e oferecer esquemas e BOM públicos, além de bateria substituível, permite possuir, reparar e modificar o dispositivo sem conta ou assinatura
Uma stack aberta de leitores de e-books, do software ao hardware
- FreeInk é uma comunidade open source que desenvolve em conjunto software, firmware e hardware para leitores de papel eletrônico
- Todas as camadas são abertas para que qualquer pessoa possa adotá-las, expandi-las e adaptá-las às suas necessidades
- Xteink e Seeed Studio participam como parceiros oficiais
Software CrossPoint Reader
- CrossPoint Reader é um firmware totalmente open source e baseado na comunidade para leitores de papel eletrônico de baixo custo, oferecendo uma base para que usuários controlem e ampliem funcionalidades
- Suporta renderização de EPUB 2 e 3
- Aplica o CSS incluído no EPUB e organiza os capítulos de acordo com a fonte, o tamanho e as margens escolhidos pelo usuário
- Armazena em cache no cartão SD a primeira página aberta, exibindo-a quase instantaneamente ao reabrir
- Inclui Noto Serif e Noto Sans, e também permite usar quaisquer fontes adicionadas ao cartão SD
- É possível ajustar tamanho, espaçamento, margens, hifenização, alinhamento e antialiasing
- Executa um servidor de upload via WiFi para transferir EPUBs pelo navegador ou enviá-los diretamente pelo Calibre
- A sincronização com KOReader mantém a posição de leitura em vários dispositivos
- Ao manter pressionado o botão Confirm, é possível criar um favorito em qualquer trecho
- As posições salvas registram também a página e o progresso de leitura
- Focus Reading coloca em negrito o início de cada palavra para orientar o movimento dos olhos e a velocidade de leitura
- Suporta viradas de página rápidas e nítidas com antialiasing em tons de cinza e renderização em tiles
- Oferece layout completo da direita para a esquerda para hebraico e árabe
- Os menus foram traduzidos para mais de 10 idiomas, incluindo espanhol, francês, alemão, italiano, português, russo, ucraniano e polonês
FreeInk SDK independente de hardware
- FreeInk SDK é uma base de desenvolvimento independente de hardware para criar firmware de leitores de papel eletrônico
- Separa controladores, waveforms, pinos e periféricos por trás de uma camada de abstração estável
- Aciona vários dispositivos com uma única base de código genérica, adicionando novas placas por meio de perfis e configurações, sem reescrita completa
- Detalhes específicos de cada dispositivo são divididos em interfaces pequenas e injetáveis
- Encapsula separadamente controladores de display, waveforms e LUTs, GPIO, velocidade de barramento, toque, iluminação frontal e áudio
- O firmware chama uma única API genérica e recebe o comportamento adequado ao dispositivo
- Fornece APIs pequenas e consistentes em EInkDisplay, InputManager, BatteryMonitor, SDCardManager e BoardConfig
- Como o firmware mira um único caminho de biblioteca, ele pode permanecer separado do hardware subjacente
- Novas placas são suportadas adicionando perfis e configurações de driver, em vez de modificar drivers genéricos
- Pinos, tamanho da tela, waveforms e tensões são fornecidos como valores de dados, evitando misturar ajustes específicos de dispositivo ao caminho de código compartilhado
- As builds são organizadas em dois eixos: dispositivo e funcionalidades
- Toque, iluminação frontal, cor e áudio são controlados por flags e ativados por padrão apenas nos dispositivos necessários, reduzindo o tamanho do binário
- Suporta toque capacitivo para controladores CHSC6x e GT911
- O InputManager fornece coordenadas brutas de toque, e a rotação da tela é tratada pela aplicação
- A iluminação frontal PWM suporta controle de cores quentes e frias
- SecureNet empacota o wolfSSL compilado a partir do código-fonte para oferecer TLS 1.3 e PSA
- Contorna o mbedTLS do sistema com recursos limitados para acessar servidores exclusivos de TLS 1.3, como a sincronização do KOReader
Dispositivos totalmente suportados e configuração em tempo de execução
- Atualmente, os seguintes dispositivos são suportados em estado Full
| Dispositivo | MCU | Controlador | Painel |
|---|---|---|---|
| Xteink X4 | ESP32-C3 | SSD1677 | 800×480 preto e branco · 4 níveis de cinza |
| Xteink X3 | ESP32-C3 | UC8253 | 792×528 preto e branco · 4 níveis de cinza |
| de-link | ESP32-S3 | SSD1677 | 800×480 preto e branco · tons de cinza · iluminação frontal |
| M5Stack PaperColor | ESP32-S3 | ED2208 | 400×600 Spectra-6 colorido |
| Murphy M3 | ESP32-S3 | UC8253 | 240×416 preto e branco · toque · iluminação frontal |
| LilyGo T5 S3 | ESP32-S3 | ED047TC1 | 960×540 16 níveis de cinza · toque · medidor I²C |
| Sticky | ESP32-S3 | SSD1677 | 3,97 polegadas 800×480 preto e branco · toque GT911 · conjunto de sensores |
| M5Paper v1.1 | ESP32(clássico) | IT8951E | 540×960 16 níveis de cinza · toque GT911 |
- Dispositivos relacionados entre si compartilham uma única build de firmware e podem ser detectados e configurados em tempo de execução
- Novos controladores são adicionados como drivers independentes por trás da camada de abstração
Hardware de-link para montar por conta própria
- de-link é o núcleo de hardware aberto do projeto: uma pequena placa ESP32-S3 que pode ser soldada manualmente
- O esquema KiCad e a BOM completa são públicos
- Integra carregamento, proteção de bateria, iluminação frontal opcional e interface de papel eletrônico de 24 pinos em uma única PCB
- O custo para montar por conta própria é de cerca de US$ 60
- A parte de processamento usa um ESP32-S3 dual-core de 240 MHz
- Oferece WiFi, BLE, 16 MB de flash e PSRAM opcional
- O display usa uma interface SPI de papel eletrônico de 24 pinos para painéis GoodDisplay de 3,97, 4,26, 7,5 polegadas ou maiores
- O armazenamento é microSD com interface SDMMC de 4 bits, permitindo manter uma biblioteca inteira offline
- O usuário conecta uma bateria LiPo de sua escolha e carrega por USB-C OTG
- O controlador de carregamento MCP73832 e o conjunto DW01A·FS8205A evitam sobrecarga e descarga excessiva
- A iluminação frontal opcional com LEDs seriais suporta alternância entre cor fria e quente e ajuste de brilho por PWM
- Os controles são compostos por duas escadas resistivas com quatro chaves cada e um botão de reset
- GPIOs multifuncionais são expostos para conexão de módulos e modificações pelo usuário
Uma base para possuir, reparar e modificar
- Todas as camadas, do mecanismo de renderização ao circuito de carregamento, são documentadas e abertas para que a comunidade possa construir, corrigir e expandir em conjunto
- Os livros são armazenados no cartão SD como arquivos comuns em padrões abertos
- Podem ser lidos, copiados e mantidos em qualquer dispositivo
- Software, firmware e hardware são todos abertos e distribuídos com licenças permissivas
- Permitem forks, auditoria e reutilização
- Com componentes soldáveis manualmente, BOM pública e bateria substituível, o projeto é pensado para permitir reparo em vez de descarte
- É possível possuir totalmente o dispositivo e o software, sem conta ou assinatura
- Leitores e modificadores de hardware participam do desenvolvimento de forma aberta
- O projeto oferece builds nightly e temas compartilhados, e aceita contribuições externas
- GPIOs extras, fontes de usuário e menus com temas permitem modificações livres
- A stack inteira, incluindo esquemas e BOM, é 100% aberta e suporta carregamento com cabo USB-C padrão
- Os releases acumulam versões de v0.1 a v1.2
1 comentários
Opiniões no Hacker News
Comprei um Xteink X4 há algumas semanas e estou gostando muito. Testei vários firmwares, mas ainda não me fixei em nenhum; gosto especialmente da tela e da interface simples.
O processo de transferir livros do Kindle é trabalhoso, mas aceitável, e, por acabar comprando livros fora do ecossistema da Amazon, recentemente tenho usado mais o Humble.
Se você quiser ver livros agrupados por série, vale conferir também o AALU, e o próprio Crosspoint OS continua sendo excelente.
Procurei todos os dispositivos de e-ink compatíveis, mas todos eram pequenos demais. Fico curioso se existe algum leitor maior, mais ou menos do tamanho de um Paperwhite, que possa rodar esse firmware.
Instalar o KOReader em um Kobo já é aberto o bastante para o que eu quero. O Kobo Libra 2 em preto e branco é o melhor leitor de ebooks que já usei, mas é uma pena que a versão colorida seja um retrocesso na qualidade de leitura comum.
Comprei um Xteink X4 há algumas semanas e é um aparelhinho bem simpático. O hardware é bom, mas o mais divertido é criar um firmware próprio e uma estrutura de sincronização que otimizem o conteúdo para uma CPU e memória extremamente limitadas.
Estou criando formatos de imagem e metadados ajustados ao hardware e à interface do dispositivo, além de um pipeline de coleta que converte automaticamente livros comuns e formatos de quadrinhos. Talvez um dia eu até leia livros de verdade nele.
Surpreendentemente, o baixo consumo de energia prometido como vantagem do e-ink também não se concretiza tão bem; quando se passa para telas grandes de e-ink colorido, a duração da bateria fica até menor que a de tablets.
Fico curioso se livros comprados em sistemas fechados de ebooks, como Kindle ou Nook, já foram atualizados compulsoriamente para edições revisadas ou removidos do dispositivo por causa do conteúdo.
Como você não está comprando o livro, mas sim uma licença de uso para lê-lo enquanto a editora ou o detentor dos direitos permitir, a autorização pode ser revogada a qualquer momento. É ironicamente engraçado que o primeiro caso amplamente noticiado tenha sido justamente 《1984》.
https://www.mobileread.com/forums/showthread.php?t=340936
https://goodereader.com/blog/electronic-readers/ronald-dahl-...
Há muita conversa sobre portar isso para Kindles antigos ou outros leitores de ebooks, mas atualmente esse firmware é exclusivo do chipset ESP32, que esses dispositivos não usam.
Gosto muito do Boox porque dá para instalar os apps Android que eu quiser. Ao rodar o Storyteller, ele sincroniza com meu servidor e a posição de reprodução, então posso ouvir um audiobook no iPhone e continuar lendo daquele ponto no Boox.
Seria bom se portassem este sistema operacional também para Kindles antigos que a Amazon deixou de oferecer suporte.
Parece que seria uma ótima opção para o Kobo Touch, no qual é possível instalar livremente qualquer firmware e que também inicializa por cartão SD.