How do I use custom version of arduino ESP32 platform?

I’m really struggling to find the documentation on this. This is a follow up to a post I mad on May 9th that received 0 answers.

Here’s my platformio.ini
[env:chillout32]
platform = GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO
framework = arduino
board = esp-wrover-kit

All I want to do is fork platform-espressif32 and build my app using that forked version. And I have searched for days with no answer.

I tried replacing “GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO” with “http://myplatform.git” but there’s obviously more to do because it doesn’t work. I need to do things like enable code signing, and secure boot, etc. Basically I want to modify the things you can modify with “make menuconfig” in the esp-idf

1 Like

Needs to be more specific than that. If you have an exakt fork of platform-espressif32and point to it using the new URL everything old should still work exactly as before. And that is not the case?

1 Like

I did not put the full URL in the example, but I do have an exact fork of GitHub - platformio/platform-espressif32: Espressif 32: development platform for PlatformIO Let’s call my fork “https://github.com/me/my-platformio-fork.git

But the actual platform source code from espressif is not there, it’s in these repos:

Let’s say I have forks of those called “https://github.com/me/my-esp-idf.git” and “https://github.com/me/my-arduino-esp32.git”.

I want to use platformio to build against “https://github.com/me/my-esp-idf.git” and “https://github.com/me/my-arduino-esp32.git”. So to do that, if I correctly understand, I need to do the following:

  1. In my platformio.ini:
    platform = https://github.com/me/my-platformio-fork.git

  2. Modify some files??? in “https://github.com/me/my-platformio-fork.git” to point to my custom forks “https://github.com/me/my-esp-idf.git” and “https://github.com/me/my-arduino-esp32.git”.

  3. “git commit” to commit those changes

  4. “git push” to push those changes

  5. “pio update” to fetch my updates

  6. “pio run” should now create binaries made with “https://github.com/me/my-platformio-fork.git

I’ve been able to do everything except step 2. What files do I edit to I tell platformIO where my modified platform source code is? I don’t see references to “GitHub - espressif/esp-idf: Espressif IoT Development Framework. Official development framework for Espressif SoCs.” or “GitHub - espressif/arduino-esp32: Arduino core for the ESP32

See Custom Development Platforms — PlatformIO latest documentation, manifest.json. All packages and their URLs are specified there. Modify where framework-arduinoespressif32 points to.

1 Like

I’m still not getting it. Is this the section I modify?

"framework-arduinoespressif32": {
  "type": "framework",
  "optional": true,
  "version": "~2.10002.190416"
},

So do I add change it like this:

“framework-arduinoespressif32”: {
“type”: “framework”,
“optional”: true,
“url”: “XXXX”,
“version”: “~2.10002.190416”
},

If so, what is XXXX? Is that a GIT repo URL or something else?

The example looks like this:
“framework-%FRAMEWORK_NAME_1%”: [
{
“url”: “http://dl.example.com/packages/framework-%FRAMEWORK_NAME_1%-1.10607.0.tar.gz”,
“sha1”: “adce2cd30a830d71cb6572575bf08461b7b73c07”,
“version”: “1.10607.0”,
“system”: “*”
}

Am I supposed to just tar/gz the contents of my forked repo?

That’s what it looks like… You’d want to change the packageRepositories line …

… to a manifest.json file you control, specify your own framework in your platform.json

 "framework-my-espidf": [
    {
      "sha1": "be6ee2428b7843ee659789fbdd76b9f60ef1aa39", 
      "system": "*", 
      "url": "https://dl.bintray.com/my-espidf/dl-packages/framework-my-espidf-1.200.0.tar.gz", 
      "version": "1.200.0"
    } 
]

And then reference it under packages in your platform.json

Seeing the docs makes me want to actually try some platform/framework development stuff out now… wanted to get a board working on arm64… might actually try it now! :smiley:

2 Likes