
디자이너가 단종된 E-Ink 개발 보드를 60Hz 게임보이 휴대용 기기로 변신시키다 — 초저가 ESP32-S3 마이크로컨트롤러를 활용한
요약
엔지니어 Wenting Zhang이 ESP32-S3 마이크로컨트롤러와 E-Ink 디스플레이를 활용해 60Hz 주사율의 휴대용 게임보이 에뮬레이터를 제작했습니다. FPGA를 사용하여 픽셀 단위로 업데이트를 제어함으로써 E-Ink의 한계를 극복한 혁신적인 하드웨어 해킹 사례입니다.
핵심 포인트
- 초저가 ESP32-S3 마이크로컨트롤러로 게임보이 에뮬레이션 구현
- FPGA를 활용해 E-Ink 디스플레이 컨트롤러를 혁신적으로 교체
- 매 프레임 변화하는 픽셀만 업데이트하여 60Hz 고주사율 달성
- E-Ink 디스플레이의 기술적 한계를 하드웨어 해킹으로 극복
기발한 열정가인 Wenting은 e-ink 스크린이 탑재된 M5Stack PaperS3 개발 키트를 어느 정도 완전히 기능하는 게임보이(Game Boy)로 변신시켰습니다. 여러분이 직접 하드웨어 해커가 아니라면, Wenting Zhang이나 Modos Labs라는 이름을 들어본 적이 없을 가능성이 높습니다. 이 엔지니어의 YouTube 채널인 "Wenting Channel"은 오랫동안 니치(niche) 기술 덕후들에게 사랑받아 왔으며, 온갖 종류의 하드웨어 해킹 전문 지식을 선보여 왔습니다. Zhang은 지난 몇 년 동안 그 전문 지식을 바탕으로 Modos Labs를 설립했으며, 이 회사는 우리가 이전에 다룬 바 있는 고주사율 e-Ink 디스플레이를 제작하는 곳입니다.
물론, 실제 카트리지를 재생할 수는 없고, 사운드는 다소 불안정하며, 성능이 항상 풀 스피드로 나오는 것도 아닙니다. 그럼에도 불구하고, 이는 몇 가지 이유로 상당히 놀라운 성과입니다. PaperS3는 상용 제품이 아닌 e-Ink 개발 키트입니다. 이는 프로토타이핑과, 음, 바로 이런 종류의 하드웨어 해킹을 위해 만들어졌습니다. 이해해야 할 핵심 세부 사항은 이 장치가 멀티코어 Rockchip이나 Allwinner SoC로 구동되는 것이 아니라, GHz 단위가 아닌 수백 MHz 단위의 클럭 속도로 작동하는 단 두 개의 코어를 가진 초저가 ESP32-S3 마이크로컨트롤러로 구동된다는 점입니다. 게다가, 이 e-Ink 디스플레이는 비디오 게임 플레이에 통상적으로 요구되는 매끄러운 리프레시(refresh)를 위해 설계된 것이 아님에도 불구하고, Zhang은 이를 해냈습니다.

