インターフェースから考える
ESP32-S3 の LCD ペリフェラルは SPI、QSPI、8080 パラレル(I80)、16 ビット RGB に対応しています。それぞれに適した解像度の範囲があります。
インターフェース | 代表的なパネル | 解像度 | PSRAM は必要? |
|---|---|---|---|
SPI | ST7789, ILI9341, GC9A01 | 240×240~320×240 | 不要 |
QSPI | 丸型 LCD/AMOLED | 360×360, 466×466 | あると便利 |
8080 (I80) | ST7796S, ILI9488 | 320×480 | 不要 |
RGB 16-bit | ST7701S、汎用 40 ピン | 480×480~800×480 | 必要(オクタル) |
RGB に PSRAM が必要な理由
RGB パネルは内部にフレームメモリを持ちません。ESP32-S3 はフレームバッファからすべてのピクセルを連続的にリフレッシュする必要があり、800×480 の RGB565 では 750 KB になります。これは PSRAM にしか収まらず、PSRAM の帯域は CPU や Wi-Fi と共有されます。表示ずれを防ぐため、esp_lcd でバウンスバッファを有効にし、ピクセルクロックは控えめ(約 12~16 MHz)にしてください。
実績のある組み合わせ
- スマートホームの壁面パネル:4″ 480×480 ST7701S + GT911。
- 卓上 HMI:5″ 800×480 RGB + GT911。
- ノブまたはウェアラブル:SPI 接続の 1.28″ GC9A01 丸型。
- コンパクトなステータス表示:SPI 接続の 1.54″~2.4″ ST7789V。
ソフトウェアスタック
ESP-IDF の esp_lcd コンポーネントはこれらすべてのインターフェースに対応し、その上で LVGL が UI を担います。ESPHome も Home Assistant プロジェクト向けに同じパネルの多くをサポートしています。
ESP32-S3 では足りない場合
1024×600 以上、動画、MIPI DSI パネルには、ESP32-P4(MIPI DSI ホスト)か RK3566/RK3568 などの Linux SoC に移行してください。
詳しくはESP32-S3 ディスプレイ互換性をご覧ください。
よくある質問
ESP32-S3 で駆動できる最大のディスプレイは?
実用上は、オクタル PSRAM を使った 16 ビット RGB で 800×480 です。1024×600 も可能ですが、アプリケーションと Wi-Fi に使えるメモリ帯域がほとんど残りません。
ESP32-S3 のディスプレイに PSRAM は必要ですか?
オンチップメモリを持つ SPI や QSPI のパネルには不要です。RGB パネルにはフルフレームバッファが必要なため、オクタル PSRAM が事実上必須です。
ESP32-S3 に最適なタッチコントローラは?
I2C 接続の GT911 や FT6336 クラスの静電容量式コントローラは、ESP-IDF、LVGL、ESPHome で十分にサポートされています。