Reverse-engineering a $35 backup camera display (AMT630A)
Cette bibliothèque Arduino/ESP32 permet de contrôler le moteur OSD matériel des moniteurs LCD composite basés sur le circuit AMT630A, offrant gestion de cinq fenêtres matérielles, textes, glyphes personnalisés, bitmaps 4bpp, palette animée, opacité, mise à l'échelle et mouvements de fenêtres. Le projet s'appuie sur des tests matériels et du reverse engineering, mais signale que les firmwares, timings et connexions I2C varient entre produits et que certaines fonctionnalités sont spécifiques au matériel ou au firmware testé. L'API propose l'initialisation I2C (pins ESP32 par défaut SDA=21, SCL=22), la configuration de fenêtres texte/bitmap, la gestion de l'Index RAM et de la Font RAM, le contrôle du blending/opacity/brightness, le support du blink matériel, le batching d'opérations et un convertisseur Python pour générer des en-têtes bitmap adaptés. Une mise en garde documente un conflit d'accès au registre système C6 entre le microcontrôleur 8051 interne et le contrôle I2C externe qui peut figer l'affichage sur le firmware testé, et décrit une procédure optionnelle utilisant un 74HC4066 pour entrer le menu usine et éviter cette contention sur ce firmware particulier. La distribution inclut de nombreux exemples (polices, glyphes personnalisés, bitmaps, animations, entrée en mode usine), une référence API complète, un outil de conversion d'images avec calibration et gestion de palette, ainsi que les instructions d'installation pour le gestionnaire de bibliothèques Arduino.