Arduino Library Reverse-Engineers the AMT630A OSD Chip in $35 Backup Monitors

Reverse-engineering a $35 backup camera display (AMT630A)

A new Arduino/ESP32 library exposes the AMT630A's five hardware OSD windows for text, custom glyphs, 4bpp bitmaps, palette animation, and scaling. It includes a Python image converter and optional automation for entering the hidden factory menu on a tested three-button monitor. The project is based on hardware reverse engineering, and a stock-firmware ownership quirk can freeze the display pipeline if external I2C control is sustained.

Repeatedly taking external ownership during normal stock-firmware operation was found to eventually freeze the complete display pipeline, including both OSD and live composite video.
  1. mogrinz

    This started because I built a full-size Robby the Robot suit and discovered I couldn't actually see out of it (https://youtu.be/gAHd46ErNA8?si=-iOwbobp4trPXdGB)

    I bought a $35 backup camera/display to solve that problem, then discovered that the display contained an AMT630A video processor with a surprisingly capable OSD system. That sent me down a rabbit hole of I2C probing, firmware dumping, register tracing, custom graphics, bitmap formats, hidden factory menus, and eventually figuring out how to use an ESP32 to generate a programmable HUD over the live composite video.

    I ended up turning what I learned into an Arduino library, which I've released on GitHub. It supports built-in and custom fonts, multiple OSD windows, 16-color bitmaps, palettes, transparency, and animation. It can also be used with composite video sources other than the camera.

    The library and code are here: https://github.com/mogrinz/AMT630A

    You can also install directly from the Arduino IDE Library Manager (search for AMT630A)

More from this day

2026-09-30