- O monitor E Ink de 13,3 polegadas atualiza 60 vezes por segundo a 300 ppi e, após 4 anos de desenvolvimento de controlador, hardware e firmware próprios, virou um produto real
- Controladores E Ink convencionais esperam cerca de 100 ms por atualização global, trocando velocidade por contraste, enquanto um método de atualização por pixel atualiza imediatamente os pixels alterados
- A atualização por pixel faz a demanda de largura de banda subir de 20 MB/s para 540 MB/s em uma tela monocromática de 13 polegadas, exigindo DDR3 e DisplayPort
- Como não é possível ter tons de cinza sem cintilação, foram combinados Bayer dithering, blue noise, error diffusion e um modo de exibição híbrido
- O resultado final é um monitor E Ink de alta taxa de atualização com touchscreen, iluminação frontal, opção de cores, vários modos de exibição e hardware, gateware FPGA e firmware de código aberto
Ponto de partida: de um notebook E Ink para um controlador próprio
- O monitor E Ink de 60 fps opera a 300 ppi e atualiza 60 vezes por segundo, embora E Ink não seja um tipo de tela conhecido por velocidade
- O ponto de partida do desenvolvimento foi um notebook E Ink, e na época os SoCs compatíveis com E Ink eram projetados para leitores de e-book, presos a baixo consumo, processadores lentos e interfaces limitadas
- Para fazer um notebook, era preciso separar o SoC da tela e colocar entre eles um chip driver baseado em FPGA, numa arquitetura que exigia criar um controlador E Ink próprio
- O projeto inicial do notebook tinha um LCD em formato de barra funcionando como uma espécie de touch bar grande, partindo da premissa de que algumas tarefas precisariam de uma tela rápida e que o E Ink poderia ser lento
- 60 fps não era o objetivo principal no começo; bastava que fosse rápido o suficiente para o notebook, e se 60 fps não desse, 15 fps também seria uma meta aceitável
Velocidade e qualidade obtidas com atualização por pixel
- Controladores E Ink convencionais usam um temporizador de atualização global e, ao renovar a tela, esperam a atualização anterior terminar
- Uma atualização convencional leva cerca de 100 ms, então no pior caso a nova imagem já fica esperando 100 ms antes mesmo de começar a ser processada
- Se o temporizador roda mais rápido, a taxa de quadros sobe, mas as partículas do E Ink não têm tempo suficiente para reagir, e a imagem parece desbotada
- O método convencional cria um compromisso entre taxa de atualização e contraste, e alguns controladores aliviam isso atualizando de 4 a 16 regiões de forma independente
- Essa mitigação por regiões exige que o software gerencie diretamente essas áreas e, ainda assim, continua limitada
- A atualização por pixel trata cada pixel como uma região independente de atualização, e qualquer pixel alterado começa a ser atualizado imediatamente, sem esperar
- Esse método permite obter ao mesmo tempo alta taxa de quadros e alto contraste, eliminando o compromisso tradicional entre velocidade e qualidade
- A desvantagem é a largura de banda de memória: ao exibir uma imagem em preto e branco num painel de 13 polegadas, um controlador convencional precisa de 20 MB por segundo, enquanto esse método exige 540 MB por segundo
- Por causa da alta demanda de largura de banda, foi preciso usar DDR3 em vez de SDRAM básica e DisplayPort em vez de USB, aumentando o custo
- Para leitura de livros, essa configuração é desnecessária, mas para uso como monitor faz uma grande diferença
Qualidade de exibição: dithering e tons de cinza híbridos
- O projeto mudou de rumo para criar primeiro um bom monitor, antes do notebook, e depois seguiu por alguns anos no tempo livre
- O E Ink não conseguia implementar tons de cinza sem cintilação, então o dithering era indispensável
- Os algoritmos de dithering implementados foram Bayer dithering, blue noise e error diffusion
- Bayer dithering é rápido, mas cria padrões visíveis; blue noise produz um visual melhor; e error diffusion entrega a melhor qualidade, mas é difícil de escalar para alta resolução
- O dithering funciona, mas não chega a substituir tons de cinza reais, e a exceção era o modo de tons de cinza com cintilação
- Monitores existentes seguiam o caminho de implementar um modo lento com cintilação ou simplesmente pular completamente os tons de cinza
- O método híbrido troca para um modo binário rápido quando a imagem muda e, quando ela se estabiliza por um instante, renderiza novamente em tons de cinza
- Esse método funciona bem para leitura, mas é menos adequado para outros usos; graças ao controlador próprio, foi possível otimizar conforme o caso de uso sem ficar preso a modos predefinidos
Iterações de hardware e caminho até o produto
- O primeiro protótipo usava DisplayPort de tamanho completo e depois passou para USB Type-C com DisplayPort
- Quando o CI integrado de gerenciamento de energia saiu de linha, foi preciso trocá-lo por conversores DC-DC individuais
- Para proteger a tela de eventos inesperados de latch-up, foi adicionado à placa um monitoramento completo de tensão e corrente
- Cada mudança exigiu uma nova revisão de PCB, e cada revisão trouxe novos aprendizados
- Quando o primeiro projeto de gabinete voltou da empresa terceirizada, ele começou a parecer um produto real, e não uma PCB exposta sobre a mesa
- O monitor foi demonstrado na Hackaday Supercon, na LatchUp e em eventos Teardown da Supply, e as pessoas queriam que ele realmente fosse lançado
- Como a tecnologia funcionava, havia demanda e o projeto já existia, o autor pediu demissão para dar o impulso final
- O plano era passar alguns meses focando em refinar o design, fabricar e enviar
Redesenho completo, problemas com fornecedores e recursos finais
- Logo depois de passar a trabalhar nisso em tempo integral, a E Ink anunciou um novo painel com resolução mais alta, especificações melhores e preço mais baixo
- O novo painel poderia levar a um produto melhor, mas a resolução mais alta passou a exigir um CI decodificador de alta largura de banda, memória DDR de alta largura de banda, um novo FPGA e uma fonte de alimentação com corrente maior
- A mudança equivalia a refazer quase toda a placa e causou pelo menos meio ano de atraso
- No produto final, abandonou-se a prática de projetar primeiro a placa e adaptar o gabinete depois; em vez disso, definiu-se primeiro o formato, incluindo chassi, dimensões exatas e pontos de montagem, e a placa foi ajustada a isso
- O novo método deixou o design geral mais otimizado e consistente, mas exigiu mais uma grande revisão
- O protótipo totalmente montado foi apresentado na Design Shenzhen, mas ainda era instável demais para envio por causa de glitches aleatórios, cortes de vídeo e falhas de inicialização
- O fornecedor do chip decodificador de vídeo se recusou a ajudar apesar de haver NDA e contrato de serviço, e desde o início não forneceu o código do driver
- Foi necessário pagar mais para receber o código-fonte para usar o chip, mas o código não funcionava, e para obter um código funcional pediram ainda mais dinheiro
- Depois disso, o projeto mudou para outro fornecedor, que foi muito melhor de trabalhar, embora esse chip não estivesse disponível no começo do projeto
- Mais tarde, ao adicionar suporte a touchscreen, foi necessário integrar um novo controlador de toque, escrever drivers e fazer calibração
- Também foram adicionados iluminação frontal sem cintilação, um limitador de taxa de quadros útil para nitidez, um modo de baixo consumo para economizar energia quando não há alimentação conectada e um menu na tela para controlar esses recursos
- Cada recurso parece simples em uma frase, mas levou semanas para ser implementado corretamente, e a linha de chegada continuava se movendo
- Depois de passar a trabalhar nisso em tempo integral, o autor passou a dedicar ainda mais horas do que quando tinha emprego, com a fronteira entre noites e fins de semana ficando difusa, e menos tempo para jogos e lazer
- Tomando as decisões diretamente, tudo podia ser executado na hora; ao resolver um problema, ele permanecia resolvido; e não era preciso convencer outras pessoas para implementar um recurso
- Quatro anos depois, o resultado foi um monitor de 13,3 polegadas, até 60 fps, latência muito baixa, vários modos de exibição, touchscreen, iluminação frontal e opção de cores
- O projeto de hardware, o gateware do FPGA e o firmware são todos open source, então também é possível montar o seu próprio
1 comentários
Comentários no Lobste.rs
Conheci o Alex na FOSDEM este ano e vi essa demonstração; pareceu bem boa
Ainda é um protótipo e o gabinete também não está pronto, então eu não tinha total certeza, mas pareceu muito promissor, e minha próxima compra de tinta eletrônica provavelmente será um produto da modos
Tenho o kit de desenvolvimento que recebi na antiga campanha do Crowd Supply; se alguém tiver curiosidade sobre algo, pode perguntar
Também queria saber como é o contraste sob luz solar forte e se já houve problemas do lado do software
É uma tela realmente incrível. Seria ótimo em um notebook ou tablet, mas não sei se eu teria uso para ela sozinha como um pequeno monitor externo
A explicação de que “em movimento, é possível usar o Flow a até 40Hz com um único cabo USB Type-C, e na mesa é possível conectar alimentação adicional para usar a taxa de atualização completa de 60Hz” soa meio estranha
Não encontrei números de consumo de energia, mas um único cabo USB-C consegue alimentar um notebook premium inteiro; é difícil imaginar que uma única tela consuma mais do que isso
Monitores de mesa com entrada AC/DC podem fornecer saída PD de 60W ou 100W, mas meu notebook não fornece PD
Tenho uma câmera que só carrega por PD; ela se conecta normalmente ao notebook via USB-C, mas como precisa de algo em torno de 25W ou 30W, ele não consegue carregá-la
Ainda assim, outros monitores portáteis que tenho em casa funcionam só com o USB-C do notebook. Como a tinta eletrônica precisa de uma tensão maior que 5V para apagar as células, em 60Hz pode ser que o aumento de tensão faça o consumo subir demais
Isso é meio difícil de acreditar. Pelo que entendo, a baixa taxa de quadros parece ser basicamente uma limitação de software, e não de hardware; então por que isso ainda não se popularizou mais?
Também há pouco motivo para colocar um controlador mais caro de que os clientes não precisam, e se você força mais a tinta eletrônica, a vida útil diminui, mudando a proposta de valor
Telas de tinta eletrônica já tendem a ser caras por causa de custos de patente e de um projeto mecânico complicado. É como se fosse possível fazer um Toyota Corolla andar a 150 milhas por hora, mas para isso seria preciso trocar componentes internos voltados ao conforto e remover alguns dispositivos de segurança, e as peças móveis poderiam quebrar depois de uma única volta
No fim, faz sentido dizer que “todo hardware é algoritmo, então começa no software”, mas no caso da tinta eletrônica o mercado de controladores não conseguiu alcançar um nível de maturidade comparável ao de controladores DVI ou VGA, que evoluem há décadas
Como o trabalho do Alex é open source, acho que em algum momento, em breve, isso poderá ser reproduzido em escala
Claramente parece haver demanda por telas reflexivas com alta taxa de atualização e alto contraste. Mas fico me perguntando por que a maioria das abordagens é algo na linha de “vamos dar um jeito de usar ou modificar e-paper comum”
Por que os fabricantes não fazem painéis LCD reflexivos acima de 6 polegadas, em algo como a linha Memory Display da Sharp?
Além disso, eu adoraria que a indústria eletrônica também passasse a fabricar displays de eletromolhamento disponíveis para compra