
2026/08/20 23:08
$27 のスマートウォッチでClaude をハッキングする
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
著者は、AI コーディングエージェントを活用して、27 ドルの Pine Time スマートウォッチ向けのカスタム時計文字盤を作成することに成功し、同デバイスの固有の開発言語をめぐって直面していた過去の課題を克服しました。ESP32 デバイスへの最近のハック事例に触発され、Claude や Kimi/DeepSeek といったモデルを利用したこのアプローチは、これまで放置されていたプロジェクトを数時間でアクティブな状態へと変えました。当初の試みは失敗に終わりましたが、その原因として AI が文字サイズを誤判断し、不可読な表示やメモリ問題を引き起こした点が挙げられます。具体的には、デバイスがメモリ上で画像を完全に保持できなかったという制約が存在しました。しかし、戦略を背景イメージをメモリ全体に保存するのではなくストリーミングして表示することに転換したことで、チームは Bluetooth を介して 10 分かかる転送速度ながら、240x240 ピクセルの画像が 2 秒未満で更新される機能的なプロトタイプを実現しました。すべてのコードと得た教訓は GitHub にホストされており、他者の助けとなる AGENTS.md ファイルも含まれています。この手法により、InfiniTime の開発に通常必要とされる急峻な学習曲線を持たず、迅速なプロトタイピングを可能にし、オープンソースファームウェア開発への参入障壁を大幅に低下させました。これにより、クリエイターは動的機能について自由に実験し、スマートウォッチに対する関心を再燃させることができました。
Text to translate
The author successfully created a custom watch face for their $27 Pine Time smartwatch using AI coding agents, overcoming previous struggles with the device's specific development language. Inspired by recent hacks on ESP32 devices and utilizing models like Claude alongside Kimi/DeepSeek, this approach transformed a dormant project into an active one within just hours. Initial attempts failed because the AI misjudged text sizes, leading to unreadable displays and memory issues; specifically, the device could not hold full images in memory simultaneously. However, by shifting strategy to stream background images rather than storing them fully, the team achieved a functional prototype where 240x240 pixel images refresh in under two seconds despite taking ten minutes to transfer via Bluetooth. All code and lessons learned are now hosted on GitHub, including an AGENTS.md file, to assist others. This method significantly lowers the barrier to entry for open-source firmware development by enabling rapid prototyping without the steep learning curve traditionally associated with InfiniTime, allowing creators to experiment freely with dynamic features and reignite their engagement with their smartwatches.
本文
27 ドルのスマートウォッチ「Pine Time」で Claude とファームウェア開発体験
プロジェクトの背景ときっかけ
- 機材: 古びていた引き出しから発見されたオープンソーススマートウォッチ「Pine Time」(価格:27 ドル)。
- 動機: @steveruizok 氏の ESP32 ハッキング事例に触発され、Claude の実力を検証する目的で復活させた。
- 推奨事項: 「コーディングエージェント」を試したい場合は購入を検討。(Amazon, Pi Hut, AliExpress など販売中)
開発のきっかけ:カスタムウォッチフェースの実現
- 現状の問題: 標準付属のウォッチフェースが地味すぎること。
- 着想源: @levelsio 氏が Apple Watch に作成したカシオ風カスタムウォッチフェース。
- 目標: Claude の力を借りて、同様の質感を持ったウォッチフェースを Pine Time で構築する。
- Pine Time が向いている理由:
- オープンソースファームウェア(InfiniTime など)を実行可能。
- ドキュメントが充実しており、LLM に指示しやすい。
- エミュレーター(InfiniSim)があり、高速なフィードバックループが可能。
- ファームウェア自体がシンプルで、機能追加に柔軟。
実装プロセスと手法
1. 環境構築と初期指示
- 使用モデル: OpenCode を介したオープンウェイトモデル(Kimi K3・K2.6, DeepSeek v4 Pro, Flash など)。
- 手順:
リポジトリをクローン(InfiniSim
が git サブモジュールとして含まれる)。InfiniTime- Claude にビルド環境の準備を依頼。
- Ubuntu 環境では素早く完了した。
- @levelsio 氏の画像データを渡し、既存コードを起点にフェース再現を指示。
- サブエージェントのオーケストレーションを活用してタスクを分割。
2. 試行錯誤:完全再現 vs プロトタイプ
- 初期結果: 概ね動作したが、テキスト配置が荒く、文字の重なりなどの不備があった(推測任せの結果)。
- 理想的なシナリオ(未採用):
を使い、エミュレーターのスクリーンショットをフィードバックに与えれば、無人で完璧なピクセル再現が可能だったはず。Fable - 現実的なアプローチ(採用):
- トークン節約と開発者の関与度調整のため、逐次的な修正を実施。
- 明確な次ステップを示しつつ、一度に一つの要素(テキストなど)ずつ修正する。
3. 最適化:静的背景の活用と制約の克服
- 気づき: 画面の一部を動的に構築する必要はなく、全画面の背景画像で静止部分を埋め込めば、動きのある部分のみプログラムすればよい。
- エミュレーターでの成功: この手法はエミュレーション環境では完璧に動作。
- 実機への移植と性能制約:
- 物理的なデバイスの限界に遭遇(Bluetooth 転送や画面更新が遅い)。
- 240×240 の画像を全メモリ保持せず、ファイルシステムからストリーミング読み込みが必要。
- 転送・インストールに約10 分、スワイプ更新に1〜2 秒かかるため、大型画像は非現実的。
- 結論: 数時間で構築したプロトタイプとしては十分な成果。将来的にはコード内描画による即時更新への拡張も視野。
リソースと共有情報
- オープンソース化: すべてのコードを GitHub で公開し、再利用・改変自由。
- 開発の加速ツール:
を作成(得た知見を要約)。AGENTS.md- 新規プロジェクトの迅速なスタート支援。
- 遭遇する一般的な障害の回避策の提供。
まとめ:低リスク環境での AI 開発の楽しさ
- メリット:
- 本番コードではないため、何でも試せて迅速な反復が可能。
- 完成した物理デバイスを手取り足取りで操作できる高い達成感。
- 成果: 以前放置されていた Pine Time を活用し、数時間で新しいウォッチフェースを構築。
- 展望: AI と協働する開発は希望に満ちており、これからも可能性を広げたい。