【最新版】Arduinoメインボード徹底解説|Uno・Nano・Mega・Leonardo・Due・MKRの選び方完全ガイド
本記事では、Arduinoのメインボードについて、初心者から中級者・上級者までが「これだけ読めばすべてがわかる」と感じられるよう、公式ドキュメントの仕様に基づいて詳しく解説します。
代表的なボードの比較表・詳細スペック・サンプルコード・トラブルシューティングまでを網羅し、あなたのプロジェクトに最適な1枚を選べるようにまとめました。
📑 目次
Arduinoとは?
Arduino(アルドゥイーノ)は、手軽にプログラミングと電子工作が始められるオープンソースの電子プロトタイピング・プラットフォームです。公式サイトはarduino.ccで、最新のドキュメントやファームウェア情報が公開されています。主に以下の特徴を持ちます。
- シンプルな開発環境:Arduino IDEと呼ばれる開発環境を使うことで、C/C++をベースにした記法でプログラミングが可能。初心者でも比較的取り組みやすい設計になっています。
- 豊富なドキュメントとコミュニティ:世界中のユーザーや開発者がドキュメント・サンプルコードを公開しており、学習やトラブルシューティングがしやすい環境が整っています。
- 拡張性:ボードに重ねて使う拡張基板(シールド)が多数存在し、センサーや無線通信などの機能を簡単に追加できます。
- 多彩なラインナップ:Arduino UnoやArduino Megaなど多くの種類があり、プロジェクトの規模や用途に合わせて選択できます。
Arduinoの主なボード

Arduinoには多くの種類が存在しますが、ここでは実用面で代表的な以下のボードを紹介します。
- Arduino Uno(R3/2024年以降はR4 Minima・R4 WiFiが最新モデル)
- Arduino Mega 2560
- Arduino Leonardo
- Arduino Nano
- Arduino Micro
- Arduino Due
- Arduino MKR シリーズ(MKR1000など)
それぞれのボードは、搭載マイコン、I/Oピン数、動作電圧、メモリ容量などが異なり、用途や必要とするリソースに応じて使い分けます。ボード選びで迷ったら Arduino Uno・Nano・Mega・Leonardoの違いと選び方比較表 もあわせてチェックしてみてください。
2026年時点の最新事情:Arduino Uno R4シリーズについて
従来のUno R3(ATmega328P搭載)に加え、2023年以降は32ビットのRenesas RA4M1(Arm Cortex-M4、48MHz)を搭載した「Uno R4 Minima」「Uno R4 WiFi」が登場しています。フラッシュ256KB・SRAM32KB・EEPROM8KBとR3の約4〜8倍のメモリを持ち、USB-C接続や12ビットDAC、CANバスにも対応。動作電圧は従来通り5Vのため、既存のUno用シールドとの互換性も保たれています。
WiFi版はESP32-S3モジュールとLEDマトリクスを追加搭載し、無線通信を使いたい場合に向いています。本記事の比較表・詳細解説は、現在も広く使われ情報量の多い定番モデル(Uno R3ベース)を中心に構成していますが、これから新規に購入するなら上位互換のR4シリーズも選択肢に入れる価値があります。
代表的なArduinoボード比較表

