世界を動かす技術を、日本語で。

ESP32-S31

概要

  • ESP32-S31 は無線・有線双方の接続性を統合したIoT向けSoC
  • Wi-Fi 6Bluetooth 5.4Ethernet など多彩な通信規格対応
  • デュアルコアRISC-V と豊富なメモリ拡張性を持つ高性能設計
  • HMI・オーディオ統合 でスマートディスプレイや音声機器に最適
  • 高いセキュリティ機能 とオープンソース開発環境の提供

ESP32-S31の多彩な接続性

  • 2.4 GHz Wi-Fi 6 (802.11ax) に対応し、伝送効率向上と低消費電力を両立
  • IEEE 802.15.4 による ThreadZigbee サポート
  • Bluetooth 5.4 (LE) でLE Audio(高音質・低消費電力ストリーミング)、方向検出、Bluetooth Mesh 1.1による多対多通信
  • Bluetooth Classic (BR/EDR) で従来型オーディオ機器や低遅延HMIとの互換性確保
  • 1000 Mbps Ethernet MAC 搭載で安定した有線高速通信を実現
    • IoTアプリケーションに最適なネットワーク柔軟性

システム性能とメモリ拡張

  • デュアルコア32-bit RISC-V (320 MHz動作、MMU搭載、6.86 CoreMark/MHz)
  • 60 GPIO で柔軟な設計対応
  • 片方のコアは 128-bit幅データパス とSIMD命令対応、並列処理を高速化
  • 512 KB SRAM250 MHz 8-bit DDR PSRAM 対応、フラッシュ・PSRAM同時アクセス可能
  • 高速Octal SPI 対応の複数SPIインターフェースで外部メモリ拡張性
    • 大規模・高性能アプリケーション設計に適合

高度なHMIサポート

  • DVPカメラインターフェース (8~16ビット)搭載
  • LCDインターフェース (8~24ビット並列RGB、I8080、MOTO6800)対応
  • RGB565、YUV422、YUV420、YUV411 間のカラー変換機能
  • JPEGコーデック、PPA、2D-DMA 等のハードウェアアクセラレータで効率的な画像処理
  • 最大14チャネルの静電容量タッチセンサー
    • スマートディスプレイ、ビデオドアベル、マルチメディアパネルなどに最適

柔軟なオーディオ統合

  • Bluetooth 5.4 LE Audio による高音質・低消費電力ストリーミング(LC3コーデック、マルチストリーム対応)
  • Bluetooth Classic (BR/EDR) でヘッドフォン、スピーカー、車載システムとの互換性
  • デュアルI2Sコントローラー とハードウェア同期による低遅延・高精度なBluetoothオーディオ
    • ソフトウェア同期処理の複雑さを排除

セキュリティ機能

  • TRNG(真性乱数生成器)RAM-based PUF による強力な鍵生成・デバイスセキュリティ
  • セキュアブート、フラッシュ・PSRAM暗号化AES-128/256, RSA, ECDSA, ECC アクセラレータ
  • ECDSAデジタル署名周辺回路 でプライベートキーの安全管理
  • TEE(Trusted Execution Environment)APM でマルチアプリのセキュアな分離実行

ソフトウェアとAI連携

  • ESP-IDF (Espressif公式IoT開発フレームワーク)、 ESP-Matter (Matterデバイス用)、 ESP-BLE-AUDIOESP-GMF (マルチメディア用)に対応
  • ESP Private Agents プラットフォームや一般的なLLM(大規模言語モデル)と連携可能
    • 音声対応・知能化デバイスの開発に最適な基盤提供

Hackerたちの意見

Espressif、やばいね!CPUにはSIMD命令まであるし!RISC-Vコアは組み込みシステムにとって大きなニュースだよ。今やSoC用のコンパイルは、半分壊れたプロプライエタリツールチェーンやSDKをダウンロードする代わりに、rustup target add riscv32imac-unknown-none-elfだけで済むからね。現代の(Rust ;) 組み込み開発を始めるには、https://kerkour.com/introduction-to-embedded-development-wit... と https://kerkour.com/rust-esp32-pentest を見てみて!

