🚀 2026 스타트업 컨퍼런스

6색 E-Ink 디스플레이의 한계를 넘는 기술: 디더링(Dithering)을 활용한 색상 확장 실험

6색 E-Ink 디스플레이의 한계를 넘는 기술: 디더링(Dithering)을 활용한 색상 확장 실험

김현수·2026년 1월 3일·3

Seeed Studio의 6색 E-Ink 디스플레이인 Spectra 6를 활용하여, 디더링(Dithering) 기술로 물리적 색상 한계를 극복하고 풍부한 색을 표현한 실험기입니다.

최근 Seeed Studio에서 출시한 XIAO ePaper DIY Kit를 손에 넣었습니다. ESP32-S3를 기반으로 한 이 보드는 Spectra 6라는 7.3인치 E-Ink 패널을 탑재하고 있는데, 이름 그대로 검정, 흰색, 노랑, 빨강, 초록, 파랑의 6가지 색상을 표현할 수 있는 물건입니다. 보통 흑백이나 3색(빨/검/흰) 정도에 머물던 전자종이 시장에서 6색은 꽤 혁신적인 변화였죠. 처음 전원을 켜고 선명한 원색이 화면에 찍히는 걸 봤을 때, 엔지니어로서 묘한 도전 의식이 생겼습니다. 하드웨어가 6가지 색만 준다고 해서, 소프트웨어 엔지니어인 우리가 정말 6가지 색만 써야 할까요? 저는 이 제한된 자원 안에서 더 풍부한 시각적 표현을 만들어내고 싶었습니다. 그래서 시작한 것이 바로 디더링(Dithering)을 통한 색상 확장 실험입니다.

우선 이 디스플레이가 어떻게 작동하는지부터 이해해야 했습니다. Spectra 6 기술은 마이크로캡슐 안에 여러 색상의 안료가 들어있고, 각 픽셀에 가해지는 전압에 따라 특정 색의 입자가 표면으로 떠오르는 방식입니다. LCD나 OLED처럼 빛을 쏘는 게 아니라, 물리적인 입자를 이동시키는 것이죠. 때문에 화면을 갱신하는 속도가 무척 느립니다. 전체 화면을 다시 그리는 데 무려 20초에서 30초가 걸리고, 그 과정에서 안료들이 자리를 잡느라 화면이 번쩍거리는 플래싱 현상이 발생합니다. 솔직히 말해, 초침이 움직이는 시계나 실시간 알림판으로는 절대 쓸 수 없는 스펙입니다. 하지만 정적인 대시보드나 디지털 액자로는 전력 소모도 없고 훌륭하죠. 저는 이 느린 반응 속도를 감안하더라도, 표현할 수 있는 색의 범위를 넓히는 것이 사용자 경험(UX) 측면에서 훨씬 가치 있다고 판단했습니다.

문제는 '어떻게'였습니다. 하드웨어적으로 픽셀은 6가지 색 중 하나만 선택할 수 있습니다. 그래서 저는 '착시'를 이용하기로 했습니다. 바로 디더링 기법입니다. 이는 고전적인 인쇄술이나 저사양 그래픽 시절부터 쓰이던 방식인데, 서로 다른 색의 점을 촘촘하게 교차 배치해서 멀리서 봤을 때 두 색이 섞인 중간색처럼 보이게 만드는 원리입니다. 저는 SenseCraft 같은 기성 웹 앱 대신 밑바닥부터 직접 코딩하며 실험을 시작했습니다. 처음에는 사진 보정에 주로 쓰이는 Floyd-Steinberg나 회전된 Bayer(Rotated Bayer) 같은 복잡한 알고리즘을 적용해 봤습니다. 이론적으로는 그라데이션 표현에 탁월해야 했지만, 막상 E-Ink에 올려보니 결과는 실망스러웠습니다. UI 요소나 로고처럼 깔끔한 선이 중요한 그래픽에서는 오히려 지저분한 노이즈(Artifact)처럼 보였기 때문입니다.

수많은 시행착오 끝에 찾은 해답은 의외로 가장 단순한 방식인 '50% 체커보드(Checkerboard)' 패턴이었습니다. 체스판처럼 두 가지 색을 1:1로 번갈아 찍는 아주 기초적인 방식이죠. 이 단순한 패턴이 복잡한 알고리즘보다 훨씬 깔끔하고 선명한 혼합색을 만들어냈습니다. 예를 들어 빨강과 노랑을 교차해 주황(Orange)을 만들고, 빨강과 파랑을 섞어 보라(Purple)를, 초록과 노랑으로 라임(Lime) 색을 구현했습니다. 실제로 디스플레이에 출력해 보니, 6색이었던 팔레트가 순식간에 10가지 이상으로 늘어나는 효과를 볼 수 있었습니다. 물론 흰색을 섞어 파스텔 톤을 만들려는 시도는 생각보다 효과가 미미했지만, 원색 계열의 혼합은 기대 이상으로 훌륭했습니다.

결국 기술의 발전은 하드웨어 스펙만으로 이루어지지 않는다는 것을 다시 한번 깨달았습니다. ESP32-S3의 성능을 활용해 적절한 소프트웨어 기법을 얹으니, 하드웨어의 물리적 한계를 뛰어넘는 결과를 얻을 수 있었으니까요. 개발자로서 우리는 종종 최신 라이브러리나 복잡한 알고리즘에 매몰되곤 합니다. 하지만 이번 실험을 통해 때로는 가장 기본적이고 단순한 원리가 현업의 문제를 해결하는 가장 강력한 열쇠가 된다는 사실을 뼈저리게 느꼈습니다. 만약 여러분도 제한된 리소스 환경에서 개발하고 있다면, 하드웨어가 주는 제약을 그대로 받아들이지 마세요. 그 제약 속에 틈새를 비집고 들어갈 소프트웨어적인 해법은 반드시 존재합니다.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!