M5Stack Tab5 ST7123版で気になった変化点

2025/10頃にM5Stack Tab5のLCDコントローラーとTouchコントローラーがILI9881C+GT911からST7123の統合ICに変更になりました。
BIG NEWS!
— IAMLIUBO (@its_hard_2_name) October 13, 2025
We are use new panel for new batch Tab5, please be care of this, if you saw the ST7123 on the sticker, please use M5GFX ≥ 0.2.15.https://t.co/dgGjHFerGS pic.twitter.com/lLWmxY5YRH
サプライチェーンの問題とかなら仕方ないと思うんですけど、そういう情報が特になかったのであんまり歓迎できない変更だなーと思いつつ、ドライバ周りを触ってる身としては変化点が気になったので1つ仕入れてみました。
なので、色々と以前作ったものをST7123対応させていく中で気になったことを書いていこうと思います。
購入時期
今回は自分の手元にある以下2つのTab5を比較します
- 5/9(Tab5発売日)にSwitch Scienceで購入したもの (記事内では「初期版」と表記)
- 12月にM5Stack公式オンラインストアで購入したもの (記事内では「ST7123版」と表記)
ちなみにM5Stack公式オンラインストアで購入したのは、Switch ScienceのTab5のページが更新されてなくて、おそらくまだILI9881Cのモデルを売ってそうだなーって思ったからです。
外観
まずは外見から分かる違いから
外箱

左が初期版、右がST7123版の外箱です。特に違いはありません。
これ更新されてないのでTouch Panelの項目がGT911のままなんですよね。ここは書き換えておいてほしいところでした。
ステッカー

案内されている通り、本体裏側のステッカーを見るのが正確な判断方法になります。
5" IPS-LCDの部分がILI9881CだったのがST7123になってます。GT911の表記が元々なかったので、LCD以外の表記の違いは特になさそうです。
画面の反射

左がST7123版、右がILI9881Cの初期版です。
上の写真は保護フィルムを貼ったものなので、比較としてはあまり適切ではないのですが、ST7123版のほうが反射が抑えられていて黒に近いように思います。
コントローラーだけじゃなく、パネルも含めてまるっと変わってるんでしょうね。
ESP32-P4
初期版のESP32-P4はRevision v1.0、ST7123版にはRevision v1.3が使われていました。
I (27) boot: ESP-IDF v5.4.3-dirty 2nd stage bootloader
I (28) boot: compile time Jan 5 2026 20:17:10
I (28) boot: Multicore bootloader
I (29) boot: chip revision: v1.3
I (31) boot: efuse block revision: v0.3とはいえ、v1.0とv1.3の違いは半導体ウェハのメタル層の調整だけで、電力効率が上がった以外には特に変化点はありません。
両方ともECO2と呼ばれるバージョンで、エラッタの修正はなく、IDF上での区別もありません。
(400MHzのCPUクロックの動作保証がされたり、PSRAMが250MHzで動作するようになったりもしません。)
なのでSW設計的には違いがない認識でいいと思います。
タッチパネル
GT911からST7123に変更になっています。とはいえ、両者ともI2Cで通信していて接続されているGPIOピンも同じです。なので、基本的にドライバを置き換えるだけでそれ以外の変更は特に不要です。
I2CのアドレスがGT911は 0x14, ST7123は 0x55 となっているので、i2c_master_probeを使ってここに機器が接続されているかどうか検証することで、Tab5がどっちのモデルなのか判定することができます。
1つ注意しなきゃいけない点として、LCD側の設定を間違えるとタッチパネルが動作しなくなるケースがあることです。そのあたりは次のLCDのところで説明します。
ところで気になったのが、GT911のドライバ周りにあったSleepモードの制御がST7123ではなくなっていることですね。
GT911にはGesture Modeとかありましたが、そのあたりST7123のデータシートには記述がなさそう。
なので、普段はESP32-P4をスリープさせて、タッチした際に割り込みで復帰させて省電力化したいようなケースではGT911のものを使うのが安定なように思います。
(実際にこのあたりテストしたわけじゃないから詳しいことはわからないけどね。)
LCD
というわけで問題の箇所です。
映り
自分は製品レビューやデザインをやっている人間ではなく、測定機器を使った検証はやってないので、あくまで目で見た主観的な内容であることご了承ください。

