本文へスキップ
Display Engineer
ドライバ IC · Sitronix

ST7789V:データシート、ピン配置、初期化コード

ST7789V は最大 240×320 のディスプレイ用のオンチップ GRAM 内蔵シングルチップ TFT ドライバで、4 線式 SPI で駆動する 1.3″~2.4″ の IPS モジュールで広く使われています。

DEDisplay Engineer Applications Team · ディスプレイ アプリケーションエンジニアエンジニア確認済み(2026年10月11日)
メーカーSitronix
種類ディスプレイドライバ
インターフェースSPI / MCU(8080 パラレル) / RGB(パラレル)
最大解像度240×320

ST7789V とは?

ST7789V は Sitronix 製の TFT LCD ソース・ゲートドライバで、フレームメモリ(GRAM)を内蔵しています。画像はドライバ内に保持されるため、マイコンは変化したピクセルだけを送ればよく、自前のフレームバッファは不要です。そのため ST7789V モジュールは ESP32、STM32、RP2040、Arduino クラスのボードで人気があります。

どのインターフェースを使うべきか

インターフェース

ピン数

主な用途

4-wire SPI

4–5

ほとんどのモジュール。配線が簡単、最大 約 60 MHz

8080 パラレル(MCU)

12–20

FSMC/FMC 搭載 MCU での高速な全画面リフレッシュ

RGB

18–24

小型モジュールではまれ。動画のようなリフレッシュ

よくある立ち上げの問題

  1. 白画面または黒画面:リセットのタイミングと、SLPOUT の後 DISPON の前に 120 ms 待っているかを確認します。
  2. 色がおかしい:INVON/INVOFF と MADCTL の BGR ビットを切り替えます。
  3. 画像のずれ:240×240 や 135×240 のパネルでは正しい列/行の開始位置を設定します。
  4. ティアリング:モジュールに TE ピンが引き出されていれば使います。

手順ごとのチェックリストはTFT 白画面トラブルシューティングガイドをご覧ください。

ST7789V 初期化コード

ST7789V minimal init (SPI, RGB565)c
// Reference init sequence. Adjust MADCTL, inversion and offsets per panel.
write_cmd(0x01);              // SWRESET
delay_ms(150);
write_cmd(0x11);              // SLPOUT
delay_ms(120);
write_cmd(0x3A); write_data(0x55);   // COLMOD: 16-bit RGB565
write_cmd(0x36); write_data(0x00);   // MADCTL: rotation / RGB order
write_cmd(0x21);              // INVON: most IPS panels need inversion
write_cmd(0x13);              // NORON
write_cmd(0x29);              // DISPON
delay_ms(20);

ST7789V のライブラリ対応

ライブラリドライバ / クラス備考
TFT_eSPI (Arduino)ST7789_DRIVER
LovyanGFX (Arduino / ESP-IDF)lgfx::Panel_ST7789
ESP-IDF esp_lcdesp_lcd_new_panel_st7789() (built in)
注記多くの ST7789 パネルでは色反転を有効にする必要があります。
ST7789V の設定テンプレートをダウンロード

User_Setup_ST7789V.h · LGFX_ST7789V.hpp. ピンは仮の値です。検証済みの設定を追加した際はメールでお知らせします。

ST7789V を使用した開発ボード

ST7789V を使用したディスプレイモジュール

ST7789V トラブルシューティングと FAQ

ST7789 ディスプレイの色が反転するのはなぜですか?

ST7789V 搭載の IPS パネルのほとんどは、ディスプレイ反転の有効化(コマンド 0x21、INVON)が必要です。写真のネガのような色なら反転を切り替え、赤と青が入れ替わっているなら MADCTL(0x36)の RGB/BGR ビットを変更してください。

ST7789V はどのくらいの SPI クロックに対応できますか?

多くのモジュールは、配線が短ければ 40~62.5 MHz の SPI で安定して動作します。20 MHz から始めて画像を確認し、乱れがないか確かめながら上げていってください。

240×240 の画像が 80 ピクセルずれるのはなぜですか?

ST7789V のフレームメモリは 240×320 です。240×240 のパネルでは回転によって CASET/RASET で行または列のオフセット(多くは 80)が必要になり、ほとんどのライブラリは rowstart/colstart の設定として提供しています。

どのディスプレイが設計に合うか迷っていませんか?

サイズ、インターフェース、ホストプロセッサをお知らせください。ディスプレイエンジニアが 12 時間以内に、データシートと初期化コード付きで 2〜3 件の候補をお返しします。サンプルは 1 個から。