ESP32シリーズ(SoC), ESP32モジュール, ESP32ボード
ESP32というと、狭義においてはESP32シリーズのSoC(チップの石)のことを言いますが、モジュールや開発ボードを含めてESP32ということもあります。またSoC単体では一般に利用が難しいですが、モジュールや開発ボードは利用しやすい形になっています。そのため、我々一般消費者が購入するのはモジュールか(開発)ボードが一般的だと思われます。

ESP32シリーズとは
上海に拠点を置くEspressif Systemsが開発しているWifiとBluetoothを内蔵する低コスト・低消費電力が売りのSoCです。コアプロセッサーとして Tensilica社のXtensa LX6,7やオープンソースのRISC-Vを採用しています。主に台湾TSMCで40nmプロセスで製造されているとのことです。
ESP32略歴
- 2008: Espressif Systems社が創設
- WifiとBluetoothが利用できるワイヤレスチップの開発
- 2013: ESP8089
- 2014: ESP8266
- ここまでの製品はあまりドキュメントが充実していなかった
- 2016: ESP32
- ESP8266の改良版として販売開始
- ドキュメントとDevKits(開発ボード)が広く充実
- 2000年以降ESP32シリーズが多く発売
ESP32シリーズの種類
ESP32は多くの機能をもっていますが、ESP32シリーズのすべてが同じ機能を備えているわけではありません。
- ESP32オリジナルシリーズ
- ESP32-Sシリーズ: S2,S3など
- ESP32-Cシリーズ: C2,C3,C6など
- ESP32-Hシリーズ: H2など
ESP32オリジナルシリーズ

ESP32-Sシリーズ

ESP32-Cシリーズ

ESP32-Hシリーズ

将来的には以下のようなESP32シリーズも販売される予定らしいです。
ESP32-C61

ESP32-C5

ESP32-P4

ESP32データベース
相当な電子工作ファンでない限り必要ないですが、製造元であるEspressif System社が適したESP32シリーズを選択しやすいようにデータベースを提供しています。
URL: https://products.espressif.com/#/product-selector
ESP32モジュールとは
ESP32モジュールとは、ESP32シリーズのSoCを利用しやすいように、水晶(周辺クロック用?)・SPI-Flashメモリ・アンテナ・シールドなどを配線した上で利用するピンを外に出しモジュール化したものです。モジュール化することでFCC認証(米国連邦通信委員会が発行する認証)や技適(日本総務省が発行する技術基準適合証明)を取得しています。モジュールにもWROOM,PICOなどいくつかの種類があります。

