Reverse-engineering a $35 backup camera display (AMT630A)
mogrinz · 34 points · 10 comments · 昨日 · Open original
Comments
3 preview comments · loading full thread
Log in to use comments
Log in to h4cker, then connect Hacker News to publish comments.
MOmogrinz昨日
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)
BObobsmooth17 分前
Classic bit of reverse engineering. I love how detailed your readme is.
BUBugsJustFindMe34 分前
Title nit: "backup" means a second copy, "back up" is the verb phrase for moving backwards. Verb phrases get hyphenated for clarity when used as adjectives immediately preceding a noun. So this should be "back-up camera", not "backup camera".
Comments
3 preview comments · loading full threadLog in to h4cker, then connect Hacker News to publish comments.
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)
Classic bit of reverse engineering. I love how detailed your readme is.
Title nit: "backup" means a second copy, "back up" is the verb phrase for moving backwards. Verb phrases get hyphenated for clarity when used as adjectives immediately preceding a noun. So this should be "back-up camera", not "backup camera".