素性不明の安価な液晶付きESP32を診断、1本のファームで正しい設定を割り出す

液晶画面とタッチパネルが付いたESP32ボードが、数百円から千円台で買える。「Cheap Yellow Display(CYD)」と通称されるこの基板は安くて手を出しやすいが、落とし穴がある。同じ見た目でも中身のディスプレイ制御チップや配線が微妙に違う変種が数多く出回っており、買った1枚がどの型で、どう設定すれば正しく映るのかが分かりにくい。色が反転する、画面が上下逆になる、タッチの座標がずれる、といったつまずきの原因を切り分けるのに、多くの人が手間取ってきた。

HenrysCat氏が公開した「CYD Hardware Diagnostic Tool」は、この素性不明のCYDを1本のファームウェアで診断し、正しい設定を割り出すオープンソースのツールだ。ESP32に書き込むと、20画面の診断メニューがタッチ操作で開き、ディスプレイやタッチ、SDカード、RGB LED、光センサー、スピーカー、Wi-Fiなど、基板上の部品を1つずつ確かめられる。最後に、そのボードの構成をまとめたレポートを画面とシリアル出力に表示し、SDカードへテキストで保存もできる。GitHubの質問投稿にそのまま貼れる形式だ。

最大の特徴は、1枚のファームで幅広い変種に対応する点だ。ディスプレイ制御チップのILI9341とST7789の切り替え、画面の回転、色順(RGB/BGR)、反転、左右反転を、すべて再コンパイルなしで動作中に切り替えられる。設定はESP32内の不揮発メモリ(NVS)に保存されるため、一度合わせれば次回以降もその設定で起動する。対応をうたうのは、定番のESP32-2432S028RとST7789版のJC2432W328、SuntonやGuitionのクローンなどだ。開発環境はPlatformIOとArduino、描画ライブラリのTFT_eSPIを使い、GUIライブラリのLVGLは使わずに実装した。

技術的な工夫もいくつか盛り込まれている。ディスプレイのSPI通信速度を20/27/40/80MHzで順に試し、読み戻しで壊れずに動く上限を自動で見つけて、推奨値としてレポートに載せる。ドライバを切り替えたときは、新しい設定が10秒以内に確認されなければ自動で元に戻す安全策も入れた。タッチの座標がずれて操作不能になった基板でも、BOOTボタンを押しながら電源を入れれば、タッチ操作なしで校正画面へ直接入れる。初回起動時には設定を導く「セットアップウィザード」が立ち上がり、はい・いいえの質問に答えるだけでドライバや色順、回転などが決まり、その結果が保存される。

レポートには、判定したボードに合わせた推奨のTFT_eSPI設定がそのまま出力されるため、自作の別プロジェクトへ設定を移すのも容易だ。ライセンスはMITで、ソースコードはGitHubで公開されている。バージョン1.0.0は2026年7月19日にリリースされた。安く買ったものの設定でつまずいていたCYDが引き出しで眠っている人には、素性を見極めて動かし直す糸口になるだろう。

関連情報

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

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

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次