Обратная разработка дисплея камеры заднего вида за $35: как AMT630A получил Arduino-библиотеку

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

Энтузиаст методом обратной разработки изучил аппаратный OSD-движок в дешёвых мониторах на чипе AMT630A и выпустил Arduino/ESP32-библиотеку с открытым исходным кодом. Она даёт доступ к пяти аппаратным окнам OSD, шрифтам LargeFont и SmallFont, 16-цветным 4bpp-битмапам, анимации палитры, масштабированию и миганию. В комплекте — Python-конвертер изображений и автоматизация входа в скрытое заводское меню через 74HC4066. Проект основан на реальном тестировании железа и предупреждает о возможных конфликтах с заводской прошивкой.

Повторный захват внешнего управления во время нормальной работы заводской прошивки в итоге приводил к зависанию всего конвейера вывода изображения, включая как OSD, так и живое композитное видео.
  1. mogrinz

    Всё началось с того, что я построил полноразмерный костюм Робби-робота и обнаружил, что на самом деле не вижу из него (https://youtu.be/gAHd46ErNA8?si=-iOwbobp4trPXdGB)

    Я купил камеру заднего вида с дисплеем за $35, чтобы решить эту проблему, а затем обнаружил, что дисплей содержит видеопроцессор AMT630A с на удивление мощной системой OSD. Это увлекло меня в кроличью нору из I2C-зондирования, дампа прошивки, трассировки регистров, кастомной графики, растровых форматов, скрытых заводских меню и, в конце концов, выяснения того, как использовать ESP32 для генерации программируемого HUD поверх живого композитного видео.

    В итоге я превратил то, что узнал, в библиотеку для Arduino, которую выложил на GitHub. Она поддерживает встроенные и пользовательские шрифты, несколько OSD-окон, 16-цветные битмапы, палитры, прозрачность и анимацию. Её также можно использовать с другими источниками композитного видео, помимо камеры.

    Библиотека и код здесь: https://github.com/mogrinz/AMT630A

    Также можно установить напрямую из Arduino IDE Library Manager (поиск по AMT630A)

  2. bobsmooth

    Классический пример обратной разработки. Мне очень нравится, насколько подробный у тебя readme.

  3. BugsJustFindMe

    Придирка к заголовку: "backup" означает вторую копию, "back up" — это глагольная фраза, означающая движение назад. Глагольные фразы пишутся через дефис для ясности, когда используются как прилагательные непосредственно перед существительным. Так что должно быть "back-up camera", а не "backup camera".

Ещё за этот день

2026-09-30