diff --git a/arch/esp32/esp32.ini b/arch/esp32/esp32.ini
index 0dd6cbc1d..13360be78 100644
--- a/arch/esp32/esp32.ini
+++ b/arch/esp32/esp32.ini
@@ -5,7 +5,7 @@ custom_esp32_kind = esp32
platform = platformio/espressif32@6.7.0
build_src_filter =
- ${arduino_base.build_src_filter} - - - - -
+ ${arduino_base.build_src_filter} - - - - -
upload_speed = 921600
debug_init_break = tbreak setup
diff --git a/arch/nrf52/nrf52.ini b/arch/nrf52/nrf52.ini
index 5c5064afc..4e3093c55 100644
--- a/arch/nrf52/nrf52.ini
+++ b/arch/nrf52/nrf52.ini
@@ -16,7 +16,7 @@ build_flags =
-DLFS_NO_ASSERT ; Disable LFS assertions , see https://github.com/meshtastic/firmware/pull/3818
build_src_filter =
- ${arduino_base.build_src_filter} - - - - - - - - - -
+ ${arduino_base.build_src_filter} - - - - - - - - - -
lib_deps=
${arduino_base.lib_deps}
diff --git a/arch/portduino/portduino.ini b/arch/portduino/portduino.ini
index 815444419..dde9f8c04 100644
--- a/arch/portduino/portduino.ini
+++ b/arch/portduino/portduino.ini
@@ -9,7 +9,7 @@ build_src_filter =
-
-
-
- -
+ -
-
-
+
diff --git a/arch/rp2040/rp2040.ini b/arch/rp2xx0/rp2040.ini
similarity index 97%
rename from arch/rp2040/rp2040.ini
rename to arch/rp2xx0/rp2040.ini
index 4dc89c04b..224833289 100644
--- a/arch/rp2040/rp2040.ini
+++ b/arch/rp2xx0/rp2040.ini
@@ -8,7 +8,7 @@ board_build.core = earlephilhower
board_build.filesystem_size = 0.5m
build_flags =
${arduino_base.build_flags} -Wno-unused-variable
- -Isrc/platform/rp2040
+ -Isrc/platform/rp2xx0
-D__PLAT_RP2040__
# -D _POSIX_THREADS
build_src_filter =
diff --git a/arch/rp2xx0/rp2350.ini b/arch/rp2xx0/rp2350.ini
new file mode 100644
index 000000000..96ed0cb21
--- /dev/null
+++ b/arch/rp2xx0/rp2350.ini
@@ -0,0 +1,23 @@
+; Common settings for rp2040 Processor based targets
+[rp2350_base]
+platform = https://github.com/maxgerhardt/platform-raspberrypi.git#9e55f6db5c56b9867c69fe473f388beea4546672
+extends = arduino_base
+platform_packages = framework-arduinopico@https://github.com/earlephilhower/arduino-pico.git#a6ab6e1f95bc1428d667d55ea7173c0744acc03c ; 4.0.2+
+
+board_build.core = earlephilhower
+board_build.filesystem_size = 0.5m
+build_flags =
+ ${arduino_base.build_flags} -Wno-unused-variable
+ -Isrc/platform/rp2xx0
+ -D__PLAT_RP2040__
+# -D _POSIX_THREADS
+build_src_filter =
+ ${arduino_base.build_src_filter} - - - - - - - - -
+
+lib_ignore =
+ BluetoothOTA
+
+lib_deps =
+ ${arduino_base.lib_deps}
+ ${environmental_base.lib_deps}
+ rweather/Crypto
\ No newline at end of file
diff --git a/arch/stm32/stm32.ini b/arch/stm32/stm32.ini
index 050dbf7f0..4be290015 100644
--- a/arch/stm32/stm32.ini
+++ b/arch/stm32/stm32.ini
@@ -22,7 +22,7 @@ build_flags =
-fdata-sections
build_src_filter =
- ${arduino_base.build_src_filter} - - - - - - - - - - - - - -
+ ${arduino_base.build_src_filter} - - - - - - - - - - - - - -
board_upload.offset_address = 0x08000000
upload_protocol = stlink
diff --git a/src/platform/rp2040/architecture.h b/src/platform/rp2xx0/architecture.h
similarity index 90%
rename from src/platform/rp2040/architecture.h
rename to src/platform/rp2xx0/architecture.h
index 3f75735d3..8c7dfc0cd 100644
--- a/src/platform/rp2040/architecture.h
+++ b/src/platform/rp2xx0/architecture.h
@@ -23,6 +23,8 @@
#if defined(RPI_PICO)
#define HW_VENDOR meshtastic_HardwareModel_RPI_PICO
+#elif defined(RPI_PICO2)
+#define HW_VENDOR meshtastic_HardwareModel_RPI_PICO2
#elif defined(RAK11310)
#define HW_VENDOR meshtastic_HardwareModel_RAK11310
#elif defined(SENSELORA_RP2040)
diff --git a/src/platform/rp2040/main-rp2040.cpp b/src/platform/rp2xx0/main-rp2xx0.cpp
similarity index 100%
rename from src/platform/rp2040/main-rp2040.cpp
rename to src/platform/rp2xx0/main-rp2xx0.cpp
diff --git a/variants/rpipico2/platformio.ini b/variants/rpipico2/platformio.ini
new file mode 100644
index 000000000..a63414418
--- /dev/null
+++ b/variants/rpipico2/platformio.ini
@@ -0,0 +1,16 @@
+[env:pico2]
+extends = rp2350_base
+board = rpipico2
+upload_protocol = picotool
+
+# add our variants files to the include and src paths
+build_flags = ${rp2350_base.build_flags}
+ -DRPI_PICO2
+ -Ivariants/rpipico2
+ -DDEBUG_RP2040_PORT=Serial
+ -DHW_SPI1_DEVICE
+ -L "${platformio.libdeps_dir}/${this.__env__}/bsec2/src/cortex-m0plus"
+lib_deps =
+ ${rp2350_base.lib_deps}
+debug_build_flags = ${rp2350_base.build_flags}
+debug_tool = cmsis-dap ; for e.g. Picotool
\ No newline at end of file
diff --git a/variants/rpipico2/variant.h b/variants/rpipico2/variant.h
new file mode 100644
index 000000000..7efaeaf7a
--- /dev/null
+++ b/variants/rpipico2/variant.h
@@ -0,0 +1,50 @@
+// #define RADIOLIB_CUSTOM_ARDUINO 1
+// #define RADIOLIB_TONE_UNSUPPORTED 1
+// #define RADIOLIB_SOFTWARE_SERIAL_UNSUPPORTED 1
+
+#define ARDUINO_ARCH_AVR
+
+// default I2C pins:
+// SDA = 4
+// SCL = 5
+
+// Recommended pins for SerialModule:
+// txd = 8
+// rxd = 9
+
+#define EXT_NOTIFY_OUT 22
+#define BUTTON_PIN 17
+
+#define LED_PIN PIN_LED
+
+#define BATTERY_PIN 26
+// ratio of voltage divider = 3.0 (R17=200k, R18=100k)
+#define ADC_MULTIPLIER 3.1 // 3.0 + a bit for being optimistic
+#define BATTERY_SENSE_RESOLUTION_BITS ADC_RESOLUTION
+
+#define USE_SX1262
+
+#undef LORA_SCK
+#undef LORA_MISO
+#undef LORA_MOSI
+#undef LORA_CS
+
+#define LORA_SCK 10
+#define LORA_MISO 12
+#define LORA_MOSI 11
+#define LORA_CS 3
+
+#define LORA_DIO0 RADIOLIB_NC
+#define LORA_RESET 15
+#define LORA_DIO1 20
+#define LORA_DIO2 2
+#define LORA_DIO3 RADIOLIB_NC
+
+#ifdef USE_SX1262
+#define SX126X_CS LORA_CS
+#define SX126X_DIO1 LORA_DIO1
+#define SX126X_BUSY LORA_DIO2
+#define SX126X_RESET LORA_RESET
+#define SX126X_DIO2_AS_RF_SWITCH
+#define SX126X_DIO3_TCXO_VOLTAGE 1.8
+#endif