Skip to content

feat(idf): build our own ESP-IDF from source (opt-in buildchain) - #142

Closed
GeminiServer wants to merge 1 commit into
v1devfrom
ec/v1dev-idf-pr
Closed

feat(idf): build our own ESP-IDF from source (opt-in buildchain)#142
GeminiServer wants to merge 1 commit into
v1devfrom
ec/v1dev-idf-pr

Conversation

@GeminiServer

Copy link
Copy Markdown
Member

Opt-in buildchain to build our own ESP-IDF from source instead of the pre-built IDF bundled with the Arduino-ESP32 platform. Full control over sdkconfig, IDF version, TLS certs compiled into the image (.incbin), and a runtime --wrap version tag that proves it's our build.

Strictly opt-in: an env enables it by adding esp32idf to extends (last-wins shadows [ESP32]) + custom_idf_build = true. Without opting in, projects keep the default pre-built IDF build — nothing changes. Existing Arduino envs are unaffected.

Includes:

  • platformio.esp32idf.ini (+ example)
  • IDF scripts (scripts/idf/): component setup, sdkconfig + cert→ASM + version-tag pre-build, artifact clean, lightweight versions.h
  • create_esp32_image.py tweak, Build-Step.ps1 IDF detection
  • OPENKNX_IDF_INFO console command (compiled out unless defined)
  • cert baggage + architecture doc (scripts/idf/idf-build-architecture.md)

Built & tested successfully on an ESP32 target (OpenKNXiao Mini, Nuki & co.).

- custom ESP-IDF-from-source PlatformIO env (platformio.esp32idf.ini + .example.ini)
- IDF helper scripts: component setup, artifact clean, cert→ASM, version generation
- Build-Step.ps1: detect IDF builds and route accordingly
- Console: OPENKNX_IDF_INFO command shows IDF version/chip/flash/CPU/PM/WiFi-TX
- RainMaker/OTA certs + testfs baggage under scripts/idf/certs
- architecture doc: scripts/idf/idf-build-architecture.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant