냉장고에 붙는 e-ink 쇼핑 리스트, 휴대폰과 동기화
원제 Show HN: PaperMono, e-ink fridge magnet shopping list with mobile web page
118 포인트댓글 53
Key Point
ESP32 기반 e-paper 터치스크린을 활용한 실제 동작하는 스마트 기기 프로젝트로, 저전력 Wi-Fi 동기화와 오프라인 우선 설계, 완전한 오픈소스 구현 및 문서가 있어 하드웨어 개발자와 IoT 프로젝트 관심층의 참고 자료가 될 수 있다.
핵심 요약
- M5Stack PaperMono를 쇼핑 리스트로 바꾸는 오픈소스 펌웨어 프로젝트로, 냉장고에 붙인 3.97인치 e-paper 터치스크린 기기와 휴대폰 웹앱이 실시간 동기화된다.
- 기기는 ESP32-S3 기반이며 약 2,400줄의 C++ 코드로 완성된 실용적인 애플리케이션이다.
- 화면 갱신은 부분 업데이트로 깜빡임 없이 처리하고, 10회마다 전체 새로고침으로 번인을 방지하며, 회색은 1-비트 도트 패턴으로 두 갱신 모드에서 동일하게 표현된다.
- 터치 UI는 탭·스와이프·측면 버튼으로 동작하며, 온스크린 키보드는 타이핑 시 변경된 부분만 다시 그리고 이전 항목을 제안한다.
- Wi-Fi는 동기화 중에만 켜지며(매시간, 또는 5분 이상 오래되면 즉시, 편집 직후), 나머지는 모두 오프라인으로 동작하고 편집은 플래시에 저장되어 다음 동기화 때 전송된다.
- 전원 관리는 전원 버튼 셧다운과 USB 전원 제거 시 딥슬립 폴백, 안전 배터리 전압에서 자동 종료를 포함한다.
- 쇼핑 방식은 항목을 가게 동선대로 통로별로 그룹화해 표시하며, 사용자가 한 번 순서를 정하면 기기와 휴대폰 모두 따른다.
- 서버는 FastAPI와 SQLite로 운영되며, Claude를 선택적으로 사용해 새 항목을 자동으로 해당 통로에 분류할 수 있다.
- 프로젝트는 PlatformIO(펌웨어), FastAPI(서버), 스키마 리셋, 오프라인 동작, 자동 정렬 등에 대한 완전한 문서를 포함한다.
- 저자는 개인용 기기 1대에서 운영 중이며 상용 제품은 아니고, Wi-Fi 설정 자동화와 서버 인증이 없으므로 LAN 또는 인증 리버스 프록시 뒤에 두어야 한다.
- PaperMono C153만 테스트되었으며, MonoMesh 펌웨어에서 보드 지원, e-paper 드라이버, 키보드 레이아웃을 재사용했고 GPLv3 라이선스이다.