【資料室】ESP32類のチップやモジュール、ボード種類について

Osoyoo社のNodeMCU ESP2866系 NodeMCU(ESP-12F搭載)

ESP8266、ESP32、そしてそれらを搭載した関連ボードについて、違いと関係性をシンプルにまとめます。

これらは大きく「SoC(頭脳)」「モジュール」「開発ボード」の3つのカテゴリーに分類できます。

  • SoC (System on a Chip): Wi-Fi機能などを持つマイクロコントローラ本体。チップそのものです。
    • ESP8266
    • ESP32
  • モジュール: SoCにフラッシュメモリやアンテナなどを付けて、少し扱いやすくした小さな基板に実装して使用するコンポーネントとしてのモジュールで、単体で500円前後で売られています。
    • ESP-12F (ESP8266を搭載)
    • ESP32-WROOM-32(ESP32を搭載)
  • 開発ボード: モジュールにUSBポートや電源回路などを搭載し、PCと接続してすぐに開発を始められるようにした基板で1000円から売られています。
    • NodeMCU (主にESP-12Fを搭載)
    • ESP32-DevKitC (ESP32を搭載)
    • NodeMCU-32S (ESP32を搭載)

NodeMCU オススメ商品(Amazon 3個入りで2,241円)

ESP32モジュール搭載 人気順リスト


第1位: ESP32-WROOM-32 シリーズ (32D, 32E を含む)

特徴:

  • 事実上の標準 (デファクトスタンダード): ESP32の中で最も広く普及しており、情報量、作例、対応する開発ボードが圧倒的に豊富です。
  • 高い汎用性: Wi-FiとBluetooth(クラシック/BLE)に対応し、一般的なIoTプロジェクトの要件を十分に満たします。
  • 入手性の良さ: 多くのメーカーからこのモジュールを搭載した開発ボードが安価に販売されています。

「迷ったらこれ」と言える、最も信頼性が高く、基本となるモジュールです。


第2位: ESP32-S3-WROOM-1

特徴:

  • 新世代の主力: より高性能なXtensa LX7デュアルコアプロセッサを搭載しています。
  • ネイティブUSB対応: USB-OTGをサポートし、PCにUSBキーボードやマウスとして認識させたり、USBメモリを接続したりといった高度な機能が利用できます。
  • AI命令セット: 機械学習の推論処理を高速化する命令が追加されており、エッジAI用途での活用が期待されています。

新しいプロジェクトや、USB機能、AI機能を使いたい場合に最適な、次世代のスタンダードモジュールです。


第3.位: ESP32-WROVER シリーズ (WROVER-B, WROVER-E など)

特徴:

  • PSRAM搭載: WROOMシリーズとの最大の違いは、PSRAM (擬似SRAM) という追加メモリを搭載している点です。
  • 大容量メモリ: カメラで撮影した画像のバッファや、高解像度のグラフィックLCDの表示、音声処理など、大量のメモリを必要とするプロジェクトに不可欠です。
  • 特定用途で必須: 用途は限定されますが、メモリを大量に使う界隈では絶大な人気と信頼性を誇ります。

カメラや液晶を使ったリッチなアプリケーションを開発する際の決定版モジュールです。


第4位: ESP32-C3-MINI-1

特徴:

  • 低コスト・省電力: プロセッサにRISC-Vシングルコアを採用し、コストと消費電力を抑えています。
  • 最新の無線規格: Wi-Fi 4とBluetooth 5 (LE)に対応しています。
  • 小型: モジュールサイズが小さく、コンパクトな製品への組み込みに適しています。

シンプルなセンサーノードや、スマートプラグなど、コストとサイズが重視されるIoTデバイスに人気のモジュールです。


関係性

  • ESP8266チップはESP-12Fモジュールに搭載されます。
  • そのESP-12FモジュールがNodeMCU開発ボードに乗っています。
  • ESP32チップはESP32-DevKitCNodeMCU-32Sなどの開発ボードに直接搭載されます。

Socの違い:ESP8266 vs ESP32

ESP32ESP8266のパワフルな後継機です。

