Back to Portfolio

[Finish]E-Ink by Experience

<likeaspapaer/>

[Finish] E-Ink by Experience

Overview

Hệ thống Ambient E-Paper Dashboard giúp hiển thị thông tin tĩnh trên bàn làm việc mà không gây xao nhãng. Dự án gồm WebUI quản lý, firmware siêu tiết kiệm pin và Gateway đồng bộ tự động.

Development Process

Câu chuyện phát triển

Dự án E-Ink by Experience khởi nguồn từ mong muốn tạo ra một không gian làm việc tĩnh lặng, ít thông báo gián đoạn. Ban đầu, tôi phát triển nó như một chiếc đồng hồ (watchface) thời gian thực. Tuy nhiên, nhận thấy tốc độ refresh chậm của màn hình E-Paper và sự "gấp gáp" mà các thiết bị hiển thị giây/phút mang lại, tôi quyết định xoay trục (pivot) định vị sản phẩm thành một Ambient E-Paper Dashboard. Màn hình chỉ hiển thị các thông tin tĩnh thiết yếu (thời tiết, lịch trình, ghi chú) cập nhật theo một chu kỳ dài.

Kiến trúc phân mảnh

Hệ thống được thiết kế tách biệt các lớp để tối ưu năng lượng và trải nghiệm:

  • Lớp Hiển thị (nRF52811 Firmware): Quản lý màn hình E-Ink 300x400. Mọi logic tại đây được đóng băng (frozen) và tinh gọn tối đa. Màn hình chỉ thức dậy để render dữ liệu khi nhận tín hiệu qua Bluetooth (BLE GATT), đảm bảo thời lượng pin lên đến hàng tháng.
  • Lớp Đồng bộ (ESP32 Gateway): ESP32 đóng vai trò là cầu nối tự động. Nó thức dậy theo định kỳ, kết nối WiFi lấy dữ liệu (API thời tiết, tỷ giá), tuần tự đẩy dữ liệu xuống màn hình E-Ink qua BLE, rồi ngay lập tức quay lại trạng thái Deep Sleep.
  • Lớp Quản lý (WebUI): Trải nghiệm không chạm (Zero-install). Thay vì bắt người dùng tải app Mobile/Desktop, tôi sử dụng Web Bluetooth và Web Serial API để cho phép cấu hình thiết bị trực tiếp ngay trên trình duyệt Chrome/Edge.

Thách thức Kỹ thuật

Thử thách lớn nhất là Đồng bộ hóa Offline. Nếu người dùng ra ngoài và không mang theo điện thoại hay laptop, màn hình E-Ink sẽ không có thiết bị phát sóng để cập nhật dữ liệu. Việc chế tạo ESP32 Gateway để tự động thu thập và điều phối tín hiệu BLE xung quanh phòng là mảnh ghép quan trọng nhất giúp thiết bị hoạt động hoàn toàn độc lập và tĩnh lặng.

How to Use

Dự án được xây dựng dựa trên triết lý "Invisible Tech" - công nghệ ẩn mình. Người dùng tương tác với hệ thống một cách tối giản nhất có thể.

Code Snippet

Code Snippet
Dự án được xây dựng dựa trên triết lý "Invisible Tech" - công nghệ ẩn mình. Người dùng tương tác với hệ thống một cách tối giản nhất có thể.
    
### Trải nghiệm Hệ thống
1. **Quản lý thiết bị:** Người dùng truy cập WebUI trên trình duyệt, sử dụng Web Bluetooth để quét và gán cấu hình dashboard (widgets thời tiết, lời nhắc, lịch) vào màn hình E-Ink.
2. **Theo dõi thụ động:** Sau lần thiết lập đầu tiên, ESP32 Gateway sẽ tự động đảm nhiệm phần việc còn lại. Bạn chỉ cần đặt màn hình E-Ink trên bàn làm việc, dữ liệu sẽ tự động được làm mới theo chu kỳ một cách âm thầm.

### Gateway Monitoring (Dành cho Developer)
Mặc dù mọi tác vụ đều tự động, trong quá trình phát triển hệ thống, trạng thái đồng bộ (Fetch API -> Đẩy BLE -> Deep Sleep) của ESP32 Gateway có thể được giám sát trực tiếp qua cổng Serial

Architecture

Overview

Overview

WebUI Dashboard

WebUI Dashboard

Recent Activity

[Finish] Complete current milestone and close project phase

8/11/2026

by Furuhonya

1c459bb

[Update] Add project content guidance for AI agents to AGENTS.md

8/11/2026

by Furuhonya

Project Details

Categories
UI/UX
IoT
This project will be related to IoT infrastruture
Website
Project Type
bff41d5

[Update] Rewrite AGENTS.md based on new skill

8/10/2026

by Furuhonya

dd28a92

[Update] Refine WebUI landing and ESP32 gateway

7/17/2026

by Furuhonya

a012fb8

[Fix] Fix gateway sync state and Google login flow

7/16/2026

by Furuhonya

480e353
Individual
Status
Completed
Tech Stack
CC++HTMLRoff
Links
This project is still private
Featured Badge
Featured on