# Waveshare ESP32-S3 3.16 inch Display Development Board

waveshare社が制作しているESP32-S3シリーズの製品に関する記事です。  
開発環境とDEMOプログラムを実施しています。

waveshare社  
[https://www.waveshare.com](https://www.waveshare.com)

# 概要

Waveshare社の「ESP32-S3 3.16 inch Display Development Board」のテスト記事です。  
[https://www.waveshare.com/esp32-s3-lcd-3.16.htm?srsltid=AfmBOopPggCIAC7F56JY71jDe06gGVmuWBrhWALoudsOtTmsVcLbWL-4](https://www.waveshare.com/esp32-s3-lcd-3.16.htm?srsltid=AfmBOopPggCIAC7F56JY71jDe06gGVmuWBrhWALoudsOtTmsVcLbWL-4)

<span class="s1">Wiki  
</span><span class="s1">[https://www.waveshare.com/wiki/ESP32-S3-LCD-3.16](https://www.waveshare.com/wiki/ESP32-S3-LCD-3.16)</span>

[![レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/Mxve3rqive.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/Mxve3rqive.jpg)

  
[![スクリーンショット 2026-05-29 17.49.18.png](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/2026-05-29-17-49-18.png)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/2026-05-29-17-49-18.png)

[![スクリーンショット 2026-05-29 17.49.36.png](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/2026-05-29-17-49-36.png)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/2026-05-29-17-49-36.png)

概要

- <span class="s1">320×820 Pixels</span>
- <span class="s1">262K Color</span>
- <span class="s1">32-bit LX7 Dual-core Processor</span>
- <span class="s1">Up to 240MHz Frequency</span>
- <span class="s1">WiFi &amp; Bluetooth 5</span>
- <span class="s1">ESP32 With Display</span>

大きめのLCDとESP32-S3を組み合わせた開発用ボードという位置付けの商品の様です。

- ESP32-S3 (ESP32-S3R8)  
    &gt; 内蔵 384KB ROM、512KB SRAM  
    &gt; 内蔵 8MB Flash/PSRAM  
    &gt; dual-core 240MHz 32bit RISC-Vプロセッサ<span class="s1">ー</span>  
    &gt; WiFi 2.4GHz IEEE 802.11b/g/n  
    &gt; Bluetooth LE: Bluetooth 5, Bluetooth Mesh (オンボードアンテナ)
- 3.16インチLCDディスプレイ  
    &gt; 解像度320×820  
    &gt; 64Kカラー  
    &gt; RGB565通信インターフェース
- アンテナ  
    &gt; 2.4GHzのWi-FiおよびBluetooth 5(LE)を内蔵内アンテナ  
    &gt; 外部アンテナ設定用にははんだジョイントを内蔵
- 加速度センサーとジャイロセンサー搭載  
    &gt; QMI8658 6軸センサー(3軸加速度計と3軸ジャイロスコープ)
- 内蔵PCF85063 RTCチップ  
    &gt; 予備のSH1.0バッテリースロット
- RST(リセット) ボタン/BOOTボタン
- 充電制御  
    &gt; 接続 MX1.25  
    &gt; 制御IC ETA6098(リチウムイオン電池充電をサポート)
- Type-Cコネクタ(プログラム書き込みおよびログ出力用)
- 複数のI/Oインターフェースに対応、フルスピードUSB規格をサポート
- 低ドロップアウトレギュレータ  
    &gt; MP1605GTF-Z(最大2A、入力:2.3V～5.5V、最小出力:0.6V)  
    &gt; [https://www.monolithicpower.com/jp/mp1605.html](https://www.monolithicpower.com/jp/mp1605.html)  
    &gt; [![1__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/o5H1-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/o5H1-at.jpg)

ボードの部品状態

[![Pasted Graphic 7.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/pasted-graphic-7.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/pasted-graphic-7.jpg)

1. ESP32-S3R8  
    WiFiおよびBluetooth搭載SoC、最大240MHz動作周波数、オンボード8MB PSRAM
2. 16MB NORフラッシュメモリ
3. IPEX1コネクタ  
    基板上の抵抗を再はんだ付けし、外部アンテナの使用に切り替え可能
4. 内蔵セラミックアンテナ  
    2.4GHz Wi-Fi(802.11 b/g/n)およびBluetooth 5(LE)機能用
5. QMI8658センサー  
    6軸IMUは3軸ジャイロスコープと3軸加速度計を含む
6. PCF85063  
    リアルタイムクロックチップ
7. アルタイムクロックチップ用電池ヘッダー
8. SH1.0 4PIN I2C ヘッダー
9. MX1.25 4PIN USB ヘッダー
10. SH1.0 4PIN UART ヘッダー
11. RST(リセット) ボタン
12. BOOTボタン  
    BOOTボタンを押し続けながら、RSTボタンをクリックするとダウンロードモード
13. スライドスイッチ  
    システム電源ON/OFF用
14. TFカードスロット  
    TFカードは使用前にFAT32でフォーマット
15. Type-Cコネクタ  
    ESP32-S3 USBインターフェース(プログラム書き込みおよびログ出力用)
16. MX1.25 バッテリーヘッダー  
    MX1.25 2ピンコネクタ、3.7Vリチウム電池用、充電・放電対応
17. スタンドオフ  
    M2×3.5×3.5+2.0×1.2

インターフェース

[![2__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/auQ2-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/auQ2-at.jpg)

# 主な仕様

##### ESP32-S3R8

&gt; ESP32-S3 Series Datasheet Version 2.1 からの抜粋

[https://documentation.espressif.com/esp32-s3\_datasheet\_en.pdf](https://documentation.espressif.com/esp32-s3_datasheet_en.pdf)

[![3__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/IOv3-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/IOv3-at.jpg)

主な機能一覧

- 2.4 GHz帯 IEEE 802.11b/g/n  
    &gt; 20 MHzおよび40 MHzの帯域幅  
    &gt; 1T1Rモード、最大データレート150 Mbps
- Bluetooth<span class="s1">®  
    &gt; Bluetooth LE: Bluetooth 5  
    &gt; Bluetooth mesh  
    &gt; 最大送信パワー 20 dBm (100mW)  
    &gt; Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps</span>
- <span class="s1">CPU  
    &gt; デュアルコア32ビットLX7マイクロプロセッサ(RISC-V)  
    &gt; 最大 240 MHz  
    &gt; 4段 バイブライン構造</span>
- <span class="s1">メモリ  
    &gt; ROM: 384 KB  
    &gt; SRAM: 512 KB  
    &gt; SRAM in RTC: 16 KB</span>
- <span class="s1">各種IO  
    &gt; 45個のプログラム可能なGPIO  
    &gt; 3 \* UART  
    &gt; 2 \* I2C  
    &gt; 2 \* I2S  
    &gt; 1 \* LCDインタフェース  
    &gt; 1 \* 8ビット～16ビット DVPカメラインターフェース  
    &gt; 2 \* SPI  
    &gt; 2 \* 汎用SPI  
    &gt; 1 \* TWAI ISO 11898-1 (CAN Specification 2.0)  
    &gt; 1 \* フルスピードUSB OTG  
    &gt; 1 \* USB Serial/JTAG コントローラー  
    &gt; 2 \* SD/MMCホストコントローラー  
    &gt; 8 \* LED PWMコントローラー  
    &gt; 2 \* モーター制御PWM(MCPWM)  
    &gt; 1 \* RMT (TX/RX)  
    &gt; 1 \* パルスカウントコントローラー  
    &gt; 2 \* 12-bit SAR ADC (逐次比較型) (最大20チャンネル)  
    &gt; 1 \* 温度センサー  
    &gt; 14 \* 静電容量式タッチセンシング入出力端子  
    &gt; 4 \* 54ビット汎用タイマー  
    &gt; 1 \* 52ビットシステムタイマー  
    &gt; 3 \* ウォッチドッグタイマー</span>
- <span class="s1">電力管理  
    &gt; コンポーネントの電力制御(クロック周波数、デューティサイクル、Wi-Fi動作モード、個別内部コンポーネント制御)  
    &gt; 電力モード-4種：アクティブ、モデムスリープ、ライトスリープ、ディープスリープ  
    &gt; ディープスリープモード時の消費電力は7µA  
    &gt; ディープスリープモード時でもRTCメモリは通電状態を維持</span>
- <span class="s1">セキュリティ  
    &gt; セキュアブート - 内部および外部メモリへのアクセス権制御  
    &gt; フラッシュ暗号化 - メモリの暗号化および復号化  
    &gt; 暗号ハードウェアアクセラレーション：  
     – AES-128/256(FIPS PUB 197)  
     – SHA (FIPS PUB 180-4)  
     – RSA  
     – RNG(乱数生成器)  
     – HMAC  
     – デジタル署名</span>
- <span class="s1">RFモジュール  
    &gt; アンテナスイッチ、RFバラン、パワーアンプ、低雑音受信増幅器  
    &gt; 802.11b 伝送時最大 +21 dBmの出力  
    &gt; 802.11ax伝送時最大 +19.5 dBmの出力  
    &gt; Bluetooth LE受信機（125 Kbps）時最大 -106 dBmの感度</span>
- <span class="s1">ESP32-S3R8  
    </span>[![4__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/mUJ4-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/mUJ4-at.jpg)
- 8MB PSRAM (Quad SPI接続)
- 動作温度 -40度～65度
- LCD画面パラメータ  
    [![5__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/ZJc5-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/ZJc5-at.jpg)

# 開発環境の構築

開発環境のインストールを実施します。

Arduino IDE 2 に環境をインストールしていきます。

ESP32 Development Board<span class="s1">のインストール</span>

<span class="s1">Arduino IDE</span>で<span class="s1">ESP32</span>関連のマザーボードを使用する前に、<span class="s1">Espressif Systems</span>開発ボード用の<span class="s1">esp32</span>ソフトウェアパッケージをインストールする必要があります。

<p class="callout info">[Waveshare ESP32-S3 1.64 inch AMOLED Touch Display Development Board](https://book.a10-objects.jp/books/esp32/chapter/waveshare-esp32-s3-164-inch-amoled-touch-display-development-board "Waveshare ESP32-S3 1.64 inch AMOLED Touch Display Development Board")と基本的には同じ様に構築しテストします。</p>

<span class="s1">DEMO</span>プログラムを動作させるには次のライブラリをインストールする必要が有ります。

<table border="1" id="bkmrk-lvgl-graphical-libra" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 8.46246%;"></col><col style="width: 18.3552%;"></col><col style="width: 10.6128%;"></col><col style="width: 62.5695%;"></col></colgroup><tbody><tr><td>lvgl</td><td>Graphical library</td><td>v8.4.0

</td><td>"Install Online" (demos フォルダを src にコピーします)

</td></tr></tbody></table>

アップデート確認とアップデートのインストール  
(今回は最新版の3.3.5に更新します。)

[![Pasted Graphic 7.png](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/cOTpasted-graphic-7.png)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/cOTpasted-graphic-7.png)

ボードとポートの選択

ボード: ESP32S3 Dev Mocule  
ポート:

[![6__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/uFF6-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/uFF6-at.jpg)

[![7__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/Gx37-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/Gx37-at.jpg)

[![8__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/DfZ8-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/DfZ8-at.jpg)

# 動作テスト

Hello, World! で動作を確認します。

```c++
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
 // put your main code here, to run repeatedly:
  Serial.println("Hello, World!");
  delay(2000);
}

```

シリアルモニタの出力結果

[![9__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/uxX9-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/uxX9-at.jpg)

# DEMOプログラム

##### DEMOプログラム

DEMOプログラムを以下のURLからダウンロードしテストします。

[https://drive.google.com/file/d/1fsIRFZ7HQxAZFpMyKR3LApBGr8H7ttXK/view?usp=sharing](https://drive.google.com/file/d/1fsIRFZ7HQxAZFpMyKR3LApBGr8H7ttXK/view?usp=sharing)

##### 01\_ADC\_Test

システムの電流電圧値を読み取りコンソールに出力するテストプログラムです。

以下のライブラリを使用  
 lvgl v9.1.0

結果  
コンソール出力結果 &gt;&gt;

[![10__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/DTL10-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/DTL10-at.jpg)

##### 02\_PCF85063\_Test

I2Cプロトコルを使用して、PCF85063チップを初期化し、時刻を設定してから定期的に時刻を読み、コンソールに出力するテストプログラムです。vido i2c\_rtc\_loop\_task(void \*arg):RTC機能を実装するためのRTCタスクを作成し、1秒ごとにRTCチップの時計を読み取り、それをコンソールに出力します

以下のライブラリを使用  
 lvgl v9.1.0

結果  
コンソール出力結果 &gt;&gt;

[![11__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/4n311-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/4n311-at.jpg)

##### 03\_QMI8658\_Test 

I2Cプロトコルを使用して、QMI8658チップを初期化し、200ミリ秒ごとに対応する態度情報を読み取り、コンソールに出力するテストプログラムです。vido i2c\_qmi\_loop\_task(void \*arg):態度情報を取得するためのQMIタスクを作成します。タスクでは、加速度センサーとジャイロスコープのデータを読み取って印刷し、得られた結果を200ミリ秒間隔でシリアルポートコンソールに出力します。

以下のライブラリを使用  
 lvgl v9.1.0

結果  
コンソール出力結果 &gt;&gt;

[![12__#$!@%!#__レイヤー.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/12-at.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/12-at.jpg)

##### 04\_SD\_Card

SDMMC経由でTFカードを駆動し、正常に取り付けた後にTFカードへログ出力します。

 sdcard\_init(void):4線式SDMMC方式を使用してTFカードを初期化します。  
 loop():TFカードの読み取りおよび書き込み関数をテストするには、コメントを控える必要があります#define sdcard\_write\_Testマクロ定義。

以下のライブラリを使用  
 lvgl v9.1.0

結果  
コンソール出力結果 &gt;&gt;

06:05:33.043 -&gt; Name: SA16G  
06:05:33.043 -&gt; Type: SDHC  
06:05:33.043 -&gt; Speed: 40.00 MHz (limit: 40.00 MHz)  
06:05:33.043 -&gt; Size: 14832MB  
06:05:33.043 -&gt; CSD: ver=2, sector\_size=512, capacity=30375936 read\_bl\_len=9  
06:05:33.043 -&gt; SSR: bus\_width=1

##### 04\_sd\_card\_SDMMC

TFカードへの書き込み/読み出しテスト、Arduinoライブラリのみを使用します。

結果  
コンソール出力結果 &gt;&gt;

```bash
04_sd_card_SDMMC 2026-01-03 23:02

SD Card Type: SDHC
SD Card Size: 14832MB
Deleting file: /foo.txt
File deleted
Deleting file: /test.txt
File deleted
Listing directory: /
Creating Dir: /mydir
Dir created
Listing directory: /
  DIR : mydir
Removing Dir: /mydir
Dir removed
Listing directory: /
Writing file: /hello.txt
File written
Appending to file: /hello.txt
Message appended
Reading file: /hello.txt
Hello World!
Renaming file /hello.txt to /foo.txt
File renamed
Reading file: /foo.txt
Hello World!
File not found, creating: /test.txt
1048576 bytes read for 342 ms
1048576 bytes written for 769 ms
Total space: 14824MB
Used space : 4MB

```

##### 05\_WIFI\_AP

このデモプログラムは開発ボードをホットスポットとして設定でき、STAモード内の電話機やその他のデバイスが開発ボードに接続できるようにします。

結果  
コンソール出力結果 &gt;&gt;

\----------------------------------------------  
05\_WIFI\_AP 2026-01-03 23:02

WiFi AP Started  
AP IP Address: 192.168.4.1  
Connected Devices: 0 &gt;&gt; このデバイに接続指定なので何も出ない  
Connected Devices: 0

##### 06\_WIFI\_STA

この例では、開発ボードをSTAデバイスとして設定してルーターに接続し、システムネットワークにアクセスできるようにすることができます。

結果  
コンソール出力結果 &gt;&gt;

\----------------------------------------------  
06\_WIFI\_STA 2026-01-03 23:36  
Connecting to WiFi  
......  
IP Address: 192.168.1.154

今回のテストプログラムの動作テストはここまでです。表示関係のテストは実施していませんが、別のテストプログラムを作成しています。

##### LVGL TEXT

 lvgl v9.1.0 使用して TEXT を描画してテストしています。

[![TEXT.jpg](https://book.a10-objects.jp/uploads/images/gallery/2026-05/scaled-1680-/text.jpg)](https://book.a10-objects.jp/uploads/images/gallery/2026-05/text.jpg)