ちょっと気になるんだけど、「imac」ってアーキテクチャターゲット名の中で何を意味してるの?

すごく興味深いね。どんなSIMDサポートがあるのか、もっと情報があるリンクとかある?

CPUにはSIMD命令まである!そうなんだけど、ハードウェアの浮動小数点はないみたい。CORDICモジュールの説明を見ると、固定小数点計算を示していて、浮動小数点に関する記載がないのと一致してる。CAN-FDとモータPWMモジュールがあるのは嬉しいけど、ADCの変換時間がどこにも載ってなかった。モーター制御には1μsの変換時間以下が必要で、昨年は約15年間固定小数点を使ってたけど、浮動小数点に切り替えたんだ。

いいね。こういうデバイスでRustを試してみたかったんだけど、今まで見たRISC-VはARMとRISC-Vが混ざってる感じでちょっと変だった。

WiFiと有線イーサネットが同じパーツに戻ってきたのは嬉しいね。ただ、P4のデュアルコアRISC-VラインのMIPIサポートは失われちゃったけど。

これらのチップで有線インターネットはどうやって技術的に動いてるの?専用のGPIOピンが8本あるだけなの?

同じチップに両方あったら最高だね。

音声出力に興味があるんだけど、楽器にちょっと手を出してるから。マイコンのBluetooth音声出力の状態はどうなってるの?低遅延で高品質な出力は可能なのかな?

無線にこだわる理由って何かあるの?Bluetoothオーディオは最悪だと思うけど、音楽には使いたくないよね。やっぱり有線がいいよ、無線はもう混雑してるし。

Bluetoothオーディオの低遅延はコーデックに依存してるけど、最高のやつはプロプライエタリなんだよね。本当に遅延を減らしたいなら、こういうハードウェアで無線を使う場合は、もう一つESP32を使ってビットストリームを送るのもアリだよ。

音声出力に興味があるのは、楽器にちょっと手を出してるからです。ごめん、詳しくは知らない。単にエコーに反応して、別の返信を広げてるだけなんだけど、真剣な音楽に関するBluetoothって、オーディオ再生からMIDI入力まで、Windowsでは本当にひどい状況なんだよね。数年前、高性能なWindowsノートを持ち歩いてDAW作曲をしようとしたけど、ノートパソコンからヘッドフォンやイヤフォンへのBluetoothオーディオの遅延が使い物にならなかったし、Bluetooth MIDIコントローラーからの入力遅延も全然ダメだった。合わせると、全体の遅延は笑っちゃうくらいだった。当時、こういう問題は広く知られてて、みんなが嘆いてた。いくつかのテックブログ(MSFTのも含めて)では、ドライバー、ファームウェア、シリコンの各レベルで問題があったって言われてて、全体の問題を解決するための作業が進められてた。オンラインで言及されてた唯一の実用的なWindowsの解決策は、特定のBluetooth以外のワイヤレスデバイスを使うことだった。ノートパソコンに専用のUSBドングルをぶら下げる必要があって、特定のデバイスか全デバイスをサポートするレシーバードングルのどちらかを選ぶのは、ただのワイヤーを使うより魅力的じゃないよね。それ以来、毎年見直してるけど、意味のある進展についての報告はまだ見たことがないし、進行中の作業についての話もほとんどない。すごく残念だよ。それに、Bluetoothオーディオの品質に関してもあまり良くなさそう。音質が劣化しないようにするには、特定のプロプライエタリBluetoothコーデックをサポートするデバイスを選ぶか、Bluetooth以外のワイヤレスドングルハードウェアに切り替える必要がある。音質改善の話はあるけど、Bluetoothオーディオスタンダードでより良い最低限の音質が義務付けられるかどうかは全く不明だよね。もし、Windows環境の標準Bluetoothデバイスのベースラインの遅延や品質(入力または出力)が改善される情報があったら、ぜひ教えてほしいな。

