⚠️

⚠️Arduino Uno R4 WiFiのUSB切り替え問題⚠️

2024/11/16に公開

はじめに

⚠️Arduino Uno R4 WiFiのデータシートはUSB切り替え問題(※)が未修正なので注意です!⚠️
この件に関して再度、日本語ドキュメントとしてここに記載して注意喚起しておきます。
ArduinoのフォーラムGithubでIssuesされている

https://forum.arduino.cc/t/usb-connector-switch/1154535/19
https://github.com/arduino/docs-content/issues/1322

解決策

先にこの問題の解決策を述べると、データシートの記載を下記のような内容で修正するべきです

  • P408ピンはD40ではなくD21
  • P408ピンはHighでRA4M1、LowでESP32にUSB接続が切り替わる

USB切り替え問題

問題になっている件についてデータシート🔗RA4M1のArduino側の実装を見ていきます

データシート

データシート🔗の記載文章と回路図を確認します

https://docs.arduino.cc/resources/datasheets/ABX00087-datasheet.pdf
https://docs.arduino.cc/resources/schematics/ABX00087-schematics.pdf

When programming the UNO R4 WiFi, the RA4M1 MCU is programmed via the ESP32-S3 module by default. The U2 and U6 switches can switch the USB communication to go directly to the RA4M1 MCU, by writing a high state to the P408 pin (D40).

Soldering together the SJ1 pads permanently sets the USB communication directly to the RA4M1, bypassing the
ESP32-S3.

データシートの記載内容を和訳&まとめると

  • USBはESP32-S3とRA4M1はU2,U4のスイッチ(SELECTピン)のHigh/Lowで接続が切り替わる
  • RA4M1にUSB接続するには
    • RA4M1のP408ポート(Arduino IDEではD40)をHIGHにする
    • SJ1で半田ブリッジする

P408はHighで正解

U2,U4のSELECT
R1の100kΩの抵抗でプルダウンされている(※)
※下記回路図に赤枠してます

P408はD40ではなくD21

RA4M1のArduino側の実装を確認する
P408はD21で定義されていてP408はD40ではないことがわかります

https://github.com/arduino/ArduinoCore-renesas/blob/main/variants/UNOWIFIR4/variant.cpp

おしまい

データシートの修正なんでまだ修正されないの???

Discussion