ESP-IDFを使ってみる

ESP32-H4開発ボード

esp-idf v5.1のターゲットにesp32h4が追加されています。
$ idf.py --version
ESP-IDF v5.1-dev-3462-g045163a2ec-dirty

$ idf.py set-target --help
Usage: idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|linux|esp32h4|esp32c6|esp32h2}

2023年1月時点で全く情報が有りません。



esp-idf v5.2では、ターゲットからesp32h4が無くなりました。
おそらく、永遠に無くなるでしょう。
$ idf.py --version
ESP-IDF v5.2-dev-544-g54576b7528

$ idf.py set-target --help
Usage: idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|linux}



Espressif Systemsから2024年4月11日に、こちらの公式アナウンスが 公開されました。
一度消滅したESP32-H4が復活します。
こ ちらにESP32のSoC Product Portfolioが公開されていて、その中にESP32-H4も有るので、本当にリリースされるようです。
まだデータシートが公開されていないので、詳しい内容は不明ですが、ESP32-H2と以下の違いがあるようです。
RISC-Vシリーズでは初めてのDualCoreモデルです。

ESP32-H2 ESP32-H4
CPU 32-bit RISC-V single-core processor, up to 96MHz 32-bit RISC-V dual-core processor, up to 96MHz
Memory 128 KB ROM
320 KB SRAM
4 KB LP Memory(LP memory remains powered on in Deep-sleep mode)
128 KB ROM
320 KB SRAM
Wi-Fi

Bluetooth Bluetooth 5.0/Bluetooth Mesh Bluetooth 5.4
IEEE 802.15.4 Compliant with IEEE 802.15.4-2015 protocol
• Thread 1.3
• Zigbee 3.0
Compliant with IEEE 802.15.4-2015 protocol
Advanced Peripheral Interfaces • 19 × programmable GPIOs
• 1 × 12-bit SAR ADCs, up to 5 channels
• 1 × Temperature sensor
• 1 × Brownout detector
• 2 × Analog voltage comparator
• 2 × UART
• 2 × SPI ports for communication with flash
• 1 × General purpose SPI port
• 1 × I2C
• 1 × I2S
• 1 × USB Serial/JTAG controller
• 1 × TWAI controller (compatible with ISO 11898-1)
• 1 × LED PWM controller, up to 6 channels
• 1 × Remote control peripheral (RMT) (TX/RX)
• 1 × General DMA controller (GDMA), with 3 transmit channels and 3 receive channels
• 1 × Motor Control PWM (MCPWM), up to 6 channels
• 1 × Pulse count controller (PCNT)
• 1 × Event task matrix (ETM)
• 1 × Parallel IO (PARLIO) controller


ESP-IDF V5.4のターゲットには、まだESP32-H4は有りません。
$ idf.py set-target
Usage: idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp3
                         2c6|esp32h2|esp32p4|linux|esp32c5|esp32c61}
Try 'idf.py set-target --help' for help.

Error: Missing argument '{esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|esp32p4|linux|esp32c5|esp32c61}'. Choose from:
        esp32,
        esp32s2,
        esp32c3,
        esp32s3,
        esp32c2,
        esp32c6,
        esp32h2,
        esp32p4,
        linux,
        esp32c5,
        esp32c61



ESP-IDF V5.4には有りませんでしたが、ESP-IDF V5.5のベータ版ではesp32h21がターゲットとして追加されています。
もしかしたら、ESP32-H4ではなく、ESP32-H21になるのかもしれません。
2025年1月時点で、ESP32-H21の情報はネット上の何処にもありません。
$ idf.py set-target
Usage: idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|esp32p4|li
                         nux|esp32c5|esp32c61|esp32h21}
Try 'idf.py set-target --help' for help.

Error: Missing argument '{esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|esp32p4|linux|esp32c5|esp32c61|esp32h21}'. Choose from:
        esp32,
        esp32s2,
        esp32c3,
        esp32s3,
        esp32c2,
        esp32c6,
        esp32h2,
        esp32p4,
        linux,
        esp32c5,
        esp32c61,
        esp32h21



ESP-IDF V5.5のリリース版をインストールしたら、esp32h21とesp32h4の両方がターゲットになっていました。
ESP32-H21の公式アナウンスは見たことが有りませんが、どうも本当にH21がリリースされるみたいです。
$ idf.py set-target
Usage: idf.py set-target [OPTIONS] {esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp3
                         2c6|esp32h2|esp32p4|linux|esp32c5|esp32c61|esp32h21|e
                         sp32h4}
Try 'idf.py set-target --help' for help.

Error: Missing argument '{esp32|esp32s2|esp32c3|esp32s3|esp32c2|esp32c6|esp32h2|esp32p4|linux|esp32c5|esp32c61|esp32h21|esp32h4}'. Choose from:
        esp32,
        esp32s2,
        esp32c3,
        esp32s3,
        esp32c2,
        esp32c6,
        esp32h2,
        esp32p4,
        linux,
        esp32c5,
        esp32c61,
        esp32h21,
        esp32h4

続く....