WLEDを使って趣味でLEDアートプロジェクトを作ってるんだ(ESP32プラットフォーム専用)。めっちゃ楽しいよ。この小さなボードはすごくパワフルで、オープンソースコミュニティにはいつも驚かされる。自分の好きなコントローラープラットフォームはQuinLEDラインで、電力分配、電圧レギュレーター、太い銅線、設定可能なデータライン抵抗、スマートな補助ハードウェアサポートがあって、1コントローラーあたり30〜50ドルで手に入るんだ。(quinled.info) https://kno.wled.ge/> - WLEDのホームページで、多分自分のお気に入りの面白いURLだよ。

自分もLEDプロジェクトをたくさんやってるけど、ws2812を使ってるよ。コントローラーは何に使うの?大きな明るさが必要とか?ちょっと気になった。

cr.yp.to/ って、結構クールなURLだよね。ずっと前からあるし。

スペックは素晴らしいね。これがWROOMモジュールや小さな開発ボードとしてどれくらいで手に入るか見てみるつもり。Espressifデバイスの選ぶべき2つのフォームファクターだから。価格にも興味があるけど、今のところ、似たような価格で次の世代でどれだけ多くのものが得られるかに感心してる。もし(比較的)速いRISC-VコアとSIMDにワクワクしてるなら、今すぐ手に入るP4を見てみて。少し速いクロックだけど、ワイヤレスはないよ:https://products.espressif.com/#/product-comparison?names=ES... DSP機能や内蔵の画像処理を使って大量のピクセルデータを処理する面白いプロジェクトもあるから、S31でも似たように動くはずだよ:https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...

これ、待望のESP32の後継機っぽいね。SシリーズとCシリーズはパフォーマンスがイマイチだったけど(Sの方がCよりマシだけど、古いXtensaアーキテクチャに縛られてるし)、P4はパワフルだけど無線がないんだよね。これは無線付きの比較的高性能なデュアルコアMCUで、少量生産のデザインにはぴったり。前の実装をコピーできる方が数セント節約するより大事だから。ESP32みたいにね。いいね。

TLSに対応できるの?ESP32が実用的なTLSスタックを持ってるのは大きな勝利だよね。

2ヶ月前にこの発表があった時の前の議論: https://news.ycombinator.com/item?id=47561678

このMCUとP4がRISC-V CLICを搭載してるのが楽しみ!これでCortex NVICと同等になって、Rust RTICみたいなベアメタルフレームワークがうまく動くようになるね。それに4つのMCPWM周辺機器もあるし、EspressifのMCUでは初めてだよ。追加のGPIOも大歓迎だし。CAN-FD!このデバイス、Espressifにとって大ヒット間違いなしだね。

なんか、これ全部をESP32って呼ばない方が良かったんじゃないかな。ESP8266とESP8285からESP32に進化したのは分かるけど、今や10種類以上のバージョンがあって、機能もアーキテクチャもバラバラだし。ラズベリーパイPico(RP2030/RP2350)に関するスレッドでは、必ず誰かがシングルボードコンピュータのバージョンと混同してるのと似てる。ESP32って言ったら、やっぱりESP32(クラシック、通常はWROOM-32E)が思い浮かぶよね。

でも、STM32やEFM32、GD32と同じ仕組みだよね。

ESP-IDFの互換性を示してるね。

検索結果に表示されること、今の時代だとLLMの結果に出ることがやっぱり重要だよね。もし君の有名な製品がESP32として知られてるなら、同じラインから他の製品を派生させるのは売上に悪影響はないと思う。明確さや一目での価値、他のいろんなことには影響があるかもしれないけど、結局は人を引き寄せるから。

他のファミリーでも同じような感じだよね。STM32があって、そこからエントリーレベルのSTM32C0から、フルLinuxチップのSTM32MP2まで、真ん中にたくさんのオプションがある。

ブランド名を捨てちゃうの?

今はマーケティングの問題だよね。

なんか、全部ESP32って呼ばれない方が良かったな。ESP8266とESP8285からESP32に移行したのは理解できたけど、今や10種類以上のバージョンがあるし。ソニーと一緒にいるみたい。アップル: AirPods ソニー: WMDF559J649Q-1

ESP32シリーズでRISC-Vが採用されるのは嬉しいね。古いXtensaベースのパーツも悪くなかったけど、RISC-Vならツールやコンパイラのサポート、長期的なエコシステムがもっとスムーズになるはず。