概要
ESP32-C3搭載チップが日本でも販売されてきたので、ESP32シリーズでどのようなSoCがあるのかを比較してみました。
ページ移動
上記ページを今後更新していきたいと思います。このページにある情報は古い可能性があります。
比較表
SoCs | ESP32 | ESP32-S2 | ESP32-S3 | ESP32-C3 | ESP8685 | ESP8266 |
Core | Xtensa LX6 2 or 1 | Xtensa LX7 1 | Xtensa LX7 2 | RISC-V 1 | RISC-V 1 | Tensilica L106 1 |
Core Clock | 240MHz | 240MHz | 240MHz | 160MHz | 160MHz | 160MHz |
CoreMark | 504.85 | (613.86) | 613.86 | 407.22 | (407.22) | ? |
CoreMark/MHz | 2.1 | (2.56) | 2.56 | 2.55 | (2.55) | ? |
CoreMark (2core) | 994.26 | – | 1181.6 | – | – | – |
CoreMark/MHz (2core) | 4.14 | – | 4.92 | – | – | – |
ULP | ULP | ULP-RISC-V | ULP-RISC-V | – | – | – |
ULP2 | – | ULP-FSM | ULP-FSM | – | – | – |
Wi-Fi | 2.4 GHz | 2.4 GHz | 2.4 GHz | 2.4 GHz | 2.4 GHz | 2.4 GHz |
Bluetooth | 4.2 | – | 5 | 5 | 5 | – |
ROM | 448 KB | 128 KB | 384 KB | 384 KB | 384 KB | ? |
SRAM | 520 KB | 320 KB | 512 KB | 400 KB | 400 KB | ? |
SRAM in RTC | 16 KB | 16 KB | 16 KB | 8 KB | 8 KB | ? |
GPIO | 34 | 43 | 45 | 22 | 15 | 17 |
ADC | 18ch x 12bit | 20ch x 13bit | 20ch x 12bit | 6ch x 12bit | 6ch x 12bit | 1ch x 10bit |
DAC | 2ch x 8bit | 2ch x 8bit | – | – | – | – |
Touch sensors | 10 | 15 | 15 | – | – | – |
SPI | 3 | 3 | 3 | 2 | 2 | 2 |
I2S | 2 | 1 | 2 | 1 | 1 | |
I2C | 2 | 2 | 2 | 1 | 1 | 1 |
UART | 3 | 2 | 3 | 2 | 2 | 2 |
PWM | 16 | 8 | 8 | 6 | 6 | 4 |
TWAI | 1 | 1 | 1 | 1 | 1 | 1 |
ETH | 1 | – | – | – | – | – |
RMT | 1 | 1 | 1 | 1 | – | – |
Pulse counter | 1 | 1 | 1 | – | – | – |
Temperature sensor | (1) | 1 | 1 | 1 | 1 | – |
USB OTG | – | 1 | 1 | – | – | – |
USB Serial/JTAG | – | – | 1 | 1 | – | – |
細かいところはちょっと自信がないので間違いがあるかもしれません。
ざっくり解説
ESP32
いちばんメインとなるチップです。基本はデュアルコアですが、シングルコアのSOLOシリーズもあります。ただしあまりシングルコアにしても省電力にも、低価格にならないのでSOLOシリーズはあまり使われていません。
全般的なバランスはいいです。ネックになるのがCoreに使っているXtensa LX6で、細かい仕様が公開されていないチップとなります。
ESP32-S2
SシリーズはESP32のコアをLX6からLX7にパワーアップしたシリーズです。コプロセッサーに独自ULPからRISC-Vに変更しています。あとはUSBデバイスになれるUSB OTGを搭載しています。反面シングルコアしかなくて、S3が発表されてオワコンな感じがする実験的なPoCです。
ESP32-S3
ESP32を正当進化させたようなSoCです。DACや有線LANなどはなくなっていますが、比較的使いやすそうな気がします。とはいってもまだライブラリが完成していない感じが強く、日本で技適取得済みのボードもありません。
ESP32-C3
ULPの他にメインコアもRISC-VベースにしたSoCです。ある程度割り切って省電力で、小規模な用途に向いている気がします。またUSBシリアルを内蔵しているため外付けチップが必要なくなりました。
Bluetoothが5なのがちょっと注意です。これは最新のBLEは使えますがBluetooth SerialみたいなBluetooth Classicが利用できなかった気がします。
ESP8685
ESP8266の置き換え用と思われるRISC-VベースにしたSoCです。最近出てきたばかりであまり情報がありません。中身的にはESP32-C3を更にシンプルにしたSoCになります。
ESP8266
ESP32の前に主力だったSoCです。今でもBluetoothに対応していないIoT家電などによく使われています。ちょっと使い方に癖があるので最近日本ではあまり使われていないと思います。
まとめ
これ以外にも機械学習用のSoCなども予定されていて、どんどん新しいのが発売されるみたいです。とはいえESP32がまだ主力なのは間違いない気がします。
RISC-VコアでUSB OTGとUSB HOSTが使えるものが出てくると嬉しいのですが、まだまだどれがESP32の後に人気になるのか読めないですね。
コメント
I was looking for comparison of ESP modules and this gives nice information.
Thank you.
大変便利な表をありがとうございます。ESP8266ですがRMT機能ないので、そこだけ訂正頂ければ…
ありがとうございます!
修正しました
[…] Lang-ship : ESP32シリーズ(無印, S2, S3, C3, …)比較 2022年1月 https://lang-ship.com/blog/work/esp32-2022-01/ […]
こんにちは
素晴らしホームページをありがとうございます。いつも参考にさせてもらっています。
ところでESP32C3にはPulse counterは無いみたいです。
コンパイルが通らないので調べたらこんなj方法が。
https://github.com/espressif/arduino-esp32/issues/6489
データーシートにあるPluse coutnerは間違いと書かれていました。
おっとすみません。
最近調べた情報があるので確認して修正しておきたいと思います。
https://twitter.com/tnkmasayuki/status/1620978310380675073?s=20&t=_Wrnwro1tPMZ3LxLx3xJcQ