기초적인 Bluetooth LE 컨트롤러 지원을 포함하여, Paper Boy S3 에뮬레이터에서 실행되는 Touhou, Zelda, Tetris. (이미지 출처: Wenting Zhang)
이 Game Boy 에뮬레이터가 어떻게 가능한지 이해하려면, Zhang이 원래 자신의 오픈 소스 모니터 프로젝트인 Modos Flow를 위해 개발했던 E-ink 하드웨어의 혁신적인 돌파구를 이해해야 합니다. 그는 기술을 설명하는 전체 영상을 가지고 있는데, 요약하자면 일반적인 e-Ink 디스플레이의 디스플레이 컨트롤러(display controller)를 강력한 FPGA로 교체하여, 모든 개별 픽셀을 독립적인 디스플레이 영역으로 취급하고 매 프레임마다 실제로 변화하는 화면 부분만 업데이트할 수 있도록 만든 것입니다.
그렇다면 그는 PaperS3의 임베디드 컨트롤러(embedded controller)에서 이를 어떻게 구현했을까요? 이는 Game Boy 화면이 단지 160x144 픽셀로 현대적 기준에서는 매우 낮은 해상도이기 때문에 가능했습니다. PaperS3의 화면은 960x540이므로, 그는 해상도를 3배로 높여 원본 Game Boy 화면의 4가지 가능한 명암을 재현하기 위한 디더링 (dithering) 공간을 충분히 확보할 수 있었습니다. 이 과정은 ESP32의 두 번째 CPU 코어 거의 전체를 사용하며, 실제 에뮬레이션 (emulation)이 첫 번째 CPU 코어에서 실행되는 동안 오디오 처리 (audio processing)를 위한 최소한의 여유 공간만을 남겨둡니다.
그 결과물은 작고 어두운 LCD 대신 매우 날카롭고 선명한 e-Ink 디스플레이를 사용한다는 점을 제외하면, 게임보이(Game Boy)의 디스플레이를 매우 설득력 있게 재현해 냈습니다. Zhang은 에뮬레이터의 상태를 저장하기 위한 터치스크린 '버튼' 형태의 전용 퀵 세이브(quick-save) 및 퀵 로드(quick-load) 기능과 부분적인 Bluetooth LE 컨트롤러 지원과 같은 편의 기능(quality-of-life features)도 구현했습니다. 심지어 프런트엔드(front-end)에서 직접 상태를 불러올 수도 있어, 플레이를 중단해야 할 때 멈췄던 지점에서 즉시 재개할 수 있습니다.
하지만 이 프로젝트가 완벽하다는 뜻은 아닙니다. 우선, 기기에 필요한 하드웨어가 없기 때문에 햅틱 피드백(haptic feedback)이 없는 터치스크린 제어에 의존해야 합니다. 아마도 더 시급한 문제는 PaperS3가 소리를 내기 위해 단순한 피에조 부저(piezo buzzer)만을 사용한다는 점입니다. Zhang은 ( ZX Spectrum 해커처럼 의사 다성음(pseudo-polyphony)을 사용하여) 모노 부저에서 식별 가능한 게임보이 오디오를 출력하기 위해 상당한 해킹 기술을 발휘했지만, 실제 게임보이와 똑같은 소리가 나지는 않습니다. 또한 이 해커는 에뮬레이터를 실행하는 동안 기기의 배터리 수명에 대해서는 언급하지 않았습니다. 마이크로컨트롤러의 두 CPU 코어를 모두 한계까지 밀어붙이고 있다는 점과, e-Ink 디스플레이가 60Hz로 구동될 때 실제로 전력을 상당히 많이 소모한다는 점을 고려하면 배터리 성능이 뛰어나지는 않을 것으로 예상됩니다.

이미 PaperS3를 보유하고 있다면, PaperBoyS3를 사용 가능한 상태로 플래싱(flashed)할 수 있습니다. (이미지 출처: Wenting Zhang)
만약 "Paper Boy S3"를 직접 시도해보고 싶다면, Zhang은 M5Stack 장치를 위한 펌웨어 플래셔 (firmware flasher)이자 앱 스토어 (app store) 역할을 하는 M5Burner 도구에 이를 업로드했다고 밝혔습니다. 하지만 그가 프로젝트 영상에서 직접 언급했듯이, PaperS3는 실제로 제조사에 의해 이미 단종되었기 때문에, 아직 기기를 보유하고 있지 않다면 구하는 데 어려움을 겪을 수 있습니다. 그럼에도 불구하고, 이 프로젝트는 초저사양 하드웨어로 무엇을 할 수 있는지 보여주는 매혹적인 데모이며, E-Ink 디스플레이의 약점 중 적어도 하나에 대한 직접적인 대안을 제시합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Tom's Hardware의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기