UART通信用に購入した下記デバイスを使ってのログ出力方法をメモする。
ESP-IDFを使った方法を書いたが Arduinoの場合はどうやるのだろうか。
github.com
アリエク公式ショップ👉️https://ja.aliexpress.com/item/1005005303809188.html
ARMのデバッガタイプ (DAPLink-APM32) を購入した。
menuconfig での設定
デフォルトではコンソールログ出力先が USB Serial/JTAG Controller になっているはずなのでそこを変更する。
- ESP-IDF環境にて
idf.py menuconfigで menuconfig を起動 Component config->ESP System Settings->Channel for console outputを選択USB Serial/JTAG ControllerをCumstom UARTに変更
- そうするとその下あたりに
UART TX/RX on GPIO<num>という項目が出てくるので
使用しているESP32S3デバイスのUART用GPIO端子(TXとRX)をそれぞれ設定 - 保存して menuconfig を終了してリビルドする
MiniDebugger を PC と接続する
接続するとデバイスマネージャの ポート(COMとLPT) に USBシリアルデバイス (COMx) というデバイスが表示されるはず。
なお、このデバイスは USB Composite device であり USBDeview で見るとシリアルデバイス以外に以下の機能がある。
ARM用デバッガの機能だと思うがまだ使ったことがない。
| Device Name | Description | Device Type | VendorID | ProductID | USB Class | USB SubClass | Friendly Name |
|---|---|---|---|---|---|---|---|
| 0009.0000..以下略 | USB シリアル デバイス | Communication | 0d28 | 0204 | 02 | 02 | USB シリアル デバイス (COM12) |
| 0009.0000..以下略 | USB Input Device | HID (Human Interface Device) | 0d28 | 0204 | 03 | 00 | |
| 0009.0000..以下略 | WinUsb Device | Vendor Specific | 0d28 | 0204 | ff | 03 | WebUSB: CMSIS-DAP |
| 0009.0000..以下略 | WinUsb Device | Vendor Specific | 0d28 | 0204 | ff | 00 | CMSIS-DAP v2 |
| DAPLink CMSIS-DAP | USB Composite Device | Unknown | 0d28 | 0204 | 00 | 00 |
WSL2 でみると下記となる。私の環境では /dev/ttyACM0 というデバイスファイルが作成された。
$ lsusb -t
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=vhci_hcd/8p, 480M
|__ Port 001: Dev 013, If 0, Class=Communications, Driver=cdc_acm, 12M
|__ Port 001: Dev 013, If 1, Class=CDC Data, Driver=cdc_acm, 12M
|__ Port 001: Dev 013, If 2, Class=Human Interface Device, Driver=[none], 12M
|__ Port 001: Dev 013, If 3, Class=Vendor Specific Class, Driver=[none], 12M
|__ Port 001: Dev 013, If 4, Class=Vendor Specific Class, Driver=[none], 12M
MiniDebugger と ESP32S3 デバイスを接続する
MiniDebuggerの基板の裏側を見ながら接続する。
下図のとおり UART TX, RX, GND の3つだけを接続する。
線がたくさんあるので間違わないように気をつける。
※図はWeActStudioのGithubからお借りしました
PCでログをみる
windows の場合
teraterm などのシリアルモニタソフトでボーレートを115200 にして該当COMポートに接続すれば見れる。
少なくとも teraterm では見れた。
Linux の場合
こちらもシリアルモニタツールでみれるはず。
ESP-IDF環境にて idf.py -p /dev/ttyACM0 monitor を実行したところ見れた。
ボーレートは自動で設定された。
$ idf -p /dev/ttyACM0 monitor Executing action: monitor Running idf_monitor in directory /workspaces/esp-idf-devcontainer/esp32s3-touch-2/stream-deck-touch Executing "/opt/esp/python_env/idf5.5_py3.12_env/bin/python /opt/esp/idf/tools/idf_monitor.py -p /dev/ttyACM0 -b 115200 --toolchain-prefix xtensa-esp32s3-elf- --target esp32s3 --revision 0 /workspaces/esp-idf-devcontainer/esp32s3-touch-2/stream-deck-touch/build/stream-deck-touch.elf /workspaces/esp-idf-devcontainer/esp32s3-touch-2/stream-deck-touch/build/bootloader/bootloader.elf -m '/opt/esp/python_env/idf5.5_py3.12_env/bin/python' '/opt/esp/idf/tools/idf.py' '-p' '/dev/ttyACM0'"... --- esp-idf-monitor 1.7.0 on /dev/ttyACM0 115200 --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x29 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce2820,len:0x158c load:0x403c8700,len:0xd30 --- 0x403c8700: _stext at ??:? load:0x403cb700,len:0x2f34 entry 0x403c8928 --- 0x403c8928: call_start_cpu0 at /opt/esp/idf/components/bootloader/subproject/main/bootloader_start.c:25 I (24) boot: ESP-IDF v5.5.1 2nd stage bootloader I (25) boot: compile time Dec 28 2025 15:15:51 I (25) boot: Multicore bootloader I (25) boot: chip revision: v0.2 I (28) boot: efuse block revision: v1.3 I (31) boot.esp32s3: Boot SPI Speed : 80MHz I (35) boot.esp32s3: SPI Mode : DIO I (39) boot.esp32s3: SPI Flash Size : 2MB I (43) boot: Enabling RNG early entropy source... I (47) boot: Partition Table: I (50) boot: ## Label Usage Type ST Offset Length I (56) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (63) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (69) boot: 2 factory factory app 00 00 00010000 00100000 I (76) boot: End of partition table I (79) esp_image: segment 0: paddr=00010020 vaddr=3c030020 size=0e5c8h ( 58824) map I (97) esp_image: segment 1: paddr=0001e5f0 vaddr=3fc94700 size=01a28h ( 6696) load I (98) esp_image: segment 2: paddr=00020020 vaddr=42000020 size=2cfdch (184284) map I (134) esp_image: segment 3: paddr=0004d004 vaddr=3fc96128 size=012ach ( 4780) load I (135) esp_image: segment 4: paddr=0004e2b8 vaddr=40374000 size=1060ch ( 67084) load I (152) esp_image: segment 5: paddr=0005e8cc vaddr=50000000 size=00020h ( 32) load I (164) boot: Loaded app from partition at offset 0x10000 I (164) boot: Disabling RNG early entropy source... I (175) cpu_start: Multicore app I (184) cpu_start: Pro cpu start user code ... ...
その他
- 基板がなにやらビニールみたいなもので覆われているがはがさなくてよいのか?
はがさなくてよさそう
たまたま👇️の記事で見かけたのだが、ショート防止用に熱収縮チューブで覆ったりするようなのでこれも同じだろう。
余談だが基板も同じ紫色だ。紫の基板は綺麗でいいですよね。
okiraku-camera.tokyo

