From 997d05a1a55aaccf185055eb43c5317c1bbeee4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frank=20M=C3=B6hle?= <91616163+softhack007@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:31:40 +0100 Subject: [PATCH] Merge pull request #5338 from wled-install/patch-3 Classic ESP32: GPIO17 is not needed to be reserved for chips with in-package PSRAM (ESP32-D0WDR2-V3 and ESP32-D0WDHR2-V3) --- wled00/pin_manager.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index 9ccdf1e0..b3aa45cc 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -770,7 +770,14 @@ bool PinManagerClass::isPinOk(byte gpio, bool output) const // if (((strncmp_P(PSTR("ESP32-PICO"), ESP.getChipModel(), 10) == 0) || // (strncmp_P(PSTR("ESP32-U4WDH"), ESP.getChipModel(), 11) == 0)) // && (gpio == 16 || gpio == 17)) return false; // PICO-D4/U4WDH: gpio16+17 are in use for onboard SPI FLASH - // if (gpio == 16 || gpio == 17) return !psramFound(); //PSRAM pins on ESP32 (these are IO) + // if (gpio == 16) return !psramFound(); // PSRAM pins on modules with off-package or in-package PSRAM + // if (gpio == 17) { + // if (strncmp_P(PSTR("ESP32-D0WDR2-V3"), ESP.getChipModel(), 15) == 0) { + // return true; + // } else { + // return !psramFound(); // PSRAM pins on modules with in-package PSRAM + // } + // } #endif if (output) return digitalPinCanOutput(gpio); else return true;