まず、画面の映りに関してですが、写真だと分かりにくいですがST7123のほうが少し明るく、色温度が高いように見えました。ST7123の画面が青っぽいというより、ILI9881Cの初期版のほうが白の映りが悪いって言ったほうが正確かな。
なので、見た感じST7123版の方がちょっと映りはいいと思いました。

そして視野角について、こちらも写真だと分かりにくいですが、実際に見て比較すると結構違います。ILI9881Cの初期版の方は長辺の方向の視野角が狭くてすぐに暗くなるのに対して、ST7123版は斜めから見てもちゃんと明るいままです。
なので、これに関しては間違いなくST7123版の方がいいですね。
まあTab5でそこまで画質気にすることもないかとは思いますが。
リフレッシュレート・Video Timing
M5Tab5-UserDemoの設定値だと、初期版のILI9881Cはリフレッシュレートが48Hzくらいに設定されていたのに対し、ST7123では58Hzくらいに設定されています。
ILI9881Cのデータシートには50~60Hz対応って書いてあったもののST7123のデータシートには60しか書いてなくて、どうかなーと思ってましたが、45Hzくらいまで下げても大丈夫そうだったので、PSRAMの帯域を節約するために50Hzくらいまでリフレッシュレートを落とすのはありだと思います。
一方で、厄介なのがVideo Timingです。
VSync Front Porchの値が220ライン分という大きい値に設定されています。
そして、なんでかはよく分からないんですけど、これを小さくするとタッチパネルが動作しなくなります。
ちなみに、なぜここの値を小さくしたいかというと、Back PorchとかFront Porchって、データを送らずに待機する時間のことなので、これが長いとその分残りの時間でより高速にデータ転送を終わらせる必要があって負荷が高くなるからです。
クロックが速くなるだけならちょっと消費電力が上がるとかその程度なんで別にいいんですけど、LCDに対してより高速にデータを転送する必要があるということは、つまりフレームバッファのデータをより高速に読み出す必要があるということで、つまりはPSRAMの帯域がしんどくなるって話です。
PPAとかHW Jpeg Codecとかをガンガン回してPSRAMを使いまくっていると、PSRAMからフレームバッファの読み出しが間に合わなくなってLCDに映像を伝送できず、画面表示が青くなるというのはILI9881Cの頃からあったのですが、ST7123ではそれが更に厳しくなり、ILI9881Cでは耐えれていたデータ量でもST7123では無理ってことがあります。
具体的に遭遇したケースでいうと、HW Jpeg Decoderを使って720p RGB888 60fps描画していたのはILI9881Cだと大丈夫だったけどST7123だとダメでした。なので、ST7123では少しリフレッシュレートを落とすことで回避しています。
というわけで、基本的にM5GFXとかのデフォルトのRGB565で描画しているなら問題は踏むことはないでしょうが、RGB888で描画するとか、PSRAMに負荷かけまくるような処理をするときはここちょっと注意です。
あと気になる挙動
HW Jpeg Codec (DMA2D) が止まる
なんでか分からないんですけど、ST7123版でだけJPEG Decode開始時にDMA2D TxのリセットができずにISRで固まってWDTで落ちるという挙動に遭遇しました。
発生頻度も謎で、起きるときはすぐ起きるのに、起きないときは全然起きないという厄介なパターン。(もちろんIDFのバージョン変えたりとかも色々試してる)
HWの個体差なのか、IDFの不具合なのか、ST7123版Tab5固有の問題なのかが全然分からず、暫定の回避策としてHALをいじって固まらない/落ちないようにだけしました。
なんなんだろうねこれ




