오픈소스 프로젝트 '드로이드푸터(DroidPutter)'가 안드로이드 폰을 활용해 ESP32-S3 개발 보드를 제어하고, M5Stack의 카트퓨터(Cardputer) 앱을 실행하는 혁신적인 방법을 선보였습니다. USB OTG 케이블로 ESP32-S3 보드를 안드로이드 폰에 연결하면, 폰이 개발 보드의 디스플레이, 키보드, GPS 센서 역할을 대신하게 됩니다. 이를 통해 개발자는 별도의 디스플레이가 없는 ESP32-S3 보드만으로도 카트퓨터 앱을 구동하고 개발할 수 있게 됩니다.
드로이드푸터는 깃허브(GitHub)에 공개된 모든 오픈소스 카트퓨터 앱을 안드로이드 폰 환경에 맞춰 재구축(rebuild)합니다. 이 과정은 깃허브 액션(GitHub Actions)과 소규모 프록시(proxy)를 통해 자동으로 이루어지며, 폰에서 직접 펌웨어를 플래싱(flashing)할 수 있습니다. 앱이 실행되면 ESP32-S3는 연산만 담당하고, 폰 화면에 앱의 UI가 미러링(mirroring)되며, 폰의 소프트 키보드나 연결된 물리 키보드를 통해 앱을 제어할 수 있습니다. 또한 폰의 GPS 데이터를 앱에 연동하여 위치 기반 서비스도 구현할 수 있습니다. 이 모든 과정은 ESP32-S3 보드에 디스플레이가 없어도 가능하며, M5GFX 및 M5Cardputer 라이브러리 패치 버전을 통해 호환성을 확보했습니다.
이 프로젝트는 임베디드 시스템 개발 환경의 복잡성과 비용을 크게 줄일 수 있다는 점에서 의미가 큽니다. 특히 1인 개발자나 취미 개발자에게는 별도의 디스플레이 모듈이나 전용 개발 장비 없이 스마트폰만으로도 ESP32-S3 기반의 프로젝트를 시작하고 테스트할 수 있는 문턱을 낮춰줍니다. 이는 개발의 접근성을 높이고, 다양한 아이디어를 빠르게 프로토타이핑(prototyping)할 수 있는 유연한 환경을 제공함으로써 임베디드 개발 생태계에 새로운 활력을 불어넣을 것으로 기대됩니다.