Arduino UNO R4 WiFiボードの回路図とにらめっこ 

 

 今度はArduino UNO R4 WiFiの回路図を詳しく見ていく。

今回は特に改造計画はない。 だってUNO R4 WiFi は機能ギチギチで手を加えるほどの余裕はまったくない。

 

過去の"回路図とにらめっこ"シリーズに興味があれば、ここからどうぞ。

 

 

で、Arduino UNO R4 WiFiの回路図は公式サイトにあるので、興味があればダウンロードしておくとよい。

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

 

 

 Arduino UNO R4 MINIMAと比べると、回路図もギチギチ モリモリ。 実は2ページ目もあるが、LEDマトリックスの回路図なので、とりあえずそちらは置いておく。

しばらくはMINIMAWiFiの回路図を見比べて楽しむのもいいだろう。

おそらくいろんなことに気づくことだろう。

 

 Arduino UNO R4 MINIMAWiFiのどちらも持っている人は、使っていてある違和感に気づいただろうか。

それは、プログラムを書き込むときの違いだ。

今までのArduino UNO R3などでは、ボードをUSBケーブルで差し込んでArduino IDEで認識させてプログラムを書き込む。 それはUNO R4 WiFiでも同じである。

しかし、UNO R4 MINIMAに限っては違うのだ。 MINIMAは書き込みを開始すると、パソコンとの接続が一度切れるのだ。 厳密に言うと接続が切れているわけではなく、シリアルポートとしての認識が解除されているのだ。 その後、プログラムの書き込みが終わると再度シリアルポートとして認識される。

ボードをUSBでつなげると、Windows側で接続した時の音が鳴り、プログラムを書き込む時に切断した時の音が鳴り、終わるとまた接続する音が鳴る のはそういうことなのだ。

シリアルポートとしての接続は切れているため、シリアルモニター画面を開きっぱなしにはできない。 閉じてもう一度開き直さなければならない。 これはちょっとめんどくさいよね。

 

 なんでそんなことになっているのか。 その答えは回路図を見ていると何となくわかってくる。

USBの信号がどこに行っているかをたどると一目瞭然だ。

UNO R4 WiFiボードのUSB信号は、基本的にESP32マイコンのUSB端子と繋がっている。 対してUNO R4 MINIMAボードのUSB信号は、RA4M1マイコンのUSB端子に直に繋がっている。 実はプログラムの転送方式がMINIMAWiFiとでは全く違うのだ。

Arduino UNO R4 WiFiボードのUSB周辺の回路

 ここで、Arduino UNO R3はどのようにプログラムを書き込んでいたか思い出してもらいたい。 USBからの信号をシリアル変換するために、メインとは別のマイコンを使って変換し、メインのマイコンに書き込んでいる。

しかし、MINIMAは直付けである。 つまりシリアル変換せずに書き込んでいるのだ。 どうやっているかというと、DFU(Device Firmware Update)を使って書き込んでいる。 読んで字のごとく、ファームウェアアップデートをしているのだ。 なので、もしかするとプログラム書き込み中にUSBケーブルをブチ抜くと、MINIMAボードが文鎮化するかもね・・・。 ちょっとそれは実験したくないな。

 

 では、UNO R4 WiFiはどうやっているかというと、実はESP32マイコンをUSB-シリアル変換器として使っているのだ。 なんと贅沢な。

MINIMAには有るデバッグ用端子がWiFiに無いのも同様の理由で、ESP32マイコンがデバッグツールにもなっているのだ。 どうやって使うかはわからんが、少なくとも回路図上ではそうなっている。

 

 結論を言うと、MINIMAは書き込み時にDFUモードに切り替わるため、シリアルポートが切断されるというわけだ。 WiFi版は、従来通りのUSB-シリアル変換での書き込みなので切断されることがない。

 書き込み時に"TX"LEDと"RX"LEDが、WiFiでは光るのに、MINIMAでは光らないのも書き込み方式が違うからだろう。

 

 そんなわけで、以前にも書いたと思うが、Arduino UNO R4 WiFiUNO R4 MINIMAは、姉妹品ではなく全く別のマイコンボードと考えた方がいい。