秋月電子で購入できるESP32モジュール
2024年2月時点で秋月にて、ピッチ変換やDIP化キットを除いたESP32モジュール単体を購入できるのは以下になります。購入先の選択肢としては秋月以外でも千石,若松,SwitchScience,マルツ,digikey,mouserなど多くありますが、ここでは秋月電子で扱っているESP32モジュール(厳密にはESP8266はESP32シリーズではないですが比較のため)のみ調べてます。
| 機能 | 価格 | シリーズ | コア | コアサイズ | クロック | ROM | GPIO | ADC | DAC | UART/ USART |
I2C | SPI | USB デバイス |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ESP32-WROOM-32E 16MB | ¥480 | ESP32 | Xtensa LX6 | 32bit | 240MHz | 16MB | 26 | 16 | 2 | 3 | 2 | 4 | N/A |
| ESP-WROOM-02 | ¥420 | ESP32-C2 | Xtensa LX6 | 32bit | 160MHz | 2MB | 11 | N/A | N/A | 1 | 1 | 1 | N/A |
| ESP32-S3-WROOM-1-N16R8 | ¥530 | ESP32-S3 | Xtensa LX7 | 32bit | 240MHz | 16MB | 36 | 20 | 2 | 2 | 2 | 4 | 1 |
| ESP-WROOM-32 | ¥550 | ESP32 | Xtensa LX6 | 32bit | 240MHz | 4MB | 32 | 16 | 2 | 3 | 2 | 4 | 1 |
| ESP32-C3-WROOM-02-N4 | ¥310 | ESP32-C3 | RISC-V | 32bit | 160MHz | 4MB | 15 | 6 | N/A | 1 | 1 | 1 | N/A |
| ESP-WROOM-02D | ¥360 | ESP8266 | Xtensa LX6 | 32bit | 160MHz | 2MB | 11 | N/A | N/A | 1 | 0 | 1 | N/A |
| ESP8684-MINI-1-H4 | ¥350 | ESP8684 | RISC-V | 32bit | 120MHz | 4MB | 14 | 5 | N/A | 2 | N/A | 1 | N/A |
| ESP-WROOM-02U (外付アンテナタイプ) |
¥400 | ESP8266 | Xtensa LX6 | 32bit | 160MHz | 2MB | 11 | N/A | N/A | 1 | 1 | 1 | N/A |
| ESP32-SOLO-1 | ¥300 | ESP32 | Xtensa LX6 | 32bit | 160MHz | 4MB | 32 | 16 | 2 | 3 | 2 | 4 | N/A |
| ESP32-PICO-V3-ZERO | ¥430 | ESP32 | Xtensa LX6 | 32bit | 240MHz | 4MB | 5 | N/A | N/A | 2 | N/A | N/A | N/A |
| Wio Core | ¥500 | ESP8266 | Xtensa LX6 | 32bit | 160MHz | 2MB | 11 | N/A | N/A | 1 | 1 | 1 | N/A |
※リストは2024/2時点のものです。価格は参考程度でお願いします。
ESP32ボードとは
ESP32は開発ボード以外にも、多くのボードが開発/販売されています。ESP32-CAMなどはよく見かけると思います。

ボードに乗っているESP32がなんなのかわからないことがあります。その場合は、以下のESP TOOLでシリアル通信することで確認することができます。シリアル通信する場合はボーレートが正しくないと通信できないですが、おおよそのボードのデフォルトは115200だと思われます。
URL: https://espressif.github.io/esptool-js/
Githubにホスティングされているので、ソースコードを確認したりローカルで実行することもできます。試しにM5 AtomS3を接続すると以下のように(今回の場合当然ですが)ESP32-S3が利用していることが分かりました。

開発環境について
ESP32を利用した開発にはいくつかの方法があります。おすすめはArduinoIDEかPlatformIOです。
- C/C++
- Arduino IDE: 最も一般的だと思われる開発方法です。これだけでも十分に様々なことができます。ただしarduinoで利用するライブラリではESP32 SoCのすべての機能を利用することができない点に注意してください。
- PlatformIO: ArduinoIDEよりも多くの機能を利用できる。また、Arduino環境として開発することもできる。VSCode/Atom/Cloud9/Eclipse/Eclipse Che/Clion/Emacs/NetBeans/QtCoder/SublimeText/Vim/VisualStudioなど多くのエディタに対応している。Arduiono IDEよりもオートコンプリート機能や定義への移動が楽なのでPlatformIOでの開発がおすすめですが、PlatformIOの仕組み自体に少し癖があります。
- Espressif ESP IDF: 公式の開発環境で、すべての機能を利用できます。EclipseプラグインあるいはVSCode拡張機能を追加することで利用できます。
- MicroPython/CircuitPython
- Mu Editor: 初心者に最適なシンプルな Python エディター。
- Thonny IDE: 初心者向けのシンプルなエディターです。
- Pymakr: より高度な Python IDE。VSCode拡張機能を追加することで利用できます。
引用・参考
- DroneBot Workshop | ESP32 Guide 2024 – Choosing and Using an ESP32
- https://dronebotworkshop.com/esp32-2024/
- Thanks and Respect, DroneBot Workshop
- Wikipedia | ESP32
- 秋月電子

コメント