ESP32アプリケーションのクラッシュ i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

ESP-IDF 5.3以上でコンパイルされたアプリケーションは、実行時に次のメッセージとともに失敗する可能性があります:

i2c: CONFLICT! driver_ng is not allowed to be used with this old driver

問題は、古いバージョンのI2Cドライバを使用している互換性のないBSP(ボードサポートパッケージ)によって引き起こされます。

解決策は、次の依存関係をidf_component.yamlに追加することです:

  esp_codec_dev:
    public: true
    version: "==1.1.0"

アプリケーションを再構築すれば、問題は解決されるはずです。