Biblioteca Arduino para controlar la pantalla OSD del monitor AMT630A

Fuentes: Arduino Library for Controlling the AMT630A Monitor OSD Engine

La biblioteca AMT630A OSD es una librería de código abierto diseñada para Arduino y ESP32 que permite controlar el motor de pantalla en pantalla (OSD) de monitores LCD compuestos basados en el chip AMT630A. Esta herramienta expone cinco ventanas de OSD de hardware como una API práctica, facilitando la gestión de texto, caracteres personalizados, bitmaps de 16 colores y animaciones de paleta. El proyecto, que se encuentra en su versión 0.7.0, incluye un convertidor de imágenes en Python y una automatización opcional para acceder al menú de fábrica oculto en monitores con firmware específico de tres botones.

La biblioteca se basa en pruebas de hardware y ingeniería inversa de placas reales, por lo que las funciones marcadas como específicas de hardware o firmware deben verificarse en cada dispositivo. El sistema gestiona la memoria RAM de índice compartida de 512 celdas entre las cinco ventanas, permitiendo escalado, opacidad, mezcla de video y movimiento de ventanas. Además, ofrece un convertidor de GIF, PNG y JPEG a bitmaps de Arduino con cuantización RGB444. El código utiliza la interfaz I2C por defecto en los pines GPIO 21 y 22 del ESP32, aunque permite la configuración de pines personalizados. Un aspecto crítico es la gestión de la propiedad del microcontrolador interno (8051) versus el control externo por I2C; la librería utiliza el mecanismo externo para evitar bloqueos en el firmware de fábrica, requiriendo una secuencia específica de pulsos en el menú de fábrica para mantener la estabilidad del sistema.