핵심 요약
- 한 해외 개발자가 35달러짜리 차량용 후방 카메라 디스플레이의 AMT630A 칩을 리버스 엔지니어링해 아두이노/ESP32용 OSD 제어 라이브러리를 공개했습니다.
- 내장된 5개 OSD 윈도우를 활용해 텍스트, 16색 비트맵, 투명도 조절, 팔레트 애니메이션 등을 화면 위에 오버레이로 띄울 수 있도록 지원합니다.
- 순정 펌웨어와의 내부 버스 충돌로 화면이 멈추는 문제를 해결하기 위해 아날로그 스위치로 숨겨진 공장 모드에 자동 진입하는 우회책까지 구현했습니다.
요약 해외 개발자가 시중에서 약 35달러(약 4만 원대)에 흔히 팔리는 저가 차량용 후방 카메라 디스플레이를 리버스 엔지니어링하여, 이를 아두이노 및 ESP32로 제어할 수 있는 오픈소스 OSD 라이브러리를 공개했습니다. 대상 하드웨어는 컴포지트 비디오 입력 LCD 모니터 보드에 널리 사용되는 'AMT630A' 칩셋입니다.
이 라이브러리는 AMT630A 칩에 내장된 5개의 하드웨어 OSD(On-Screen Display) 윈도우를 실질적으로 제어할 수 있는 아두이노 API를 제공합니다. 이를 통해 텍스트 출력은 물론 커스텀 글리프, 16색(4bpp) 비트맵 표시, 팔레트 애니메이션, 비디오 블렌딩 및 투명도/밝기 조절, 1배에서 4배까지의 윈도우 스케일링, 깜빡임(블링크) 영역 설정 등 다양한 하드웨어 가속 디스플레이 기능을 구현할 수 있습니다. 여기에 GIF나 PNG 이미지를 변환해 주는 파이썬 기반 비트맵 변환 도구도 함께 포함되어 있습니다.
개발 과정에서 발견된 주요 기술적 이슈도 함께 공유되었습니다. AMT630A 칩셋의 시스템 레지스터는 내부 8051 MCU와 외부 I2C 인터페이스 중 어느 쪽이 레지스터를 제어할지 소유권을 지정하는데, 순정 펌웨어가 비디오 디코더 레지스터를 주기적으로 점유하는 상태에서 외부 I2C로 장시간 강제 접근하면 화면과 OSD 파이프라인 전체가 멈추는(프리즈) 현상이 나타났습니다. 개발자는 3버튼 순정 모니터에서 숨겨진 '공장 모드(Factory Menu)'로 진입하면 이 충돌이 방지된다는 점을 확인하고, 74HC4066 아날로그 스위치 IC를 활용해 ESP32 GPIO로 모니터의 물리 버튼 입력을 흉내 내 공장 모드로 자동 진입시키는 회로와 예제 코드까지 함께 구성했습니다.
다만 시중에 유통되는 AMT630A 기반 모니터들은 제조사마다 펌웨어, 패널 타이밍, 키패드 회로, 노출된 I2C 핀 배치 등이 제각각일 수 있어, 프로젝트 적용 시 본인의 보드 사양을 개별적으로 확인해야 한다고 덧붙였습니다.
Sponsored · 광고