ESP32搭載の小型ディスプレイで遠距離カップル向け「共有ホワイトボード」を製作

FabScene(ファブシーン)

遠距離恋愛中のパートナーに、ちょっとしたメッセージを送りたい。LINEやメールもいいけれど、手書きの落書きには独特の温かみがある。Tatuck氏が公開した「SmallTV Pro Remote Whiteboard」は、Webページに描いた絵がリアルタイムで相手のディスプレイに表示される、ESP32ベースの共有ホワイトボードシステムだ。

使用したのは「GeekMagic SmallTV Pro」という市販のガジェット。中身はESP32と240×240ピクセルのST7789Vディスプレイで、小さなテレビ型のフレームに収まっている。Tatuck氏はこのデバイスのファームウェアを書き換え、60秒ごとにサーバーから画像を取得して表示する仕組みに改造した。

サーバー側はCloudflare Workersで構築した描画用Webアプリケーション。ブラウザ上のキャンバスに絵を描くと、その画像がサーバーに保存される。2台のSmallTV Proがそれぞれ同じ画像を取得するため、一方が描いた絵が両方の画面に表示される仕組みだ。

試行錯誤の記録も公開

開発の過程で、いくつかのアプローチが失敗に終わった。最初に試したのはESPHome。設定ファイルベースでESP32を制御できるフレームワークだが、JPEG画像を処理する際に「Guru Meditation Error」というメモリエラーが頻発した。ESPHomeの抽象化レイヤーがメモリを消費しすぎたことが原因だ。

最終的にはArduino IDEに切り替え、Arduino_GFXとTJpg_Decoderというライブラリを直接使用することで、メモリ管理の問題を解決した。

静電容量タッチボタンによる輝度調整機能も試みたが、Wi-Fi通信時にタッチセンサーの読み取り値が0になる干渉が発生し、断念している。

GitHubリポジトリには、成功したArduinoファームウェアだけでなく、失敗したESPHomeの設定ファイルや、タッチボタンの実験コードも含まれている。「失敗から学ぶことも大切」という製作者のコメントとともに、同様のプロジェクトに取り組む人への参考資料として公開されている。

関連情報

GitHub – SmallTV Pro Remote Whiteboard

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!