Arduino UNO R4 Minimaの許容出力電流は各I/Oピンが8mA、全出力端子の総和が60mA

## 1. はじめに
Arduino [UNO R4 Minima](https://store.arduino.cc/products/uno-r4-minima)は[UNO R3](https://store.arduino.cc/products/arduino-uno-rev3)や[Leonardo](https://store.arduino.cc/products/arduino-leonardo-with-headers)と比べるとROM、RAMとも強化されクロック周波数が上がりHIDもサポートしているためLeonardoの上位互換という感じですが、I/Oピンの許容出力電流が8mAで従来機種よりも大幅に低いという注意書きがあります。

> **Maximum current draw per pin:** the UNO R4 series' maximum current draw per GPIO is **8 mA**, which is significantly lower than previous versions. Exceeding this limit may damage your pin / board.
> [UNO R4 Minima|Arduino Documentation #tech-specs](https://docs.arduino.cc/hardware/uno-r4-minima/#tech-specs)

## 2. 仕様
「significantly lower than previous versions」とのことでUNO R4 Minimaと従来機種であるUNO R3、Leonardoを比較します。

|Name                     |Arduino UNO R3      |Arduino Leonardo    |Arduino UNO R4 Minima
|:-----------------------:|:------------------:|:------------------:|:-------------------:|
|Microcontroller          |Microchip ATmega328P|Microchip ATmega32u4|Renesas RA4M1
|Architecture             |AVR                 |AVR                 |Arm Cortex-M4
|Circuit Operating Voltage|5V                  |5V                  |5V
|Input Voltage(VIN)       |7-12V               |7-12V               |6-24V
|DC Current per I/O Pin   |20 mA※1            |40 mA               |8 mA
|Clock Speed              |16 MHz              |16 MHz              |48 MHz
|Flash ROM                |32 KB               |32 KB               |256 KB
|EEPROM                   |1 KB                |1 KB                |8 KB
|SRAM                     |2 KB                |2.5 KB              |32 KB
|HID Support              |No                  |Yes                 |Yes

※1:[ATmega328P](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf)の絶対最大定格は40mA

各I/Oピンの許容出力電流は、UNO R3に搭載されているATmega328Pの絶対最大定格が40mA、Leonardoも40mAなのに対してUNO R4 Minimaは8mAです。

また、UNO R4 Minimaに搭載されているRA4M1の[データシート](https://www.renesas.com/jp/ja/document/dst/ra4m1-group-datasheet?r=1054146)によると全出力端子の総和の許容出力電流は60mAです。こちらもATmega328PやATmega32u4が100mA[^1]なのと比べると控えめです。

## 3. 8mAってどれくらい？
8mAはふつう（？）に使う分には足りるもののUNO R3やLeonardoのつもりで使うには足りない感じです。例えば[秋月電子通商](https://akizukidenshi.com/)のドライバー内蔵リレーモジュールキットのINPUTと5mm LED 12V（5V省電力版）を同一ポートに並列に接続すると約8.5mAの供給が必要となり許容出力電流を超えます。ディレーティングを考慮すると80%、6.4mA以下に抑えたいところです。

### 3.1 ドライバー内蔵リレーモジュールキット（秋月電子通商）
[「雑に作る」の感想＋α](https://qiita.com/pbjpkas/items/f0028f9501e473891b6e)で紹介した[ドライバ内蔵リレーモジュールキット](https://akizukidenshi.com/catalog/g/g113573/)の[回路図](https://akizukidenshi.com/goodsaffix/AE-G5V-DRV_schematic.pdf)を引用し以下の条件を当てはめると、4.3mAの電流供給がマイコンの汎用I/Oに求められます。

- トランジスタがONのときのV<sub>BE</sub>を0.7V
- INPUT端子に5.0Vを印加
![AE-G5V-DRV回路図](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221758/f5d039f4-f689-19e8-fbef-2fdaa5a6f330.png)

### 3.2 抵抗内蔵LED
[抵抗内蔵LEDのススメ](https://qiita.com/pbjpkas/items/8a0fc31529c56e8095dc)で紹介した「5mm LED 12V（5V省電力版）（秋月電子通商）」を5Vで点灯すると、4mA強の電流供給がマイコンの汎用I/Oに求められます。以下に[抵抗内蔵5mmLED 12V(5V省電力版) 赤色 640nm OSR6LU5B64A-12V](https://akizukidenshi.com/catalog/g/g106250/)の[データシート](https://akizukidenshi.com/goodsaffix/OSR6LU5B64A-12V.pdf)のV<sub>f</sub>-I<sub>f</sub>特性図を示します。

![OSR6LU5B64A-12V-VF-IF](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221758/a87f55d2-8fa4-7a93-a4ca-b7134b3604f4.png)

## 4. おわりに
高機能・高性能なUNO R4 Minimaが登場して選択肢が増えました。UNO R3、Leonardo、UNO R4 Minimaは搭載しているROM・RAMの容量やペリフェラル、許容電流、価格などで使い分けるのがよいでしょう。

例えばドライバー内蔵リレーモジュールキット（秋月電子通商）と抵抗内蔵LEDを併用するなら引き続きUNO R3やLeonardoの出番です。

一方で[ストップウォッチを使う性能テストを実ステップ300行に満たない自動テストシステムで自動化する](https://qiita.com/pbjpkas/items/d525d7d19095d1e26452)ではUNO R3を使用していますが、今から製作するならUNO R4 Minimaが候補になります。UNO R4 Minimaで十分供給可能な1mA程度の電流でLEDを点灯していたりUNO R3よりもUNO R4 Minimaの方が安価なためです。

特に今時のLEDはソフトウェアのテストツールの動作インジケータとして使うぶんには1mA程度でも十分明るいため抵抗内蔵LEDではなくふつうのLEDと外付けの電流制限抵抗を組み合わせてUNO R4 Minimaを採用するのがリーズナブルと思います。

[^1]: この書き方は厳密ではありません。正確な情報は[ATmega328P](https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf)や[ATmega16u4/ATmega32u4](https://ww1.microchip.com/downloads/en/devicedoc/atmel-7766-8-bit-avr-atmega16u4-32u4_datasheet.pdf)のデータシートのElectrical Characteristicsをご確認ください。