ミニマルデザインの電子ペーパー天気表示デバイス「WeatherPaper」の作り方が、Instructablesで公開された。ESP32マイコンと2.9インチ電子ペーパーディスプレイを使用し、1回の充電で数カ月間動作する省電力設計が特徴だ。
WeatherPaperは、電子ペーパーディスプレイに現在の天気情報を常時表示し、バックライトやボタン、音などは一切ない静音設計となっている。
使用する主な部品はESP32-C3 Supermini開発ボード、WeAct製2.9インチ白黒電子ペーパーディスプレイモジュール、TP4056充電モジュール(昇圧機能付き)、8ピンJST 1.25mmコネクタだ。電子ペーパーディスプレイはSPIモードで接続し、GPIOピンは以下のように割り当てる。SDAをGPIO6、SCLをGPIO4、CSをGPIO7、D/CをGPIO1、RESをGPIO2、BUSYをGPIO3に接続する。
製作で特に重要なのがTP4056充電モジュールの電圧調整だ。3.7Vバッテリーを一時的に接続し、内蔵ポテンショメータを調整して出力電圧を正確に5V(許容範囲4.75V~5.25V)に設定する必要がある。この調整を怠るとESP32が破損し、電子ペーパーディスプレイに不具合が生じる可能性があるとしている。
省電力化のため、ESP32のディープスリープモードを活用している。さらに電源インジケータとして使用される赤色LEDも、クラフトナイフで慎重に除去することで消費電力を削減している。これらの工夫により、大容量バッテリーと組み合わせることで数カ月間の連続動作を実現している。
ケースはTinkerCADで設計された2パーツ構成で、メインケースとスナップオン式の蓋で構成される。3DプリントサービスのJLC3DPで8001 SLAレジンを使用して製作され、つや消しガラスのような仕上がりとなっている。背面には壁掛け用の四角い切り欠きも設けられている。
ソフトウェアはArduino IDEで開発され、GxEPDライブラリで電子ペーパーを制御し、WiFi.hとHTTPClientで天気データを取得する。天気情報はOpenWeatherMapのAPIから取得し、無料アカウントで利用可能だ。コード内でWiFi認証情報、都市名、APIキー、更新間隔を設定できる。
製作者は、このプロジェクトをベースにカラー表示対応、太陽光発電機能の追加、翌日の天気予報表示など、様々な改良を加えることを推奨している。静かで省電力なガジェットとして、デスク上のアンビエントデコレーションとしても機能する。