| ▲ | Reverse-engineering a $35 backup camera display (AMT630A)(github.com) | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| 39 points by mogrinz 2 days ago | 10 comments | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | mogrinz 2 days ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
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) | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | bobsmooth an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Classic bit of reverse engineering. I love how detailed your readme is. | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | BugsJustFindMe an hour ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||||||||||||||
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". | |||||||||||||||||||||||||||||||||||||||||||||||||||||