ESP32とは――Arduinoに無線を内蔵したマイコンの違いと活用法。
そのIoTプロジェクト、無線モジュールを別に配線していませんか。Arduinoとの違いから、Wi-Fi・Bluetoothの活用法、電圧面の注意点までを解説します。
目次
01ESP32は「無線内蔵のArduino」と考えると分かりやすい
結論から言えば、ESP32はArduino UNOとほぼ同じ感覚でプログラミングできるマイクロコントローラでありながら、Wi-FiとBluetoothを標準で搭載している点が最大の特徴である。Arduino UNOでインターネットに接続したい場合、外部のWi-Fiシールドやモジュールを別途用意する必要があったが、ESP32ではその手間がかからない。
実例として、ESP32とArduinoの違いを実際に使って比較した記事がある。はじめてのESP32開発ボードのおすすめ!(burariweb.info)では、Arduinoでは無線通信をする場合外部モジュールを接続する必要があったが、ESP32開発ボードではWi-Fi/Bluetoothモジュールが内蔵されているためこれを使って無線通信ができ、技適が取得されているモジュールなので安心して使うことができると説明されている。
編集部見解:ESP32の魅力は、単に無線機能があることではなく、Arduinoで培った学習経験(pinMode・digitalWrite・loop構造など)がほぼそのまま活かせる点にあると考えられる。Arduinoでの基礎を身につけた人が、次のステップとしてIoTに挑戦する際の橋渡し役として適したボードだといえる。
― YOFUKASI AI編集部
本記事では、ESP32の基礎知識からArduinoとの技術的な違い、そして実際にWi-Fiに接続するまでの手順と注意点までを、Arduino経験者を主な対象に体系的に解説する。
02ESP32の基礎知識とArduino IDEとの関係
ESP32は、中国のEspressif Systems社が開発したマイクロコントローラ(SoC:System on Chip)である。ESP32の技術仕様は、公式のデータシートで公開されている。ESP32 Datasheet(Espressif Documentation)には、ピン配置・電源仕様・無線機能など、製品として必要な情報が体系的にまとめられている。
ESP32の特徴を整理した記事もある。Arduinoユーザー必見!ESP32の特徴と活用法を徹底解説(よっしぃの技術ブログ)では、ESP32はデュアルコアのXtensa LX6を2基搭載しマルチタスクRTOSも余裕があるためリアルタイム制御と通信を同時にこなせること、Arduino IDEでそのまま書き込み可能で既存ライブラリの大半が動作し、DevKitCやWROOM-32開発ボードはArduino互換ピン配置になっていると説明されている。
用語の整理
- SoC(System on Chip):CPUや無線モジュールなどを1つのチップに集約した半導体。
- arduino-esp32:ESP32をArduino IDEから使うためのボードサポートパッケージ。
- BLE(Bluetooth Low Energy):低消費電力に特化したBluetoothの規格。ESP32はこれとBluetooth Classicの両方に対応する。
ESP32をArduino IDEで使うには、標準の状態では選択肢にESP32が出てこないため、環境設定からボードマネージャーのURLを追加し、専用のボード情報をインストールする必要がある。この手順はArduino UNOのセットアップとは異なる追加作業になる点に注意したい。Arduino IDE自体のインストール方法をもう一度確認したい場合は、以下の記事も参考になる。Arduino IDEのダウンロード・インストール方法はこちらの記事で解説している。
03動作電圧・GPIOの仕組みと技術的背景
ESP32を扱う上で最も注意すべき技術的な違いは、動作電圧である。Arduino UNOが5Vロジックで動作するのに対し、ESP32は3.0V〜3.6V(推奨3.3V)で動作する。この電圧仕様は公式データシートに明記されている。
ESP32のGPIO出力の実際の挙動を詳しく検証した記事もある。ESP32のGPIO出力について(Lang-ship)では、データシートのPower supply voltageの項目では3.0Vから3.6Vまでで推奨が3.3Vとなっており、デジタル出力はLOWの場合には0V、HIGHの場合には3.3Vの電圧を出力すると説明されている。Arduino UNOのHIGH出力(5V)とは明確に異なる点であり、Arduino向けに設計された5V系の部品をそのまま流用する際には注意が必要になる。
Arduino UNO向けに購入した5V仕様のセンサーモジュールを、そのままESP32のGPIOに接続してしまうケースは起こりやすい。動作確認レベルでは問題が表面化しないこともあるが、継続的な使用でESP32側の入力回路にダメージが蓄積するおそれがある。5V部品を使う場合は、レベル変換モジュールや分圧抵抗を経由させるのが安全である。
Arduino本体との電圧・ピン配置の違いをもう一度確認したい場合は、以下の記事も参考になる。Arduinoメインボード徹底解説はこちらの記事で紹介している。
04Arduino・ESP32・外部無線モジュール構成の比較
無線機能が必要なプロジェクトを組む場合、選択肢は主に3つに整理できる。
| 項目 | A. Arduino UNO単体 | B. ESP32単体 | C. Arduino+外部無線モジュール |
|---|---|---|---|
| 無線機能 | なし | Wi-Fi・Bluetooth内蔵 | モジュール次第(要別配線) |
| 動作電圧 | 5V | 3.3V | 5V(モジュール側は3.3V系が多い) |
| 配線の手間 | 少ない | 少ない | 多い(電圧変換等が必要な場合あり) |
| 既存の5V部品資産の流用 | そのまま使える | 変換が必要な場合がある | そのまま使える |
※各構成の特性の目安は編集部見解を含む。ESP32のスペック詳細はESP32 Datasheet(Espressif Documentation)を参照。
これから新規に無線プロジェクトを始めるなら、配線がシンプルなB案(ESP32単体)が扱いやすいことが多い。すでにArduino UNOで組んだ回路資産や5V系部品を活かしたい場合は、C案(外部無線モジュール追加)も現実的な選択肢である。
05実践:ESP32でWi-Fiに接続する5ステップ
ここでは「ESP32を自宅のWi-Fiに接続し、シリアルモニタで接続状況を確認する」という編集部想定シナリオを題材に、初期設定から接続確認までの具体的な手順を示す。
-
STEP1. Arduino IDEにESP32のボード情報を追加する
「ファイル」→「環境設定」から、追加のボードマネージャーのURLにESP32用のURLを登録し、ボードマネージャーからESP32のパッケージをインストールする。
実例:環境設定にESP32用のボードマネージャーURLを追加し、インストール後にボード選択欄に「ESP32 Dev Module」が表示されることを確認した。 -
STEP2. ボードとポートを選択する
「ツール」メニューから、使用しているESP32開発ボードの種類とシリアルポートを選択する。
実例:「ESP32 Dev Module」を選択し、接続されているCOMポートを指定した。 -
STEP3. WiFi.hをインクルードし、SSID・パスワードを設定する
標準ライブラリの
WiFi.hをインクルードし、接続先のWi-FiのSSIDとパスワードを変数として定義する。実例:#include <WiFi.h> const char* ssid = "MyWiFi"; const char* password = "mypassword";を記述した。 -
STEP4. setup()でWiFi.begin()を呼び出す
WiFi.begin(ssid, password);で接続を開始し、接続完了までシリアル出力でステータスを確認するループを書く。実例:WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }を記述した。 -
STEP5. 接続後にIPアドレスを表示して確認する
接続が完了したら、
WiFi.localIP()で取得したIPアドレスをシリアルモニタに表示する。実例:Serial.println(WiFi.localIP());を追加。初回は接続が完了せずタイムアウトしたため確認したところ、パスワードの入力ミスが原因だったことが判明した(編集部想定シナリオ)。修正後は正常にIPアドレスが表示された。
Arduinoの基礎的なコードの書き方をもう一度確認したい場合は、以下の記事も参考になる。
06注意点・よくある誤解
ESP32は3.3Vロジックで動作するため、Arduino UNO(5Vロジック)向けに設計された部品を直接接続すると、ESP32側の入力回路を損傷させるおそれがある。5V系の部品を使う場合は、レベル変換回路や分圧抵抗を経由させる必要がある。
ESP32チップ自体の無線モジュールは技適を取得しているものが多いが、販売されている開発ボード・完成品すべてが日本国内向けに認証されているとは限らない。購入時に技適マークの有無を確認する習慣は、無線モジュールを扱う以上ESP32でも変わらず重要である。
基本的な文法や関数の多くは共通しているが、GPIOのピン配置やアナログ入力の仕様、一部のライブラリの挙動はArduino UNOと異なる場合がある。Arduino UNO用のスケッチをESP32に移植する際は、ピン番号やアナログ入力範囲などを個別に確認する必要がある。
07FAQ
参考文献
- Espressif Systems「ESP32 Datasheet」Espressif Documentation. https://documentation.espressif.com/esp32_datasheet_en.html
- よっしぃ「Arduinoユーザー必見!ESP32の特徴と活用法を徹底解説【2025年版】」よっしぃの技術ブログ, 2025年. https://dryossy.com/about-esp32-arduino/
- burariweb.info「はじめてのESP32開発ボードのおすすめ!」burariweb.info, 2023年. https://burariweb.info/electronic-work/esp-wroom-32d.html
- Lang-ship「ESP32のGPIO出力について」Lang-ship, 2021年. https://lang-ship.com/blog/work/esp32-gpio-output/
- 本文中の具体的な原因特定エピソードは、断りのない限り編集部想定シナリオに基づく想定であり、実測データではありません。
関連記事(内部リンク)
- Arduinoメインボード徹底解説 ― 初心者からプロまで、これだけ読めば全てがわかる! ― https://yofukasi-lab-wp.com/2025/03/07/mainboard/
- Arduino IDEのダウンロード・インストール方法【2026年版】Windows・Mac・Linux対応 ― https://yofukasi-lab-wp.com/2026/08/01/arduino-install-download/
- Arduinoのコードの書き方|基礎から応用まで全てがわかる初心者の手引き ― https://yofukasi-lab-wp.com/2025/03/07/arduino-cord/
コメント