このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

ESP32 ポートに関する一般的なこと

ESP8266 は Espressif Systems 社の人気 WiFi + Bluetooth 対応システムオンチップ(SoC)です。

豊富なボード

ESP32 チップを搭載した、さまざまな多数のモジュールとボードがあります。MicroPython はできるだけ多くのボード/モジュール上で動作する汎用ポートを提供しようとしますが、制限があるかもしれません。Espressif 社の開発ボードがリファレンスのボードとして使われています(たとえば、テストはこのボードで行っています)。別のボードを使う場合は、データシート、回路図、およびボードのその他の参考資料を用意して、ボードのさまざまな機能を調べるようにしてください。

一般的な ESP32 ポートを作成し、可能な限り多くのボードをサポートするために、次の設計と実装の決定が行われました。

  • GPIO ピン番号は ESP32 のチップ番号に基づいています。ボードのピンと実際の ESP32 ピンの対応を見つけるには、ボードのマニュアル/ピン図を用意してください。

  • すべてのピンを MicroPython でサポートしていますが、実際のボードですべてが利用できるとは限りません。たとえば、外部 SPI フラッシュに接続されているピンは使用すべきでなく、ボードはピンの一部のみを露出しているかもしれません。

技術仕様および SoC データシート

ESP32 チップのデータシートおよびその他の参考資料は、ベンダーのサイト https://www.espressif.com/en/support/download/documents?keys=esp32 から入手できます。これらは、チップの技術仕様、機能、動作モード、内部機能などの主要な参考資料となっています。

便宜上、いくつかの技術仕様を以下に示します。

  • アーキテクチャ: Xtensa Dual-Core 32-bit LX6

  • CPU 周波数: 最大 240MHz

  • 使用可能なRAMの合計: 528KB (システムの予約分)

  • ブート ROM: 448KB

  • 内蔵フラッシュROM: なし

  • 外部フラッシュ ROM: コードとデータ、SPIフラッシュ経由。通常のサイズは 4MB

  • GPIO: 34 (GPIO は外部フラッシュROM、UART など、他の機能と多重化されています)

  • UART: 3つのRX/TX UART (ハードウェアハンドシェイクなし)、1つのTX専用 UART

  • SPI: 4つの SPI インタフェース (1つはフラッシュ ROM に使用)。

  • I2C: 2つの I2C (任意のピンでビットバングの実装が可能)。

  • I2S: 2

  • ADC: 最大 18 チャンネルの 12 ビット SAR ADC

  • DAC: 2 つの 8 ビット DAC

  • RMT: 正確なパルス送受信を可能にする8チャンネル

  • プログラミング: UART から BootROM ブートローダーを使用。外部 FlashROM と常時使用可能な BootROM ブートローダのため、ESP32 が文鎮化することはありません。

詳細については ESP32 データシートを参照してください: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf

MicroPython は ESP32 用の Espressif 社の開発フレームワークである ESP-IDF の上に実装されています。これは FreeRTOS ベースのシステムです。詳細については ESP-IDF Programming Guide を参照してください。