diff --git a/examples/arduino-wifiscan/platformio.ini b/examples/arduino-wifiscan/platformio.ini
index 38cd6b894..e20da6f2a 100644
--- a/examples/arduino-wifiscan/platformio.ini
+++ b/examples/arduino-wifiscan/platformio.ini
@@ -12,3 +12,31 @@ platform = espressif32
 framework = arduino
 board = esp-wrover-kit
 monitor_speed = 115200
+
+[env:esp32-s2]
+platform = espressif32
+framework = arduino
+board = esp32-s2-saola-1
+upload_protocol = esp-builtin
+monitor_speed = 115200
+
+[env:esp32-s3]
+platform = espressif32
+framework = arduino
+board = esp32-s3-devkitc-1
+upload_protocol = esp-builtin
+monitor_speed = 115200
+
+[env:esp32-c3]
+platform = espressif32
+framework = arduino
+board = esp32-c3-devkitm-1
+upload_protocol = esp-builtin
+monitor_speed = 115200
+
+[env:esp32-c6]
+platform = espressif32
+framework = arduino
+board = esp32-c6-devkitm-1
+upload_protocol = esp-builtin
+monitor_speed = 115200
diff --git a/platform.json b/platform.json
index f7148aec3..f420c5d6b 100644
--- a/platform.json
+++ b/platform.json
@@ -71,17 +71,17 @@
       "owner": "platformio",
       "version": "~1.23800.0"
     },
-      "tool-xtensa-esp-elf-gdb": {
+    "tool-xtensa-esp-elf-gdb": {
       "type": "debugger",
       "optional": true,
-      "owner": "platformio",
-      "version": "14.2.0+20240403"
+      "owner": "pioarduino",
+      "version": "https://github.com/pioarduino/registry/releases/download/0.0.1/xtensa-esp-gdb-v16.2_20250324.zip"
     },
     "tool-riscv32-esp-elf-gdb": {
       "type": "debugger",
       "optional": true,
-      "owner": "platformio",
-      "version": "14.2.0+20240403"
+      "owner": "pioarduino",
+      "version": "https://github.com/pioarduino/registry/releases/download/0.0.1/riscv32-esp-gdb-v16.2_20250324.zip"
     },
     "tool-esptoolpy": {
       "type": "uploader",
diff --git a/platform.py b/platform.py
index 585fe0f5d..f9030feef 100644
--- a/platform.py
+++ b/platform.py
@@ -144,7 +144,7 @@ def install_tool(TOOL):
                 # Install debug tools if conditions match
                 if (variables.get("build_type") or "debug" in "".join(targets)) or variables.get("upload_protocol"):
                     for debug_tool in toolchain_data["debug_tools"]:
-                        self.packages[debug_tool]["optional"] = False
+                        install_tool(debug_tool)
                     install_tool("tool-openocd-esp32")
                 break  # Exit loop once MCU is matched