ESP32とは――Arduinoに無線を内蔵したマイコンの違いと活用法

プログラミング・電子工作






ESP32とは――Arduinoに無線を内蔵したマイコンの違いと活用法。|YOFUKASI AI




Arduino / ESP32 / 電子工作

ESP32とは――Arduinoに無線を内蔵したマイコンの違いと活用法。

そのIoTプロジェクト、無線モジュールを別に配線していませんか。Arduinoとの違いから、Wi-Fi・Bluetoothの活用法、電圧面の注意点までを解説します。

YOFUKASI AI編集部 | 更新日:2026年8月18日 | 読了目安:約13分

Chapter 01 — Introduction

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経験者を主な対象に体系的に解説する。



Chapter 02 — Background

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のダウンロード・インストール方法はこちらの記事で解説している

Chapter 03 — Mechanism

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メインボード徹底解説はこちらの記事で紹介している



Chapter 04 — Comparison

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案(外部無線モジュール追加)も現実的な選択肢である。

Chapter 05 — Practice

05実践:ESP32でWi-Fiに接続する5ステップ

ここでは「ESP32を自宅のWi-Fiに接続し、シリアルモニタで接続状況を確認する」という編集部想定シナリオを題材に、初期設定から接続確認までの具体的な手順を示す。

  1. STEP1. Arduino IDEにESP32のボード情報を追加する

    「ファイル」→「環境設定」から、追加のボードマネージャーのURLにESP32用のURLを登録し、ボードマネージャーからESP32のパッケージをインストールする。

    実例:環境設定にESP32用のボードマネージャーURLを追加し、インストール後にボード選択欄に「ESP32 Dev Module」が表示されることを確認した。
  2. STEP2. ボードとポートを選択する

    「ツール」メニューから、使用しているESP32開発ボードの種類とシリアルポートを選択する。

    実例:「ESP32 Dev Module」を選択し、接続されているCOMポートを指定した。
  3. STEP3. WiFi.hをインクルードし、SSID・パスワードを設定する

    標準ライブラリのWiFi.hをインクルードし、接続先のWi-FiのSSIDとパスワードを変数として定義する。

    実例:#include <WiFi.h> const char* ssid = "MyWiFi"; const char* password = "mypassword";を記述した。
  4. STEP4. setup()でWiFi.begin()を呼び出す

    WiFi.begin(ssid, password);で接続を開始し、接続完了までシリアル出力でステータスを確認するループを書く。

    実例:WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }を記述した。
  5. STEP5. 接続後にIPアドレスを表示して確認する

    接続が完了したら、WiFi.localIP()で取得したIPアドレスをシリアルモニタに表示する。

    実例:Serial.println(WiFi.localIP());を追加。初回は接続が完了せずタイムアウトしたため確認したところ、パスワードの入力ミスが原因だったことが判明した(編集部想定シナリオ)。修正後は正常にIPアドレスが表示された。

Arduinoの基礎的なコードの書き方をもう一度確認したい場合は、以下の記事も参考になる。

Arduinoのコードの書き方の基礎はこちらの記事で詳しく解説している

Chapter 06 — Pitfalls

06注意点・よくある誤解

!誤解1. Arduino向けの5V部品をそのままESP32に使ってよい

ESP32は3.3Vロジックで動作するため、Arduino UNO(5Vロジック)向けに設計された部品を直接接続すると、ESP32側の入力回路を損傷させるおそれがある。5V系の部品を使う場合は、レベル変換回路や分圧抵抗を経由させる必要がある。

!誤解2. ESP32という名前の製品はすべて技適が取得されている

ESP32チップ自体の無線モジュールは技適を取得しているものが多いが、販売されている開発ボード・完成品すべてが日本国内向けに認証されているとは限らない。購入時に技適マークの有無を確認する習慣は、無線モジュールを扱う以上ESP32でも変わらず重要である。

!誤解3. ESP32ならArduino UNO用のコードがそのまま完全に動く

基本的な文法や関数の多くは共通しているが、GPIOのピン配置やアナログ入力の仕様、一部のライブラリの挙動はArduino UNOと異なる場合がある。Arduino UNO用のスケッチをESP32に移植する際は、ピン番号やアナログ入力範囲などを個別に確認する必要がある。



Chapter 07 — FAQ

07FAQ

Q.ESP32とは何ですか。
A.ESP32は、中国のEspressif Systems社が開発したマイクロコントローラ(SoC)です。Wi-FiとBluetooth(BLEおよびBluetooth Classic)を標準で内蔵しているのが最大の特徴で、Arduino IDEを使ってArduinoとほぼ同じ感覚でプログラミングできます。

Q.ESP32とArduino UNOの最大の違いは何ですか。
A.最大の違いはWi-Fi・Bluetoothの有無と動作電圧です。Arduino UNOは無線機能を持たず動作電圧が5Vですが、ESP32はWi-Fi・Bluetoothを標準搭載し、動作電圧は3.3Vです。またESP32はデュアルコアのCPUを搭載しており、処理性能もArduino UNOより高い傾向にあります。

Q.ESP32はArduino IDEでそのまま使えますか。
A.使えます。ただし、標準の状態ではボードマネージャーにESP32が登録されていないため、環境設定から追加のボードマネージャーURLを登録し、ESP32用のボード情報をインストールする必要があります。インストール後は、Arduino UNOなどと同様にボードを選択してスケッチを書き込めます。

Q.ESP32のGPIOにArduino用の5V部品を直接繋いでも大丈夫ですか。
A.推奨されません。ESP32の動作電圧は3.0V〜3.6V(推奨3.3V)であり、5V系の信号を直接入力すると、ESP32を損傷させるおそれがあります。Arduino向けに設計された5V系の部品を使う場合は、レベル変換回路や分圧抵抗を挟んで3.3Vに変換する必要があります。

Q.ESP32を使ってWi-Fi経由でセンサー値をクラウドに送ることはできますか。
A.できます。ESP32はWi-Fiライブラリを使ってアクセスポイントに接続し、HTTPリクエストやMQTTなどのプロトコルでセンサー値をクラウドサービスに送信できます。外部のWi-Fiモジュールを別途配線する必要がないため、比較的少ない配線でIoTプロジェクトを構築できます。

Q.初めての無線プロジェクトなら、ESP32とArduino+外部無線モジュールのどちらを選ぶべきですか。
A.多くの場合、ESP32単体の方が配線がシンプルになり、部品コストも抑えられるため、初めての無線プロジェクトにはESP32が扱いやすいと考えられます。ただし、すでにArduino UNO向けに組んだ回路資産がある場合や、5V系の周辺部品をそのまま使いたい場合は、Arduinoに外部無線モジュールを追加する構成も選択肢になります(編集部見解)。

参考文献

関連記事(内部リンク)


関連記事

特集記事

コメント

この記事へのコメントはありません。

TOP
CLOSE