| ボード名 | マイコン | 動作電圧 | クロック周波数 | フラッシュメモリ | SRAM | EEPROM | デジタルI/Oピン | アナログ入力ピン | USBインターフェース | 特徴 |
|---|---|---|---|---|---|---|---|---|---|---|
| Arduino Uno(R3) | ATmega328P | 5V | 16MHz | 32KB(うち0.5KBはブートローダーが使用) | 2KB | 1KB | 14(うち6本がPWM対応) | 6 | Type-B(オス) | もっとも一般的。初心者におすすめの定番機 |
| Arduino Mega 2560 | ATmega2560 | 5V | 16MHz | 256KB | 8KB | 4KB | 54(うち15本がPWM対応) | 16 | Type-B(オス) | 大規模プロジェクト向け。I/Oピン数・メモリ量が非常に多い |
| Arduino Leonardo | ATmega32U4 | 5V | 16MHz | 32KB(うち4KBはブートローダーが使用) | 2.5KB | 1KB | 20(うち7本がPWM対応) | 12 | Micro-USB | USB-HID(キーボード/マウス化)が可能 |
| Arduino Nano | ATmega328P | 5V | 16MHz | 32KB(うち2KBはブートローダーが使用) | 2KB | 1KB | 14(うち6本がPWM対応) | 8 | Mini-B USB | 小型・ブレッドボード上での使用に適する。仕様はUnoとほぼ同等 |
| Arduino Micro | ATmega32U4 | 5V | 16MHz | 32KB(うち4KBはブートローダーが使用) | 2.5KB | 1KB | 20(うち7本がPWM対応) | 12 | Micro-USB | Leonardoに近い仕様をさらに小型化 |
| Arduino Due | SAM3X8E(32bit ARM Cortex-M3) | 3.3V | 84MHz | 512KB | 96KB | なし(バッテリーバックアップRTC等は非搭載) | 54(うち12本がPWM対応) | 12 | Micro-USB(プログラミング用/ネイティブ用の2ポート) | 32ビットマイコン搭載、高速演算が可能。5V耐性がないため要注意 |
| Arduino MKR1000 | SAMD21(32bit ARM Cortex-M0+)/Wi-Fiモジュール(WINC1500)搭載 | 3.3V | 48MHz | 256KB | 32KB | なし | 8(うちPWM出力対応ピンを含め最大12本がPWM利用可) | 7 | Micro-USB | Wi-Fiモジュール内蔵、IoTプロジェクト向け |
※Uno・Mega・Leonardo・Nano・Microは5V駆動、Due・MKRシリーズは3.3V駆動です。3.3V系ボードのピンに5V信号を直接入力すると故障の原因になるため、レベル変換や分圧回路を挟むなど注意してください。
※classicなArduino Nano(Nano V3系)の動作電圧は5Vのみです。3.3V駆動が必要な小型プロジェクトには、別系統の「Arduino Nano 33 IoT」など3.3V専用モデルを検討してください(本記事の比較表はNano V3系を対象としています)。
各ボードの詳細解説
Arduino Uno
- 概要:Arduinoシリーズの定番。初心者向けの学習教材やサンプルがもっとも多く、書籍やネット上の情報も豊富です。
- 特徴:
- ATmega328Pを搭載し、5V駆動で16MHz動作。
- デジタルI/Oが14本(うち6本がPWM対応)、アナログ入力が6本。
- シールドとの互換性が非常に高く、ほぼすべてのシールドがUnoを基準に設計されています。
- おすすめポイント:入門用に最適で、トラブルシューティングも容易。価格も比較的安価です。互換機やクローンボードを検討している方は Arduino Unoの互換機・クローンボードの見極め方 も参考にしてください。
Arduino Mega 2560
- 概要:I/Oピン数やメモリが大幅に増強された上位互換版です。
- 特徴:
- ATmega2560を搭載し、5V駆動で16MHz動作。
- フラッシュメモリが256KB、SRAMが8KBと大容量。
- デジタルI/Oが54本(うち15本がPWM対応)、アナログ入力16本を備え、大規模なプロジェクトに最適。
- おすすめポイント:多数のセンサーやモーターを同時に制御したい場合や、大規模なコード・ライブラリを多用するプロジェクトに向いています。
Arduino Leonardo
- 概要:ATmega32U4を搭載し、USB機能がマイコンに内蔵されています。
- 特徴:
- キーボードやマウスとして振る舞うUSB-HID機能を簡単に実装可能。
- デジタルI/O 20本(7本がPWM対応)、アナログ入力12本で、Unoよりも入出力の選択肢が多め。
- おすすめポイント:PCと直接USBデバイス(キーボードやマウス)として連携させるプロジェクトに最適です。
Arduino Nano
- 概要:Uno同等の機能をより小型にしたボード。ピンヘッダをハンダ付けすれば、ブレッドボードに直接挿せます。
- 特徴:
- ATmega328P搭載。基本スペックはUnoとほぼ同じ(動作電圧は5V)。
- ブレッドボード完全攻略ガイドと組み合わせたプロトタイピングに便利です。
- Mini-B USBで書き込み・シリアル通信を行います(モデルによりMicro-USB採用のクローンも存在)。
- おすすめポイント:小型で安価。同等のチップであるため、Unoと同じスケッチがほぼそのまま動作します。
Arduino Micro
- 概要:Leonardoとほぼ同じ機能をさらに小型化したボードです(Adafruitとの共同開発)。
- 特徴:
- ATmega32U4搭載。USB-HID機能が使える。
- 小型でブレッドボードや省スペースなプロジェクトに向く。
- おすすめポイント:キーボード/マウス化のようなLeonardo固有の機能を、より小さいフォームファクタで実装できます。
Arduino Due
- 概要:32ビットARMコア(SAM3X8E/Cortex-M3)を搭載し、高速演算が可能なモデルです。
- 特徴:
- 動作電圧は3.3V、84MHzクロック。
- フラッシュメモリ512KB、SRAM 96KBと大容量。
- デジタルI/O 54本、うち12本がPWM対応。アナログ入力12本、2chのDAC(アナログ出力)も搭載。
- I/Oピンの最大許容電圧は3.3Vです。5Vを直接入力するとボードを破損するおそれがあるため注意してください。
- おすすめポイント:浮動小数点演算や高速処理を必要とするプロジェクトに最適。3.3V専用なので他の5Vボードと電圧仕様が異なる点に注意しましょう。
Arduino MKR シリーズ
- 概要:MKR1000やMKR WiFi 1010、MKR WAN 1300など、IoT向けに特化した小型ボード群です。
- 特徴:
- SAMD21(32bit ARMコア)を搭載。3.3V動作、48MHz。
- MKR1000はWi-Fiモジュール(WINC1500)内蔵、MKR GSM 1400はセルラー通信内蔵など、ネットワーク機能を強化したモデルが多数存在します。
- コンパクトでピン数を絞っている分、低消費電力プロジェクトにも向いています。
- おすすめポイント:IoT(Internet of Things)プロジェクトに最適。ネットワーク機能が標準搭載されており、追加モジュールを要さずに通信が可能です。
ピン配置とI/O機能
Arduinoのボードには、デジタルI/Oピンとアナログ入力ピンがあります。それぞれの使い方を簡単に整理します。基礎から詳しく学びたい方は Arduinoのピンモード(pinMode)の基礎解説 や analogRead・analogWriteの使い方 もあわせてご覧ください。
- デジタルI/Oピン
pinMode(pin, INPUT/OUTPUT);で入力か出力かを指定します。出力に設定した場合はdigitalWrite(pin, HIGH/LOW);で電圧HIGH(5Vまたは3.3V)またはLOW(0V)を出力。入力に設定した場合はdigitalRead(pin);でHIGHかLOWかを読み取ります。 - PWMピン
デジタルピンの一部はPWM(パルス幅変調)に対応しています。analogWrite(pin, 値);で0〜255の値でデューティ比を制御できます(実際のアナログ電圧ではなく、高速なON/OFFの繰り返しで疑似的なアナログ出力を再現する方式です)。 - アナログ入力ピン
analogRead(pin);で0〜1023の範囲(10ビット)の値を取得できます。可変抵抗(ポテンショメータ)やアナログ出力式のセンサーの値を読み取るのに使用します。 - シリアル通信
Unoなどではピン0(RX)とピン1(TX)がハードウェアUARTに対応しています。Megaなど一部のボードでは、Serial1、Serial2、Serial3のように複数のUARTを持つ場合があります。
Arduinoスケッチとプログラミングの基本
Arduinoのプログラムはスケッチと呼ばれ、C/C++をベースにした関数や構造を使って記述します。Arduino IDEでコードを書き、USB経由でアップロードすると、すぐに動作を確認できます。基本構造は以下の2つの関数で構成されます。詳しい実行順序は Arduinoのsetup()とloop()とは?実行順序と書き方 でも解説しています。
void setup() {
// 初期化処理をここに書く(ピンモード設定、シリアル通信開始、など)
}
void loop() {
// メインループ。ここに繰り返し実行したい処理を書く
}
setup() 関数は、スケッチが起動した時に一度だけ呼び出されます。主にピンの入出力モードの設定や通信の初期化を行います。loop() 関数は setup() の後に繰り返し呼ばれ、Arduinoのメイン処理はここに書きます。
例:LED点滅プログラム(Blink)
Arduinoの最も基本的なサンプルとして、LEDを点滅させるコードを示します。Uno・Mega・Nanoなど多くのボードには、基板上に「13番ピン(LED_BUILTIN)」に接続されたLEDが搭載されています。
// Blink.ino
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTINは通常13番ピンと定義されている
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // LEDを点灯
delay(1000); // 1000ミリ秒(1秒)待機
digitalWrite(LED_BUILTIN, LOW); // LEDを消灯
delay(1000); // 再び1秒待機
}
digitalWrite(pin, HIGH/LOW); のHIGHとLOWを1秒ごとに切り替えることで点滅を実現しています。delay(ms); は指定ミリ秒だけ処理を停止させるArduino標準関数です。配線から抵抗値の計算まで詳しく知りたい方は ArduinoでLEDを光らせる基本回路|配線から抵抗値計算まで をご覧ください。なお、delay()で処理を止めたくない場合は millis()でdelayを使わない書き方 が役立ちます。
電源と動作電圧

