ESP32 概要 低価格のWi-Fiモジュール(ESP32シリーズ)を使用した機器関連のカテゴリーです。 一部【古い-転載記事】を含みます。 ESP32 ESP32関連 低価格のWi-Fi低価格のWi-Fiモジュール(ESP32シリーズ)を使用した機器関連のカテゴリーです。 Arduino開発とLチカ 【古い-転載記事】 概要 Arduino開発&Lチカ 【古い-転載記事】 『ESP32-DevKitC のArduino開発環境インストールとLチカ実行』 この文書は次のコミュニテイのために作成しました。 ESP32関連のArduino開発環境はネット上に多々公開されているので、新しく作成する必要もないのですが広島で開催するハードウエアのコミュニテイ用に作成しました。 Solid State Science Hiroshima ハードウェア勉強会  注意 : 現在は活動終了(2026年4月22日) 作成日時 2018-06-23 17:38 更新日時 2018-06-25 10:33 Solid State Science Hiroshima #2 更新日時 2018-06-23 19:01 ESP32開発元 https://www.espressif.com ESP32-DevKitC https://www.espressif.com/en/products/hardware/esp32-devkitc/overview ESP32-DevKitC V4 Getting Started Guide http://esp-idf.readthedocs.io/en/latest/get-started/get-started-devkitc.html Arduino with ESP32 https://github.com/espressif/arduino-esp32 ESP32の開発ボードの例(秋月電子通商) http://akizukidenshi.com/catalog/g/gM-11819/ ESP32-DevKitC (ESP-WROOM-32 )をArduino開発環境で開発するためのインストールとLチカまでの手順です。基本的にmacOSとWinでは同一の手順でインストールできます。 開発環境のダウンロード ESP32-DevKitC用のシリアルドライバーをダウンロード 開発環境(Arduino)のインストール ESP32-DevKitC用のドライバーをインストール EPS32関連のArduino環境をインストール Lチカ配線 プログラム&実行 macOS 10.13 Arduino 1.8.5 開発環境の構築 開発環境の構築 【1.開発環境のダウンロード】 https://www.arduino.cc SOFTWARE DOWNLOAD IDE 該当するPC(ここではmacOS)用のIDEをダウンロードする。 macOS ダウンロード ダウンロード結果(例) Arduino 1.8.5 arduino-1.8.5-macosx.zip Mac OS X 10.7 Lion or newer arduino-1.8.5-windows.zip Windows app Requires Win 8.1 or 10 【2.ESP32-DevKitC用のシリアルドライバーをダウンロード】 今回使用するESP32の開発ボード http://akizukidenshi.com/catalog/g/gM-11819/ 回路図からUSBシリアルの使用ICは「CP2102(Silicon Laboratories)」です。 (主な使用にも明記) シリアル⇔USB変換チップ: CP2102(Silicon Laboratories) Silicon Laboratories社のWebページから該当PC用のUSBドライバーをダウンロードします。 CP210x USB - UART ブリッジ VCP ドライバ https://jp.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers macOS用 Release Dates ------------- CP210x Macintosh OSX VCP Driver 5.0.4    - January 19, 2018 CP210x Macintosh OSX VCP Driver 5.0.3    - November 21, 2017 CP210x Macintosh OSX VCP Driver 5.0.2    - October 12, 2017 ,,,,,,,,,,,,,,,,,, ダウンロード-ドライバー Mac_OSX_VCP_Driver.zip 【3.開発環境(Arduino)のインストール】 ダウンロードファイルの展開 アプリケーションフォルダへ移動(もしくは コピー) アプリケーションの起動を確認 基本ライブラリを最新へUpdate。  > 「ボードマネージャー…」を選択 「アップデート可能」のライブラリを確認しすべてをアップデート 最新へアップデート 【4.ESP32-DevKitC用のドライバーをインストール】 ESP32-DevKitCを接続してUSBの状態をターミナルで確認 $ ls -l /dev/tty.* crw-rw-rw-  1 root  wheel   32,   0  6 22 10:28 /dev/tty.Bluetooth-Incoming-Port PC用のUSBドライバーを展開 インストールの実行 インストール後、ターミナルで確認。 $ ls -l /dev/tty.* crw-rw-rw-  1 root  wheel   32,   0  6 22 10:28 /dev/tty.Bluetooth-Incoming-Port crw-rw-rw-  1 root  wheel   32,   2  6 22 12:09 /dev/tty.SLAB_USBtoUART $  インストール後、アプリ「Arduino」で確認。   ツール > シリアルポート > /dev/tty.SLAB_USBtoUART 一度「終了」。 【5.EPS32関連のArduino環境をインストール】 ESP32 サイト https://github.com/espressif/arduino-esp32 ESP32関係はArduinoのボードマネージャーではインスツールできないのでESP32のWebページのスクリプトに従ってインストールする。 インストールスクリプト https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/mac.md ターミナルで次を実行 mkdir -p ~/Documents/Arduino/hardware/espressif && \ cd ~/Documents/Arduino/hardware/espressif && \ git clone https://github.com/espressif/arduino-esp32.git esp32 && \ cd esp32 && \ git submodule update --init --recursive && \ cd tools && \ python get.py 実行結果 MacBookPro13-VMWare-Arduino:~ 管理者$ mkdir -p ~/Documents/Arduino/hardware/espressif && \ > cd ~/Documents/Arduino/hardware/espressif && \ > git clone https://github.com/espressif/arduino-esp32.git esp32 && \ > cd esp32 && \ > git submodule update --init --recursive && \ > cd tools && \ > python get.py macOSのむXcode環境でESP32に不足している場合には新しいデベロッパーツールが必要になる。 Xcodeを使用していない場合も同様。 お約束の「使用許諾書」の同意。 ダウンロード インストール完了 xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools. $  Xcodeのツールをインストール後に再度実行。 $ mkdir -p ~/Documents/Arduino/hardware/espressif && cd ~/Documents/Arduino/hardware/espressif && git clone https://github.com/espressif/arduino-esp32.git esp32 && cd esp32 && git submodule update --init --recursive && cd tools && python get.py Cloning into 'esp32'... remote: Counting objects: 8051, done. remote: Compressing objects: 100% (60/60), done. …….. …….. …….. Receiving objects: 100% (8051/8051), 115.51 MiB | 727.00 KiB/s, done. Resolving deltas: 100% (4685/4685), done. Submodule 'libraries/AzureIoT' (https://github.com/VSChina/ESP32_AzureIoT_Arduino) registered for path 'libraries/AzureIoT' Submodule 'libraries/BLE' (https://github.com/nkolban/ESP32_BLE_Arduino.git) registered for path 'libraries/BLE' Cloning into '/Users/管理者/Documents/Arduino/hardware/espressif/esp32/libraries/AzureIoT'... Cloning into '/Users/管理者/Documents/Arduino/hardware/espressif/esp32/libraries/BLE'... Submodule path 'libraries/AzureIoT': checked out '67dfa4f31ef88b0938dd87d955612100dea5562e' Submodule path 'libraries/BLE': checked out 'af865a916795289c8e7e09b091ff2140c33fc3fe' System: Darwin, Info: Darwin-17.6.0-x86_64-i386-64bit Platform: x86_64-apple-darwin Downloading xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz Done Extracting xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz Downloading esptool-da31d9d-macos.tar.gz Done Extracting esptool-da31d9d-macos.tar.gz Downloading mkspiffs-0.2.2-arduino-esp32-osx.tar.gz Done Extracting mkspiffs-0.2.2-arduino-esp32-osx.tar.gz Renaming mkspiffs-0.2.2-arduino-esp32-osx to mkspiffs Done $ インストールの確認 「Arduino」アプリケーションを 再起動し確認 「ボードマネージャー…」に「ESP32」関連が追加されていれば成功。 インストール後のフォルダ構成例 【※※※※※※※※】 ここまでで、Arduino環境下でESP32を開発する環境が整った事になる。 Lチカ配線 Lチカ配線 【6.Lチカ配線】.ESP32-DevKitC ESP32-DevKitCのPORTの割り当て。 回路図 IO34へ抵抗「330Ω」と「LED」を接続します。 補足: 回路図に問題がある場合にはその場で修正 こんな感じ。。。 プログラムとテスト プログラムとテスト 【7.プログラム&実行】 Step2: ArduinoをESP32用に設定 ボードの設定 「ツール」 > 「ボード」>「ESP32 Dev Module」 ESP32が接続されたUSBを選択します。 「ツール」 > 「シリアルポート」>「……/cu.SLAB_USBtoUART」 「各種設定状態」 Step3: 最初のテストプログラム1 「シリアルポートにメッセージを表示」 「出力」 例 「スケッチ」メニュー 次の2つのコマンドを主に使います。 ・検証・コンパイル ・マイコンボードに書き込む 次のコードを入力し「検証・コンパイル」 問題なければ書き込みます。 「マイコンボードに書き込む」 HelloEPS32.ino /* * EPS32 dev board * * 2018-06-16 02:02 */ void setup() { // put your setup code here, to run once: Serial.begin(115200, SERIAL_8N1); } void loop() { // put your main code here, to run repeatedly: Serial.println("こんにちは ESP32"); delay(1000); Serial.println("はい"); delay(1000); } ――――― Step4: LEDチカ 次のコードを入力し「検証・コンパイル」 問題なければ書き込みます。 「マイコンボードに書き込む」 /* * EPS32 dev board L-Chika * * 2018-06-16 02:02 * * IO34~IO39はプルアップ無し */ #include #define LED_PORT 34 void setup() { // put your setup code here, to run once: WiFi.mode(WIFI_OFF); Serial.begin(115200, SERIAL_8N1); Serial.println(""); Serial.println("こんにちは ESP32"); pinMode(LED_PORT,OUTPUT); digitalWrite(LED_PORT,LOW); } void loop() { // put your main code here, to run repeatedly: digitalWrite(LED_PORT,LOW); Serial.println("LOW ESP32"); delay(1000); digitalWrite(LED_PORT,HIGH); Serial.println("HIGH ESP32"); delay(1000); } ESP32でLチカできましたか? Waveshare ESP32-C6-Touch-LCD-1.47 waveshare社が制作しているESP32-C6シリーズの製品に関する記事です。開発環境とDEMOプログラムを実施しています。 waveshare社https://www.waveshare.com 概要 Waveshare社の「ESP32-C6-Touch-LCD-1.47」 https://docs.waveshare.com/ESP32-C6-Touch-LCD-1.47 主な仕様 ESP32-C6 (ESP32-C6FH8) > オンボード8MB PSRAM 1.47インチ 静電容量式タッチディスプレイ > 172×320解像度、262K表示色 2.4GHz Wi-Fi 6(802.11 ax/b/g/n)およびBluetooth 5(LE)(オンボードアンテナ) > Zigbee 3.0、およびThreadをサポート 高性能 160MHz RISC-Vプロセッサ > 低消費電力 20MHz RISC-Vプロセッサ 加速度センサーとジャイロセンサー搭載 > QMI8658Aセンサー(6軸IMUは3軸ジャイロスコープと3軸加速度計) 内蔵320KB ROM、512KB HP SRAM、16KB LP SRAM、8MBフラッシュメモリ 複数のI/Oインターフェースに対応、フルスピードUSB規格をサポート TF カードスロット(FAT32) RST(リセット) ボタン/BOOTボタン Type-Cコネクタ(プログラム書き込みおよびログ出力用) 低ドロップアウトレギュレータ >  ME6217C33M5G(800mA出力(最大))  充電制御IC > ETA6098(リチウムイオン電池充電をサポート) ESP32-C6 1.47inch Touch Display Development Board, 172×320 Resolution, 262K Display Color, Supports Wi-Fi 6 / BLE 5, 160MHz RISC-V Processor https://www.waveshare.com/esp32-c6-touch-lcd-1.47.htm?sku=31201 Wiki https://www.waveshare.com/wiki/ESP32-C6-Touch-LCD-1.47 主な仕様 ESP32-C6 主な仕様 ESP32-C6FH8 > ESP32-C6 Series Datasheet Version 1.4 からの抜粋 2.4 GHz帯のWi-Fi 6、Bluetooth 5、Zigbee 3.0、およびThread >  Wi-Fi 6: 2412~ 2484 MHz、最大150 Mbps、20 MHz and 40 MHz  Bluetooth® > Bluetooth LE: Bluetooth 5.3 > Bluetooth mesh > 最大送信パワー  20 dBm > Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps 高性能 RISC-V 32bit > 最大 160 MHz > 4段 バイブライン構造 低消費電力 RISC-V 32bit > 最大 20 MHz  > 2段 バイブライン構造 ROM: 320 KB SRAM  > 高性能 RISC-V: 512 KB > 低消費電力 RISC-V: 16 KB 各種IO > UART * 2 > SPI * 2 > I2C/I2S > PWM > USB Serial/JTAG > TWAI > SDIO slave > LED PWM > Motor Control PWM > 12-bit SAR ADC > 52-bit system timer > watchdog タイマー 電力管理 > コンポーネントの電力制御(クロック周波数、デューティサイクル、Wi-Fi動作モード、個別内部コンポーネント制御) > 電力モード-4種:アクティブ、モデムスリープ、ライトスリープ、ディープスリープ > ディープスリープモード時の消費電力は7µA セキュリティ > セキュアブート - 内部および外部メモリへのアクセス権制御 > フラッシュ暗号化 - メモリの暗号化および復号化 > 信頼実行環境(TEE)コントローラおよびアクセス権限管理(APM) > 暗号ハードウェアアクセラレーション:  – AES-128/256(FIPS PUB 197)  – ECC  – HMAC  – RSA  – SHA (FIPS PUB 180-4)  – デジタル署名 > 外部メモリの暗号化と復号化(XTS_AES) > 乱数生成器 (RNG) RFモジュール > アンテナスイッチ、RFバラン、パワーアンプ、低雑音受信増幅器 > 802.11b 伝送時最大 +21 dBmの出力 > 802.11ax伝送時最大 +19.5 dBmの出力 > Bluetooth LE受信機(125 Kbps)時最大 -106 dBmの感度 8MB Flash (Quad SPI接続) 動作温度 -40度~105度 QFN32(5×5mm)パッケージ 22 GPIOs (QFN32) 開発環境の構築 開発環境のインストールを実施します。 Arduino IDE 2 に環境をインストールしていきます。 ESP32 Development Boardのインストール Arduino IDEでESP32関連のマザーボードを使用する前に、Espressif Systems開発ボード用のesp32ソフトウェアパッケージをインストールする必要があります。 Waveshare社のDEMOプログラムを動作させるには次のライブラリをインストールする必要が有ります >> 2026年1月時点では、古いライブラリのままですが。。(後から最新へアップデートして動作確認します。) lvgl Graphical library v8.4.0 "Install Online" (requires copying the demos folder to src)  GFX_Library_for_Arduino LCD driver library v1.5.9 "Install Online" FastIMU IUM driver library v1.2.8 "Install Online" esp_lcd_touch_axs5106l Touch driver library - "Install Online" "Install Online" > オンラインインストール  > DEMOプログラム内にある   https://files.waveshare.com/wiki/ESP32-C6-Touch-LCD-1.47/ESP32-C6-Touch-LCD-1.47-Demo.zip アップデート ボードとポートの選択 ボード:    ESP32C6 ポート: 動作テスト Hello, World! で動作を確認します。 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); } シリアルモニタの出力結果 DEMOプログラム DEMOプログラム DEMOプログラムを以下のURLからダウンロードしテストします。 https://files.waveshare.com/wiki/ESP32-C6-Touch-LCD-1.47/ESP32-C6-Touch-LCD-1.47-Demo.zip 01_gfx_helloworldrld lvgl 9.3.0/9.4.0 使用 GFX_Library_for_Arduino  1.6.1/1.6.4 FastIMU 1.2.8  未インストール esp_lcd_touch_axs5106l -- 未インストール 結果 02_qmi8658_output lvgl 9.4.0 使用 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l -- 未インストール 結果 03_sd_card_test ESP32-C6-Touch-LCD-1.47 が TF カードの読み取りおよび書き込み機能をテストします。 lvgl 9.4.0 使用 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l -- 未インストール 結果 コンソール出力結果 >> ting file: /hello.txt File written Appending to file: /hello.txt Message appended Reading file: /hello.txt Read from file: Hello World! Deleting file: /foo.txt File deleted Renaming file /hello.txt to /foo.txt File renamed Read from file: Hello World! 1048576 bytes read for 2473 ms 1048576 bytes written for 2873 ms Total space: 14824MB Used space: 4MB ファイル「test.txt」の書き込みバイト数  1,048,576 bytes  = 1024 KB = 1 MB(= 1 MiB) 1048576 bytes read for 2473 ms 1048576 bytes written for 2873 ms 04_lvgl_arduino_v8 LVGLデモ lvgl 8.4.0 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l 1.5.9 結果 05_lvgl_battery LVGLライブラリを使用してバッテリーの電圧を表示 lvgl 8.4.0 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l 1.5.9 結果 06_lvgl_brightness LVGLライブラリを使用して、画面の明るさを制御および表示 lvgl 8.4.0 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l 1.5.9 結果 06_lvgl_brightness LVGLライブラリを使用してQMI8658データを表示 lvgl 8.4.0 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l 1.5.9 結果 06_lvgl_brightness LVGLライブラリを使用して画像を表示 lvgl 8.4.0 GFX_Library_for_Arduino  1.6.4 FastIMU 1.2.8  esp_lcd_touch_axs5106l 1.5.9 結果 Waveshare ESP32-S3 1.64 inch AMOLED Touch Display Development Board waveshare社が制作しているESP32-S3シリーズの製品に関する記事です。開発環境とDEMOプログラムを実施しています。 waveshare社https://www.waveshare.com 概要 Waveshare社の「ESP32-S3 1.64 inch AMOLED Touch Display Development Board」のテスト記事です。 https://www.waveshare.com/esp32-s3-touch-amoled-1.64.htm Wiki https://www.waveshare.com/wiki/ESP32-S3-Touch-AMOLED-1.64 概要 320×820 Pixels 262K Color 32-bit LX7 Dual-core Processor Up to 240MHz Frequency WiFi & Bluetooth 5 ESP32 With Display LCDとタッチ画面とESP32-S3を組み合わせた開発用ボードという位置付けの商品の様です。 仕様 ESP32-S3 (ESP32-S3R8) > 内蔵 384KB ROM、512KB SRAM > 内蔵 8MB Flash/PSRAM > dual-core 240MHz 32bit RISC-Vプロセッサー > WiFi 2.4GHz IEEE 802.11b/g/n > Bluetooth LE: Bluetooth 5, Bluetooth Mesh (オンボードアンテナ) 1.64インチAMOLED 容量式タッチスクリーン、 解像度 280×456、16.7Mカラー アンテナ > 2.4GHzのWi-FiおよびBluetooth 5(LE)を内蔵内アンテナ > 外部アンテナ設定用にははんだジョイントを内蔵 加速度センサーとジャイロセンサー搭載 > QMI8658 6軸センサー(3軸加速度計と3軸ジャイロスコープ) RST(リセット) ボタン/BOOTボタン 充電制御 > 接続 MX1.25 > 制御IC ETA6098(リチウムイオン電池充電をサポート) TF カードスロット(FAT32) Type-Cコネクタ(プログラム書き込みおよびログ出力用) 複数のI/Oインターフェースに対応、フルスピードUSB規格をサポート 低ドロップアウトレギュレータ > MP1605GTF-Z(最大2A、入力:2.3V~5.5V、最小出力:0.6V) > https://www.monolithicpower.com/jp/mp1605.html > 入出力特性  ボートの裏側の部品配置 主な仕様 ESP32-S3R8 ESP32-S3 Series Datasheet Version 2.1 からの抜粋 https://documentation.espressif.com/esp32-s3_datasheet_en.pdf 主な機能一覧 2.4 GHz帯 IEEE 802.11b/g/n > 20 MHzおよび40 MHzの帯域幅 > 1T1Rモード、最大データレート150 Mbps Bluetooth ® > Bluetooth LE: Bluetooth 5 > Bluetooth mesh > 最大送信パワー   20 dBm(100mW) > Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps CPU > デュアルコア32ビットLX7マイクロプロセッサ(RISC-V) > 最大 240 MHz > 4段 バイブライン構造 メモリ > ROM: 384 KB > SRAM: 512 KB > SRAM in RTC: 16 KB 各種IO > 45個のプログラム可能なGPIO > 3 * UART > 2 * I2C > 2 * I2S > 1 * LCDインタフェース > 1 * 8ビット~16ビット DVPカメラインターフェース > 2 * SPI > 2 * 汎用SPI > 1 * TWAI ISO 11898-1 (CAN Specification 2.0) > 1 * フルスピードUSB OTG > 1 * USB Serial/JTAG コントローラー > 2 * SD/MMCホストコントローラー > 8 * LED PWMコントローラー > 2 * モーター制御PWM(MCPWM)) > 2 * モーター制御PWM(MCPWM) > 1 * RMT (TX/RX) > 1 * パルスカウントコントローラー > 2 * 12-bit SAR ADC (逐次比較型) (最大20チャンネル) > 1 * 温度センサー > 14 * 静電容量式タッチセンシング入出力端子 > 4 * 54ビット汎用タイマー > 1 * 52ビットシステムタイマー > 3 * ウォッチドッグタイマー 電力管理 > コンポーネントの電力制御(クロック周波数、デューティサイクル、Wi-Fi動作モード、個別内部コンポーネント制御) > 電力モード-4種:アクティブ、モデムスリープ、ライトスリープ、ディープスリープ > ディープスリープモード時の消費電力は7µA > ディープスリープモード時でもRTCメモリは通電状態を維持 セキュリティ > セキュアブート - 内部および外部メモリへのアクセス権制御 > フラッシュ暗号化 - メモリの暗号化および復号化 > 信頼実行環境(TEE)コントローラーおよびアクセス権限管理(APM) > 暗号ハードウェアアクセラレーション:  - AES-128/256(FIPS PUB 197)  - SHA (FIPS PUB 180-4)  - RSA  - RNG(乱数生成器)  - HMAC  - デジタル署名 RFモジュール > アンテナスイッチ、RFバラン、パワーアンプ、低雑音受信増幅器 > 802.11b 伝送時最大 +21 dBmの出力 > 802.11ax伝送時最大 +19.5 dBmの出力 > Bluetooth LE受信機(125 Kbps)時最大 -106 dBmの感度 ESP32-S3R8 8MB PSRAM (Quad SPI接続) 動作温度 -40度~65度 GPIOs 開発環境の構築 開発環境のインストールを実施します。 Arduino IDE 2 に環境をインストールしていきます。 ESP32 Development Board のインストール Arduino IDE で ESP32 関連のマザーボードを使用する前に、 Espressif Systems 開発ボード用の esp32 ソフトウェアパッケージをインストールする必要があります。 DEMO プログラムを動作させるには次のライブラリをインストールする必要が有ります。 lvgl Graphical library v8.4.0 "Install Online" (rdemos フォルダを src にコピーします)  アップデート確認とアップデートのインストール (今回は最新版の3.3.5に更新します。) ボードとポートの選択 ボード:    Waveshare ESP32-S3-Touch-AMOLED1.64 ポート: 動作テスト Hello, World! で動作を確認します。 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); } シリアルモニタの出力結果 DEMOプログラム DEMOプログラム DEMOプログラムを以下のURLからダウンロードしテストします。 https://files.waveshare.com/wiki/ESP32-S3-Touch-AMOLED-1.64/ESP32-S3-Touch-AMOLED-1.64-Demo.zip 01_ADC_Test ADC1チャネル3の値を読み取り、シリアル出力 GPIO3 を使用してシステムの入力電圧を測定してシリアル出力 (補足: 回路図からはGPIO3の仕様がよく分からない) 以下のライブラリを使用  lvgl v8.4.0 ピン配置図 結果 02_I2C_QMI8658 I2Cプロトコルを通じて、QMI8658チップを初期化し、対応する態度情報を1秒ごとに端末に読み取り、シリアル出力します。 以下のライブラリを使用  lvgl v8.4.0 qmi8658c_example(void* パラメータ ): この関数は、 QMI8658 デバイスを初期化し、毎秒 1 回、無限ループで加速度センサーデータ、ジャイロスコープデータ、温度データを読み取り出力します。基板の回転中、ジャイロスコープのデータは回転速度が高くなると増加し、加速度センサーは現在の位置に基づいて対応する加速度を計算します。。 結果 03_sd_card_test TF カードのテスト マクロ定義でTFカードを駆動するには、SPIまたはSDMMC方式を選択し、TFカードを正常に取り付けた後にTFカードをログ出力します。 以下のライブラリを使用  lvgl v8.4.0 結果 コンソール出力結果>> 01:47:02.943 -> Name: SA16G 01:47:02.943 -> Type: SDHC 01:47:02.943 -> Speed: 20.00 MHz (limit: 20.00 MHz) 01:47:02.943 -> Size: 14832MB 01:47:02.943 -> CSD: ver=2, sector_size=512, capacity=30375936 read_bl_len=9 01:47:02.976 -> SSR: bus_width=1 01:47:02.976 -> practical_size:14.48G 03_sd_card_test TF カード 書き込み / 読み出しテスト、 Arduino ライブラリを使用します。 ログ出力 >> 02:05:44.925 -> File written 02:05:44.925 -> Appending to file: /hello.txt 02:05:44.925 -> Message appended 02:05:44.925 -> Reading file: /hello.txt 02:05:44.925 -> Read from file: Hello World! 02:05:44.925 -> Deleting file: /foo.txt 02:05:44.925 -> File deleted 02:05:44.925 -> Renaming file /hello.txt to /foo.txt 02:05:44.925 -> File renamed 02:05:44.925 -> Read from file: Hello World! 02:05:46.677 -> 1048576 bytes read for 2405 ms 02:05:49.457 -> 1048576 bytes written for 2767 ms 02:05:49.457 -> Total space: 14824MB 02:05:49.457 -> Used space: 4MB ファイル「 test.txt 」の書き込みバイト数 • 1,048,576 bytes • = 1024 KB • = 1 MB ( = 1 MiB )     1048576 bytes read for 2405 ms     1048576 bytes written for 2767 ms 04_WIFI_AP Arduino ライブラリと esp_wifi の接続テスト ・ WiFi 2.4G には接続出来る。 ・ WiFi リストは動作しない ! ログ出力 >> 02:46:30.083 -> AP IP Address: 192.168.1.41 02:46:35.078 -> Connected Devices: 0 02:46:40.078 -> Connected Devices: 0 05_WIFI_STA Arduino ライブラリによる WiFi 接続テスト ログ出力 >> 03:00:01.593 -> Connecting to WiFi 03:00:03.680 -> IP Address: 192.168.1.153 06_LVGL_Test LVGL を移植することで、画面上にいくつかの多機能 GUI インターフェースを実装したテスト LVGLテストで使用したライプラリ    lvgl                     8.4.0 Waveshare ESP32-S3 3.16 inch Display Development Board waveshare社が制作しているESP32-S3シリーズの製品に関する記事です。開発環境とDEMOプログラムを実施しています。 waveshare社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 Wiki https://www.waveshare.com/wiki/ESP32-S3-LCD-3.16 概要 320×820 Pixels 262K Color 32-bit LX7 Dual-core Processor Up to 240MHz Frequency WiFi & Bluetooth 5 ESP32 With Display 大きめのLCDとESP32-S3を組み合わせた開発用ボードという位置付けの商品の様です。 ESP32-S3 (ESP32-S3R8) > 内蔵 384KB ROM、512KB SRAM > 内蔵 8MB Flash/PSRAM > dual-core 240MHz 32bit RISC-Vプロセッサ ー > WiFi 2.4GHz IEEE 802.11b/g/n > Bluetooth LE: Bluetooth 5, Bluetooth Mesh (オンボードアンテナ) 3.16インチLCDディスプレイ > 解像度320×820 > 64Kカラー > RGB565通信インターフェース アンテナ > 2.4GHzのWi-FiおよびBluetooth 5(LE)を内蔵内アンテナ > 外部アンテナ設定用にははんだジョイントを内蔵 加速度センサーとジャイロセンサー搭載 > QMI8658 6軸センサー(3軸加速度計と3軸ジャイロスコープ) 内蔵PCF85063 RTCチップ > 予備のSH1.0バッテリースロット RST(リセット) ボタン/BOOTボタン 充電制御 > 接続 MX1.25 > 制御IC ETA6098(リチウムイオン電池充電をサポート) Type-Cコネクタ(プログラム書き込みおよびログ出力用) 複数のI/Oインターフェースに対応、フルスピードUSB規格をサポート 低ドロップアウトレギュレータ > MP1605GTF-Z(最大2A、入力:2.3V~5.5V、最小出力:0.6V) > https://www.monolithicpower.com/jp/mp1605.html > ボードの部品状態 ESP32-S3R8 WiFiおよびBluetooth搭載SoC、最大240MHz動作周波数、オンボード8MB PSRAM 16MB NORフラッシュメモリ IPEX1コネクタ 基板上の抵抗を再はんだ付けし、外部アンテナの使用に切り替え可能 内蔵セラミックアンテナ 2.4GHz Wi-Fi(802.11 b/g/n)およびBluetooth 5(LE)機能用 QMI8658センサー 6軸IMUは3軸ジャイロスコープと3軸加速度計を含む PCF85063 リアルタイムクロックチップ アルタイムクロックチップ用電池ヘッダー SH1.0 4PIN I2C ヘッダー MX1.25 4PIN USB ヘッダー SH1.0 4PIN UART ヘッダー RST(リセット) ボタン BOOTボタン BOOTボタンを押し続けながら、RSTボタンをクリックするとダウンロードモード スライドスイッチ システム電源ON/OFF用 TFカードスロット TFカードは使用前にFAT32でフォーマット Type-Cコネクタ ESP32-S3 USBインターフェース(プログラム書き込みおよびログ出力用) MX1.25 バッテリーヘッダー MX1.25 2ピンコネクタ、3.7Vリチウム電池用、充電・放電対応 スタンドオフ M2×3.5×3.5+2.0×1.2 インターフェース 主な仕様 ESP32-S3R8 > ESP32-S3 Series Datasheet Version 2.1 からの抜粋 https://documentation.espressif.com/esp32-s3_datasheet_en.pdf 主な機能一覧 2.4 GHz帯 IEEE 802.11b/g/n > 20 MHzおよび40 MHzの帯域幅 > 1T1Rモード、最大データレート150 Mbps Bluetooth ® > Bluetooth LE: Bluetooth 5 > Bluetooth mesh > 最大送信パワー  20 dBm (100mW) > Speed: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps CPU > デュアルコア32ビットLX7マイクロプロセッサ(RISC-V) > 最大 240 MHz > 4段 バイブライン構造 メモリ > ROM: 384 KB > SRAM: 512 KB > SRAM in RTC: 16 KB 各種IO > 45個のプログラム可能なGPIO > 3 * UART > 2 * I2C > 2 * I2S > 1 * LCDインタフェース > 1 * 8ビット~16ビット DVPカメラインターフェース > 2 * SPI > 2 * 汎用SPI > 1 * TWAI ISO 11898-1 (CAN Specification 2.0) > 1 * フルスピードUSB OTG > 1 * USB Serial/JTAG コントローラー > 2 * SD/MMCホストコントローラー > 8 * LED PWMコントローラー > 2 * モーター制御PWM(MCPWM) > 1 * RMT (TX/RX) > 1 * パルスカウントコントローラー > 2 * 12-bit SAR ADC (逐次比較型) (最大20チャンネル) > 1 * 温度センサー > 14 * 静電容量式タッチセンシング入出力端子 > 4 * 54ビット汎用タイマー > 1 * 52ビットシステムタイマー > 3 * ウォッチドッグタイマー 電力管理 > コンポーネントの電力制御(クロック周波数、デューティサイクル、Wi-Fi動作モード、個別内部コンポーネント制御) > 電力モード-4種:アクティブ、モデムスリープ、ライトスリープ、ディープスリープ > ディープスリープモード時の消費電力は7µA > ディープスリープモード時でもRTCメモリは通電状態を維持 セキュリティ > セキュアブート - 内部および外部メモリへのアクセス権制御 > フラッシュ暗号化 - メモリの暗号化および復号化 > 暗号ハードウェアアクセラレーション:  – AES-128/256(FIPS PUB 197)  – SHA (FIPS PUB 180-4)  – RSA  – RNG(乱数生成器)  – HMAC  – デジタル署名 RFモジュール > アンテナスイッチ、RFバラン、パワーアンプ、低雑音受信増幅器 > 802.11b 伝送時最大 +21 dBmの出力 > 802.11ax伝送時最大 +19.5 dBmの出力 > Bluetooth LE受信機(125 Kbps)時最大 -106 dBmの感度 ESP32-S3R8 8MB PSRAM (Quad SPI接続) 動作温度 -40度~65度 LCD画面パラメータ 開発環境の構築 開発環境のインストールを実施します。 Arduino IDE 2 に環境をインストールしていきます。 ESP32 Development Board のインストール Arduino IDE で ESP32 関連のマザーボードを使用する前に、 Espressif Systems 開発ボード用の esp32 ソフトウェアパッケージをインストールする必要があります。 Waveshare ESP32-S3 1.64 inch AMOLED Touch Display Development Board と基本的には同じ様に構築しテストします。 DEMO プログラムを動作させるには次のライブラリをインストールする必要が有ります。 lvgl Graphical library v8.4.0 "Install Online" (demos フォルダを src にコピーします) アップデート確認とアップデートのインストール (今回は最新版の3.3.5に更新します。) ボードとポートの選択 ボード:    ESP32S3 Dev Mocule ポート: 動作テスト Hello, World! で動作を確認します。 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); } シリアルモニタの出力結果 DEMOプログラム DEMOプログラム DEMOプログラムを以下のURLからダウンロードしテストします。 https://drive.google.com/file/d/1fsIRFZ7HQxAZFpMyKR3LApBGr8H7ttXK/view?usp=sharing 01_ADC_Test システムの電流電圧値を読み取りコンソールに出力するテストプログラムです。 以下のライブラリを使用   lvgl  v9.1.0 結果 コンソール出力結果 >> 02_PCF85063_Test I2Cプロトコルを使用して、PCF85063チップを初期化し、時刻を設定してから定期的に時刻を読み、コンソールに出力するテストプログラムです。vido i2c_rtc_loop_task(void *arg):RTC機能を実装するためのRTCタスクを作成し、1秒ごとにRTCチップの時計を読み取り、それをコンソールに出力します 以下のライブラリを使用   lvgl  v9.1.0 結果 コンソール出力結果 >> 03_QMI8658_Test  I2Cプロトコルを使用して、QMI8658チップを初期化し、200ミリ秒ごとに対応する態度情報を読み取り、コンソールに出力するテストプログラムです。vido i2c_qmi_loop_task(void *arg):態度情報を取得するためのQMIタスクを作成します。タスクでは、加速度センサーとジャイロスコープのデータを読み取って印刷し、得られた結果を200ミリ秒間隔でシリアルポートコンソールに出力します。 以下のライブラリを使用   lvgl  v9.1.0 結果 コンソール出力結果 >> 04_SD_Card SDMMC経由でTFカードを駆動し、正常に取り付けた後にTFカードへログ出力します。     sdcard_init(void):4線式SDMMC方式を使用してTFカードを初期化します。     loop():TFカードの読み取りおよび書き込み関数をテストするには、コメントを控える必要があります#define sdcard_write_Testマクロ定義。 以下のライブラリを使用   lvgl  v9.1.0 結果 コンソール出力結果 >> 06:05:33.043 -> Name: SA16G 06:05:33.043 -> Type: SDHC 06:05:33.043 -> Speed: 40.00 MHz (limit: 40.00 MHz) 06:05:33.043 -> Size: 14832MB 06:05:33.043 -> CSD: ver=2, sector_size=512, capacity=30375936 read_bl_len=9 06:05:33.043 -> SSR: bus_width=1 04_sd_card_SDMMC TFカードへの書き込み/読み出しテスト、Arduinoライブラリのみを使用します。 結果 コンソール出力結果 >> 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モード内の電話機やその他のデバイスが開発ボードに接続できるようにします。 結果 コンソール出力結果 >> ---------------------------------------------- 05_WIFI_AP 2026-01-03 23:02 WiFi AP Started AP IP Address: 192.168.4.1 Connected Devices: 0            >> このデバイに接続指定なので何も出ない Connected Devices: 0 06_WIFI_STA この例では、開発ボードをSTAデバイスとして設定してルーターに接続し、システムネットワークにアクセスできるようにすることができます。 結果 コンソール出力結果 >> ---------------------------------------------- 06_WIFI_STA 2026-01-03 23:36 Connecting to WiFi ...... IP Address: 192.168.1.154 今回のテストプログラムの動作テストはここまでです。表示関係のテストは実施していませんが、別のテストプログラムを作成しています。 LVGL TEXT  lvgl  v9.1.0 使用して TEXT を描画してテストしています。