diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index 709263e1..06b8126d 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -246,7 +246,14 @@ bool PinManager::isPinOk(byte gpio, bool output) // for classic ESP32 (non-mini) modules, these are the SPI flash pins if (gpio > 5 && gpio < 12) return false; //SPI flash pins } - if (gpio == 16 || gpio == 17) return !psramFound(); // PSRAM pins on ESP32-D0WDR2-V3 (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;