diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index 0624189b..06b8126d 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -246,11 +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 ((strncmp_P(PSTR("ESP32-D0WDR2-V3"), ESP.getChipModel(), 15) == 0) || (strncmp_P(PSTR("ESP32-D0WDRH2-V3"), ESP.getChipModel(), 16) == 0)) { // allow gpio17 on modules with in-package PSRAM - if (gpio == 16) return !psramFound(); - if (gpio == 17) return true; - } else if (gpio == 16 || gpio == 17) return !psramFound(); // PSRAM pins on modules with off-package PSRAM - + 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;