Qu'est-ce qu'OpenDisplay ?

OpenDisplay est un standard ouvert et un firmware libre conçu pour les écrans à encre électronique (e-paper). Son objectif est de permettre à n'importe quel émetteur (sender) d'envoyer des images vers n'importe quel écran (receiver), de manière locale, avec une faible consommation d'énergie et sans dépendance à un cloud. Le projet repose sur une séparation nette entre les deux rôles : l'émetteur génère l'image et effectue le traitement (dithering, conversion colorimétrique), tandis que le récepteur se contente d'afficher l'image reçue. Cette architecture permet de maintenir des récepteurs simples, bon marché et économes en batterie.

Un standard ouvert, pas une plateforme fermée

Le projet se distingue des solutions existantes qui imposent souvent d'utiliser un écran spécifique avec une application ou un cloud propriétaire. OpenDisplay propose un protocole partagé où chaque côté peut être implémenté indépendamment. Le protocole, le firmware de référence et les outils navigateur sont diffusés sous licence open source (GPL v3). Aucun partenariat ni inscription n'est requis pour implémenter l'une ou l'autre des parties.

Fonctionnalités et usages concrets

OpenDisplay est pensé pour des écrans placés dans des endroits où un câble est difficile à acheminer : placard, salle de bain, cuisine, entrée, etc. Plusieurs exemples d'utilisation sont proposés : affichage météo sur un écran près de la porte, cadre photo en six couleurs sur une table de chevet, indicateur de pollen dans la salle de bain, rappel de prise de médicaments, prochaine réunion sur un mur de cuisine, consommation énergétique dans le couloir. Tous ces cas illustrent la polyvalence du standard.

Autonomie et consommation

L'accent est mis sur la faible consommation. Le site propose un calculateur d'autonomie : avec une batterie de 2000 mAh et une mise à jour toutes les deux heures, un écran utilisant une puce BLE comme l'EFR32BG22 peut fonctionner environ 9,3 ans. La consommation de veille (20 µA) représente la plus grande part (79 %), tandis que le rafraîchissement ne compte que pour 21 % de la consommation quotidienne. L'utilisation de l'ESP32 en mode batterie est déconseillée en raison de son courant de veille élevé (~80 mA) ; le projet recommande plutôt une alimentation USB ou une carte BLE.

Matériel et mise en route

OpenDisplay propose un guide du matériel compatible (ESP32-S3/C3/C6, nRF52840) et des écrans prêts à l'emploi. L'utilisateur peut flasher le firmware directement depuis un navigateur via Web Bluetooth ou Web Serial. Il est possible d'envoyer une première image test sans passer par un émetteur, puis de connecter un système comme Home Assistant (l'émetteur de référence). Un kit de développement Python (py-opendisplay) permet aux développeurs d'intégrer facilement OpenDisplay dans leurs applications.

Pour les développeurs

Home Assistant est actuellement l'émetteur de référence, mais le SDK Python permet à toute application (galerie photo, tableau de bord personnalisé, etc.) d'envoyer des images vers n'importe quel écran OpenDisplay. L'émetteur effectue le lourd travail de traitement d'image (dithering, conversion) en fonction des capacités du récepteur annoncées. Un exemple de code montre une simple fonction upload_image avec une image PIL.

Valeurs et gouvernance

OpenDisplay est construit autour des valeurs de l'Open Home Foundation : vie privée (les écrans ne communiquent jamais avec un cloud, pas de télémétrie ni de compte requis), choix (standard ouvert, interopérabilité entre matériel et logiciels de différents fournisseurs), et durabilité (faible consommation, mises à jour partielles, réutilisation du matériel).

Conclusion

OpenDisplay représente une tentative de standardisation du marché des écrans e-paper, jusqu'ici fragmenté par des solutions propriétaires. En séparant clairement l'émetteur du récepteur et en ouvrant le protocole, il offre une flexibilité inédite pour les makers, les intégrateurs et les utilisateurs soucieux de leur vie privée et de l'autonomie de leurs dispositifs.