ESP32 OLED 드라이버 최적화: 속도 대비 폰트 지원

2025-04-14
ESP32 OLED 드라이버 최적화: 속도 대비 폰트 지원

저자는 ESP32에서 SSD1306 OLED 디스플레이를 사용하는 과정에서 여러 드라이버를 실험했고, 최종적으로는 더 이상 사용되지 않는 드라이버를 수정하여 사용했습니다. 처음에는 Espressif 드라이버를 사용했지만, 이 드라이버는 단일 폰트만 지원했습니다. 그 후 LVGL과 U8G2 라이브러리를 시도했지만, 모두 낮은 재생률 문제가 있었습니다. 결국 저자는 더 이상 사용되지 않는 드라이버로 돌아가 I2C API 호출을 수정하여 최신 ESP-IDF 버전과의 호환성을 확보했고, 40Hz의 재생률을 달성했습니다. 폰트 지원을 추가하기 위해 nvbdflib 라이브러리를 통합하여 BDF 폰트를 직접 파싱하고 프레임 버퍼에 그려 고속 재생률과 사용자 정의 폰트 기능을 구현했습니다.

개발