YouTuber chế tạo Game Boy màn hình E Ink 30 khung hình/giây, mở mã nguồn cho mọi màn hình e-paper
Một YouTuber tên Bo Made It đã tự viết driver cho màn hình E Ink giá rẻ, nâng tốc độ làm mới lên 30 fps và hiển thị được bốn mức xám như Game Boy nguyên bản. Anh đã công khai mã nguồn trên GitHub, kèm cảnh báo rủi ro làm hỏng màn hình.

Chạy game Game Boy giả lập ở 30 khung hình mỗi giây với bốn mức xám trên màn hình E Ink đã là một thành tích đáng nể. Nhưng điều ấn tượng hơn nằm ở chỗ: YouTuber Bo Made It không dùng phần cứng tùy chỉnh đắt tiền, mà tự viết driver mã nguồn mở cho chính tấm màn hình e-paper giá rẻ mà ai cũng có thể mua.
Từ trò chơi thử nghiệm đến driver mã nguồn mở
Trong video công bố tuần trước, Bo Made It trình diễn thiết bị mà anh gọi là InkBoy, chạy trên một bo mạch e-paper nhỏ gắn chip ESP32-S3. Kết quả hiển thị trông khá giống màn hình xanh ô-liu của chiếc Game Boy đời đầu — không có gì đặc biệt về mặt hình ảnh, nhưng là một kỳ tích về mặt kỹ thuật khi làm được điều đó trên một tấm màn hình E Ink thông thường.
Điểm mấu chốt không nằm ở việc chơi được game, mà ở driver tùy chỉnh mà anh tự viết. Bo đã công khai toàn bộ mã nguồn lên GitHub, kèm theo một lời cảnh báo khá nghiêm túc về những rủi ro tiềm ẩn.
Vì sao màn hình E Ink vốn chậm như vậy?
Với những ai chưa từng dùng máy đọc sách, màn hình E Ink rất giỏi ở đúng thứ mà nó được thiết kế để làm. Công nghệ này dùng các xung điện để di chuyển hạt sắc tố tích điện bên trong từng pixel, nhờ đó giữ nguyên nội dung hiển thị mà không cần tiêu thụ điện liên tục. Nói cách khác, màn hình lưu trạng thái về mặt vật lý, giúp thiết bị e-paper cực kỳ tiết kiệm pin.
Nhưng đi kèm là một đánh đổi lớn: việc thay đổi các pixel diễn ra chậm đến mức khó chịu so với màn hình hiện đại. Tấm màn hình mà Bo sử dụng có tốc độ làm mới khoảng 300 mili-giây — vốn đã thuộc nhóm nhanh của e-paper, nhưng chỉ thực sự phù hợp để hiển thị ảnh tĩnh.
Màn hình E Ink đen trắng tiêu chuẩn chứa hai loại sắc tố: hạt đen tích điện dương và hạt trắng tích điện âm. Để chuyển đổi giữa hai trạng thái, cần một chuỗi xung điện ngắn theo dạng sóng (waveform) cụ thể, dần dần đẩy các hạt từ mặt trước ra mặt sau màn hình. Driver gốc của tấm màn hình Waveshare 1,54 inch mà Bo dùng cũng hoạt động theo cách đó, và gần như không để lại dư địa nào cho việc hiển thị chuyển động.
Bí quyết: bắt màn hình "dừng lại giữa chừng"
Để vượt qua giới hạn này, Bo tự xây dựng driver riêng: rút ngắn waveform và điều khiển từng pixel riêng lẻ để giảm hiện tượng bóng mờ (ghosting). Đáng chú ý hơn, anh khiến tấm màn hình vốn chỉ có đen và trắng hiển thị được bốn mức xám — đúng như Game Boy nguyên bản.
Ban đầu, Bo dùng kỹ thuật dithering để tạo ảnh xám, nhưng theo anh thì kết quả trông "kinh khủng". May mắn thay, trong lúc tìm cách khắc phục hiện tượng bóng mờ, anh nhận ra một điều thú vị.
"Tôi nhận thấy màn hình vốn đã tạo ra màu xám — một cách vô tình," Bo nói trong video. "Các hạt sắc tố không nhảy tức thời từ đen sang trắng, nên tôi tự hỏi: nếu mình cố ý dừng quá trình chuyển đổi giữa chừng, liệu có thể tạo ra các mức xám đó một cách có chủ đích không?"
Câu trả lời là có. Sau một số tinh chỉnh, anh đạt được các mức xám đó ở tốc độ 30 khung hình mỗi giây — một bước cải thiện vượt bậc so với 3,33 fps mà driver gốc mang lại.
Không phải người đầu tiên, nhưng là cách tiếp cận mới
Đây không hẳn là lần đầu tiên có người làm được điều này, nhưng vẫn là một hướng tiếp cận mới cho bài toán tăng tốc làm mới E Ink. Bo cho biết anh lấy ý tưởng từ một YouTuber khác từng chế Game Boy màn hình E Ink, song người đó dùng phần cứng hoàn toàn tùy chỉnh để bỏ qua thiết kế màn hình E Ink thông thường và tạo ra tấm hiển thị nhanh hơn.
Điều Bo làm là viết driver cho phần cứng có sẵn trên thị trường. Về lý thuyết, bất kỳ ai cũng có thể tái tạo lại thành quả này nếu muốn — và đó chính là điểm khiến nó đáng giá.
Cảnh báo: rủi ro làm hỏng màn hình là có thật
Sau một tháng làm việc — và theo lời Bo là có dùng một chút "vibe coding" để viết driver — anh đã đăng phiên bản hoạt động được lên GitHub. Kèm theo đó là một cảnh báo đáng lưu ý.
- Việc ép màn hình E Ink chạy waveform tùy chỉnh và tốc độ làm mới cao hơn có thể gây hư hỏng vĩnh viễn cho tấm màn hình.
- Tuổi thọ dài hạn của panel không được đánh giá trong thử nghiệm này.
Nói cách khác, nếu bạn định thử, hãy tự chịu rủi ro — và tốt nhất là đừng thử trên chiếc Kindle đã độ của bạn. Hãy mua một tấm E Ink giá rẻ để làm vật thí nghiệm nếu muốn mạo hiểm.
Ý nghĩa với cộng đồng công nghệ Việt Nam
Việc một dự án như InkBoy có thể tái lập trên phần cứng phổ thông nhờ mã nguồn mở là tín hiệu đáng khích lệ với cộng đồng nhúng và IoT trong nước. Các dòng chip ESP32-S3 và màn hình E Ink đều dễ mua tại Việt Nam, với chi phí không quá cao. Những ai đang làm dự án như bảng giá điện tử, thiết bị đọc sách tự chế hay các thiết bị hiển thị tiết kiệm pin đều có thể tham khảo hướng tiếp cận này — tất nhiên, với tinh thần "phá vài tấm màn hình giá rẻ để học" trước khi áp dụng cho sản phẩm thật.


