기타 Hacker News · 2일 전

서랍에 박혀있던 3만 원짜리 시계에 파이썬 OS를 직접 올려버린 개발자

핵심 요약
  • 한 개발자가 서랍 속에 방치했던 25달러짜리 오픈소스 스마트워치 파인타임(PineTime)을 마이크로파이썬 OS로 부활시켰습니다.
  • 가용 램이 12KB에 불과한 극한의 환경에서 빌드 도구와 메모리를 최적화하고 마이크로파이썬 공식 메인라인에 코드까지 병합시켰습니다.
  • 8비트 레트로 워치페이스와 파이썬 창시자 귀도 반 로섬의 도트 초상화 앱까지 구현하며 성공적으로 개조를 마쳤습니다.
요약 한 개발자가 25달러(약 3만 원대)짜리 오픈소스 해킹용 스마트워치 '파인타임(PineTime)'을 서랍 속에서 꺼내, 파이썬(MicroPython)으로 구동되는 스마트워치로 부활시킨 개발기를 공유했습니다. 파인타임은 얼핏 보면 애플워치처럼 생겼지만 700달러짜리 고성능 기기가 아닌 64MHz ARM 코어, 단 64KB의 RAM, 512KB 플래시 메모리만 탑재된 초경량 저스펙 기기입니다. 블루투스와 기본 OS를 올리고 나면 앱 구동용으로 남는 RAM이 겨우 12KB 남짓에 불과할 정도로 환경이 열악합니다. 기본 펌웨어는 C++ 기반이지만, 파이썬 모임을 운영하는 저자는 2019년 이후 개발이 사실상 멈춰 있던 마이크로파이썬 기반 OS 'wasp-os'를 직접 손보기로 결심했습니다. 저자는 최신 패키지 도구 uv를 도입해 1회 명령어로 빌드가 가능하도록 환경을 복원했고, 8분 넘게 걸리던 블루투스 펌웨어 업데이트 시간을 3분 30초대로 대폭 단축했습니다. 또한 파일시스템 버퍼 최적화를 통해 부팅 후 사용 가능한 램을 7.1KB에서 12.4KB로 70% 이상 확보했으며, 진동 모터가 멈추지 않거나 방전 후 I2C 버스가 멈춰 벽돌이 되던 하드웨어 버그들도 일일이 잡아냈습니다. 심지어 마이크로파이썬 공식 메인라인에 3개의 PR을 제출해 모두 병합시키면서 포크 버전 없이도 최신 마이크로파이썬에서 직접 구동되도록 만들었습니다. 여기에 레트로 감성을 살린 8비트 스타일 시계 화면과 유닉스 타임스탬프 표시 기능을 추가했고, 파이썬 창시자 귀도 반 로섬(Guido van Rossum)의 도트 초상화와 파이썬 로고가 스와이프되는 귀도 전용 앱까지 만들어 넣었습니다. 용량이 빡빡해 40줄짜리 런렝스 인코딩 디코더를 직접 짜서 4장의 이미지를 12KB 이내로 압축해 넣은 낭만 넘치는 괴짜 개발기에 많은 오픈소스 팬들의 관심이 쏠렸습니다.
Sponsored · 광고