ArduinoにはUSBからの給電のほか、外部電源ジャックやVINピンなどからの給電が可能です。ただし、ボードごとの動作電圧や入力電圧の範囲を守る必要があります。
- Uno, Mega, Leonardo, Nano, Micro など(5V系)
通常の動作電圧は5V。USB接続時は5Vが供給されます。外部電源(7〜12V推奨、ボードにより上限は異なる)をジャックやVINピンから入力すると、ボード上のレギュレータで5Vに降圧されます。 - Due, MKRシリーズ(3.3V系)
動作電圧が3.3V。5V入力をI/Oピンに与えると故障のおそれがあります。外部電源入力は機種により6〜20V程度まで可能ですが、ボード上のレギュレータで3.3Vへ降圧されます。 - 電源ピン
5Vピン:Unoなど5Vボードは出力として5Vを供給。3.3Vピン:一部ボードで3.3Vが使用可能。GNDピン:グラウンド(0V)。 - 注意点
大電流を必要とするセンサーやモーターを駆動する場合は、Arduinoの電源ピンから直接供給せず、外部電源を用意し、GNDを共通化するのが一般的です。各ピンの最大定格電流(多くの5V系AVRボードで1ピンあたり最大40mA程度、3.3V系ではさらに小さい)を超えないよう注意してください。
シールド拡張と互換性
Arduinoには豊富な拡張シールドが存在します。たとえば以下のようなものがあります。
- Ethernetシールド:LANケーブルを使って有線でネットワーク通信が可能。
- Wi-Fiシールド:無線LAN(Wi-Fi)を使ったネットワーク通信が可能。
- Motor/Driverシールド:DCモーターやステッピングモーターなどを簡単に駆動できる。
- LCD/OLEDシールド:ディスプレイとボタンがまとまった拡張ボード。配線・表示方法は Arduino×I2C液晶(LCD)の配線と表示方法、ArduinoでOLEDディスプレイに文字を表示する方法 で解説しています。
- GPSシールド:GPS機能を簡単に追加できる。
シールドは一般的にArduino Unoのピン配置に準拠して設計されているため、UnoやMegaなどはほぼそのまま差し込めます。ただしDueやMKRシリーズなど、ピン配置や動作電圧が異なる場合もあるので、動作電圧やピン互換性を必ず確認しましょう。プロジェクトで使うライブラリの管理方法は Arduinoライブラリの入れ方・作り方・管理方法まとめ も参考にしてください。
選び方のポイント
- 初心者
まずは迷わずArduino Unoを選ぶのがおすすめ。情報量が多く、学習に適しています。予算に余裕があれば、32ビット化された最新のUno R4 Minima/WiFiも選択肢です。 - I/Oピン数が足りない/大規模プロジェクト
センサーやモーターを大量に接続する場合はArduino Mega 2560がおすすめ。メモリも多く、スケッチが大きくなっても安心です。 - USB-HID機能を活かしたい
Arduino LeonardoまたはArduino Micro。PC側でキーボードやマウス入力をシミュレーションできます。 - 小型・省スペースにしたい
Arduino NanoやMicro。ブレッドボードでの利用や組み込み向けに最適です。 - 高速演算や32ビット精度が必要
Arduino Due。ただし3.3V専用である点に注意してください。 - IoT・ネットワーク機能が必要
Arduino MKR シリーズ(MKR1000、MKR WiFi 1010など)やUno R4 WiFi。Wi-FiやGSM、LoRaなど無線通信モジュールを標準搭載しているモデルもあります。
ボード選びに迷ったら Arduino Uno・Nano・Mega・Leonardoの違いと選び方比較表 で用途別の比較を確認するのもおすすめです。純正品とクローン品の違いが気になる方は Arduino Unoの互換機・クローンボードの見極め方 も参考にしてください。
応用例:複数センサーを使うプロジェクト
Arduinoを使って複数のセンサーを読み取り、PCに送信するプロジェクトの例です。温度センサー(アナログ入力)と照度センサー(アナログ入力)の値を読み取り、シリアルモニタに出力するコードを紹介します。
// SensorRead.ino
// センサーが接続されたピン(アナログ入力)を定義
const int tempPin = A0;
const int lightPin = A1;
void setup() {
Serial.begin(9600); // シリアル通信開始
}
void loop() {
int tempValue = analogRead(tempPin); // 0~1023の値
int lightValue = analogRead(lightPin); // 0~1023の値
// 温度センサーの出力特性に応じた換算式は、使用するセンサーのデータシートを確認してください
float voltage = tempValue * (5.0 / 1024.0); // Uno/Nano/Mega等5V系ボードの場合の電圧換算例
// シリアル出力
Serial.print("Sensor Voltage: ");
Serial.print(voltage);
Serial.print(" V, Light: ");
Serial.println(lightValue);
delay(1000); // 1秒ごとに読み取り
}
Arduino Unoの場合、アナログリファレンス電圧は5Vが標準なので (5.0 / 1024.0) で電圧に変換しています。MKRやDueなど3.3V駆動のボードを使う場合はリファレンス電圧が3.3Vになるため、計算式を変える必要があります。動作の様子を確認するには Arduinoのシリアルモニタ活用術|デバッグを爆速にするコツ や ArduinoとPCのシリアル通信入門|Serial.printで値を可視化する が参考になります。
センサーで取得したデータをリハビリテーションや動作解析に応用する事例としては、ArduinoとPythonとセンサーを用いたリハビリテーションへの応用 もご覧ください。ゲーム制作に興味がある方には Arduino×Pygameのジャンプゲームのコード徹底解説 や リアルタイム握力計測ゲームのコードを徹底解説 もおすすめです。
トラブルシューティングのコツ

