サイトを見ていただきありがとうございます。
現在サイト構築中のためコンテンツが非常に少ない状態となっております。ご了承ください。

ESP32開発の第一歩: ESP32シリーズ・モジュール・ボードの概要

この記事は約7分で読めます。

ESP32シリーズ(SoC), ESP32モジュール, ESP32ボード

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

ESP32シリーズとは

上海に拠点を置くEspressif Systemsが開発しているWifiBluetoothを内蔵する低コスト・低消費電力が売りの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シリーズを選択しやすいようにデータベースを提供しています。

ESP Product Selector

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だと思われます。

ESP Tool

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拡張機能を追加することで利用できます。

 

引用・参考

コメント