3 ポイント 投稿者 GN⁺ 2025-03-30 | 1件のコメント | WhatsAppで共有

ESP32ベースの集中タイマープロジェクト

ESP32とePaperディスプレイ、回転ダイヤルを使った集中タイマープロジェクト。 このリポジトリのコードは一部のアセットとフォントが削除されているため、そのまますぐに使うのは難しいが、必要に応じて修正可能。

部品一覧

  • ESP32(AZDelivery ESP32 NodeMCUを使用)
  • WaveShare 4.26インチ e-Paperディスプレイ HAT、800x480
  • KY-040 ロータリーエンコーダーとボタン
  • WS2812 LED(シンプルなRGB LEDで代用可能)
  • USB-Cコネクタ
  • 3Dプリントケース
  • 抵抗および0.1uFコンデンサ

プロジェクトのきっかけ

生産性向上のための工夫を試すのが好きで、毎年ほかの人の役に立つプロジェクトに時間を投じている。電子工学エンジニアとしての経験を生かして物理的なデバイスを作りたいと考え、友人の時間管理の課題を解決するために集中タイマーを制作することになった。

部品選定の理由

ePaperディスプレイ
  • バックライトのないディスプレイを求めており、4.26インチディスプレイを選んだ理由は次のとおり。
    • 優れた解像度
    • 適切なサイズ
    • 部分リフレッシュ対応
ロータリーエンコーダー
  • 直感的な入力デバイスとして回転ダイヤルを選び、信号を滑らかにするために0.1uFコンデンサを追加した。
LED
  • 当初はLEDを使う予定はなかったが、ディスプレイの控えめさを補うためにWS2812 LEDを使ってさまざまな状態を表示する。

ケース制作

  • ケースは2つのパーツで構成されており、プリント時に上部の縁がやや反る問題がある。これを解決するためにゴム足と重りを追加した。

ソフトウェア

  • C++で書かれており、Arduinoフレームワークを使用。GxEPD2ライブラリを活用してディスプレイを制御し、プロジェクトの一部コードはAIによって生成されている。

デバイスの使い方

  • デバイス起動時に設定変更またはプリセット選択モードに入ることができる。タイマーが開始するとLEDが点滅し、画面にメッセージが表示される。作業を続けるか休憩を始めることができ、数回の繰り返しの後にはより長い休憩時間が与えられる。

開発

ピンマッピング
ロータリーエンコーダー(KY-040)
  • CLK: 32
  • DT: 21
  • SW: 14
ePaperディスプレイ(GxEPD2_426_GDEQ0426T82, WaveShare 4.26" b/w)
  • BUSY: 4
  • RST: 16
  • DC: 17
  • CS: 5
  • CLK: 18
  • DIN: 23
LED(WS2812)
  • DIN: 25

1件のコメント

 
GN⁺ 2025-03-30
Hacker Newsの意見
  • このプロジェクトが本当に気に入った。UIがとても魅力的で、よく設計されている。週末の作業にぴったりだと思う

    • ハッカソン向けのプロジェクトを探しているなら、E-inkエコシステムはプログラミングするのに十分成熟している。Claude/AIでAPIを簡単に使える
    • 人々は一般的にE-ink画面をリビングに置くことを好む。バックライト付きディスプレイより邪魔になりにくいからだ
    • E-inkとpomodoroはそれぞれ自分の関心分野だ
  • 「デバイス」系のプロジェクトはいつも興味深い。目標が単純でも、最も挑戦的なことが多い

    • この画面の選択が気に入ったし、目的と使いやすさを考慮している点も良い
    • オブジェクトデザインについていくつかメモ
      • ノブが装置の上に広く平らに載っていれば、画面を中央に配置でき、装置を小さくできる
      • 角やフィレットは物を洗練されて見せる。小さなディテールだが大きな違いを生む
      • メニューに常に3つの選択肢があるなら、ノブの代わりに上部に3つのボタンを置くのはどうかと提案したい
      • 半透明フィラメントを使えば、素敵な「導光」パーツを作れる
    • ノブのデザインにOpenSCADを使ったのか気になる。ノブの模様がプログラムでうまく作られているように見える
  • 3つの異なるユースケースに焦点を当て、統計を提供しているのが良い追加要素だ

    • pomodoroが回転エンコーダー付きの物理タイマーに由来する名前であることにも触れるとよさそうだ
  • 知人が物理的なpomodoroタイマーで事業を始めようとしていた

    • オフィスで使う人向けの便利な追加機能として、装置の上部にLEDを付けて、画面を見なくても状態がわかるようにしていた
  • すばらしいプロジェクトだ。LVGLライブラリを確認してみることを勧める。組み込み向けグラフィックライブラリで、UIを作るのに役立つ

  • pomodoroというアイデア全体はキッチンタイマーに由来している。最高のUXは物理的なキッチンタイマーにある

  • 物理的なpomodoroタイマーを作る方法を考えている。残り時間が見えないのが良い。Visual Timerアプリを使っている

  • このプロジェクトがとても気に入った。自分の生産性ツールを実際のデバイスに移植することを考えさせられる

  • pomodoroタイマーに関連するものを見るたびに、YC創業者とのインタビューを思い出す。その会社は1年以内に潰れ、それ以来この手法を尊重できなくなった