機能ESP8266ESP32
CPUシングルコアデュアルコア
動作クロック80MHz最大240MHz
Wi-Fi2.4GHz2.4GHz
Bluetoothなしあり (Classic/BLE)
GPIO数約17本約34本
その他タッチセンサー、ホールセンサー等内蔵
価格安価ESP8266より少し高価
主な用途単純なセンサーデータの送信: 定期的に温度などを測定し、クラウドに送信するだけ。
シンプルなON/OFF制御: スマホからWi-Fi経由でリレーやLEDを操作するだけ。
小型・省電力: ESP32より若干消費電力が少ない傾向があり、基板サイズも小さく作れます。
Webサーバー機能: ブラウザからアクセスして設定変更やデータ表示を行う場合。
Bluetoothとの併用: Wi-FiとBluetooth (BLE) を同時に使いたい場合。
高速なデータ処理: 複数のセンサーから高頻度でデータを取得・処理する場合。
セキュアな通信: HTTPS(TLS)など暗号化通信を行う場合(ESP8266では処理が非常に重い)。
画面表示: M5Stackのように、液晶ディスプレイへの描画と通信を同時に行う場合。
  • 選び方:
    • とにかく安く、シンプルなWi-Fi機能だけで十分なら ESP8266
    • より高速な処理、Bluetooth、多くの入出力ピンが必要なら ESP32 を選ぶのが一般的です。

モジュール: ESP-12F

ESP-12Fは、ESP8266チップを搭載したモジュールの中で、最も人気があり安定しているモデルの一つです。金属シールドで覆われており、基板に実装しやすいように設計されています。多くのESP8266開発ボード(後述のNodeMCUなど)で採用されています。

ESP-12Fモジュールは、Espressif Systems社のESP8266EXというSoC(システムオンチップ)を搭載しています。このESP8266EXに内蔵されているCPUが、Tensilica L106 という32ビットのシングルコアプロセッサです。

Tensilica L106は、RISC (Reduced Instruction Set Computing) に基づいて省電力でコンパクトな32ビットのマイクロコントローラ(CPUコア)です。

アメリカの半導体IPコアベンダーであるTensilica社(現在はケイデンス・デザイン・システムズ社の一部門)によって開発されました。正式には「Xtensa Diamond Standard 106Micro」という名称ですが、特に有名な採用事例であるESP8266で「L106」と呼ばれたことから、この名前で広く知られています。


開発ボード: すぐに使える便利な基板

開発ボードは、SoCやモジュールをブレッドボードに挿して使えるようにし、USB経由でのプログラム書き込みや給電を可能にしたものです。

  • NodeMCU (ESP8266搭載)
    • ESP-12Fモジュールを搭載した、ESP8266開発ボードの事実上の標準です。
    • USBでPCに接続するだけで、Arduino IDEなどを使って簡単に開発を始められます。
  • ESP32-DevKitC
    • ESP32の開発元であるEspressif Systems社が公式に提供する開発ボードです。
    • ESP32開発のリファレンス(基準)モデルとされています。様々なピン数のバリエーションがあり、作りたいものに合わせて、どのチップファミリー(C3, S3, C6など)を搭載したDevKitCが最適かを基準に選ぶのが良いでしょう。

      ①2016-2017:初代ESP32(ESP32-DevKitCの登場。基本機能の提供)
      ②2018-2020:ESP32 改良版
      (DevKitC V4として安定化。PSRAM搭載版など多様化)
      ③2020-現在:ESP32-S2, S3, C3, C6 など
      (新世代チップに対応した新しいDevKitCシリーズが次々と登場。Wi-Fi 6やAI機能など、用途に応じた選択肢が拡大)
  • NodeMCU-32S
    • ESP32を搭載した開発ボードで、NodeMCU (ESP8266版) と似た形状や使い勝手を目指した製品です。
    • ESP32-DevKitCとしばしば比較されますが、ブレッドボードの両側に1列ずつ空きスペースができるように基板幅が狭く設計されているものもあり、プロトタイピングに便利です。

まとめ

  • チップレベルの話をしているのか(ESP8266 vs ESP32
  • すぐに使えるボードの話をしているのか(NodeMCU vs ESP32-DevKitCなど)

を区別することが重要です。

プロジェクトを始める際は、まず「Wi-Fiだけで良いか、Bluetoothも必要か」「どのくらいの処理性能が必要か」を考えてESP8266系かESP32系かを選び、次に具体的な開発ボード(NodeMCU, ESP32-DevKitCなど)を選ぶとスムーズです。

コメント