- 書き込みエラー
USBケーブルの接続を確認しましょう(充電専用ケーブルではデータ通信ができない場合があります)。Arduino IDEで正しいボードとポートが選択されているかチェックし、ボードのリセットボタンを押してから再度書き込みを試してください。ポートが認識されない場合は Arduinoが「ポートが見つからない」時の原因と解決策まとめ、書き込み時にavrdude関連のエラーが出る場合は Arduinoのavrdude書き込みエラーの原因と対処法 を確認してください。 - 電源が入らない・動作しない
外部電源使用時はボードに適した電圧・極性で供給しているか確認しましょう。 - ピンが応答しない・センサー値が0固定
ピン番号や配線を間違えていないか、アナログ入力とデジタル入力を混同していないか、GNDが共通化されているかを確認してください。 - ライブラリの競合
同じ機能を持つ複数のライブラリをインストールしている場合、エラーが発生することがあります。不要なライブラリを削除・無効化して再コンパイルしましょう。管理方法は Arduinoライブラリの入れ方・作り方・管理方法まとめ を参照してください。 - シリアルモニタの文字化け
ボーレートの設定がずれていると文字化けが発生します。Arduinoのシリアルモニタが文字化けする原因と直し方 で対処法を確認できます。 - コンパイルエラー
エラーメッセージの種類ごとの対処法は Arduinoのコンパイルエラー一覧|書き込み・動作トラブル対処法 にまとめています。
まとめ
- Arduinoはオープンソースのハードウェア/ソフトウェアプラットフォームで、電子工作やプロトタイピングに最適です。
- メインボードは用途に応じて多様なバリエーションがあります。初心者はArduino Uno、大規模I/Oが必要ならMega、USBデバイス化ならLeonardo/Micro、高速・32ビット演算ならDue、IoTならMKRシリーズやUno R4 WiFiを選ぶとよいでしょう。
- シンプルなプログラミング構造と豊富なシールド・ライブラリにより、短時間でプロトタイプを作成できます。
- 動作電圧(5V系と3.3V系)やピン互換など、ボード特性を理解してプロジェクトに適切なボードを選択することが大切です。
この記事を参考に、ぜひ自分に合ったArduinoボードを選び、自由な発想で電子工作やIoTプロジェクトを楽しんでください。Arduinoの豊富なコミュニティとドキュメントがあなたの創造を強力にサポートしてくれます。
コメント