-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add env for esp32 pico d4 with valid ledpin to prevent bootloops #3573
Conversation
…use gpio 16 is connected to flash on pico d4
See considerations in #3569 |
Hi, From looking at the pico-D4 datasheet, it seems that gpio 16+17 are not availeable for use, similar to esp32 wrover with PSRAM. My proposal would be
https://github.com/platformio/platform-espressif32/blob/develop/boards/pico32.json#L7 It means that only the source code parts shown below would need adjustment. Everything else will come due to Lines 461 to 465 in 1dab26b
Line 351 in 1dab26b
Lines 365 to 368 in 1dab26b
Edit: if we take care of default pins in the source code, then a custom buildenv for the pico-D4 would be as simple is this [env:esp32_pico]
extends = env:esp32dev_qio80
board = pico32 |
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
According to the technical manual, GPIO 16 + 17 are used for onboard flash, so cannot be used by WLED. example buildenv: [env:esp32_pico] extends = env:esp32dev_qio80 board = pico32
This should be no longer necessary as I removed (offending) GPIO16 from default values for ESP32 (it also clashed with C3). |
In recent versions of WLED GPIO 16 is used as the default LEDPIN. This causes bootloops on ESP32 Pico D4 because GPIO 16 is connected to the embedded flash (see notes in ESP32 Pico D4 Datasheet Section 2.2: "Pins IO16, IO17, CMD, CLK, SD0 and SD1 are used to connect the embedded flash, and can not be used for other purposes. For details, please see Section 6 Schematics.").
Added a new environment for Pico D4 (esp32picod4) to platformio.ini with LEDPIN 4 defined as the default (gpio 4 matches my own hardware project, GPIO 2 will also cause no problems). Also changed upload Speed to max. for this env.