diff --git a/variants/esp32p4/esp32p4.ini b/variants/esp32p4/esp32p4.ini
new file mode 100644
index 000000000..7742599ad
--- /dev/null
+++ b/variants/esp32p4/esp32p4.ini
@@ -0,0 +1,43 @@
+[esp32p4_base]
+extends = esp32_common
+custom_esp32_kind = esp32p4
+
+build_flags =
+ ${esp32_common.build_flags}
+ -DHAS_BLUETOOTH=0
+ -DHAS_WIFI=0
+ -DMESHTASTIC_EXCLUDE_BLUETOOTH=1
+ -DMESHTASTIC_EXCLUDE_WIFI=1
+ -DMESHTASTIC_EXCLUDE_PAXCOUNTER=1
+ -DMESHTASTIC_EXCLUDE_ENVIRONMENTAL_SENSOR=1 ; BME680Sensor
+
+build_src_filter =
+ ${esp32_common.build_src_filter} - - - - - - - - - -
+
+monitor_speed = 460800
+monitor_filters = esp32_c3_exception_decoder
+
+custom_sdkconfig =
+ ${esp32_common.custom_sdkconfig}
+ CONFIG_ARDUINO_SELECTIVE_SD_MMC=y
+ CONFIG_BT_ENABLED=n
+ CONFIG_BT_NIMBLE_ENABLED=n
+ CONFIG_BT_NIMBLE_EXT_ADV=n
+ CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y ; remove for production version
+ ;CONFIG_ESP_SYSTEM_PANIC_GDBSTUB=y ; for target debugging
+
+lib_ignore =
+ ${esp32_common.lib_ignore}
+ libpax
+ esp8266-oled-ssd1306
+ NimBLE-Arduino
+ bsec2
+ esp32_idf5_https_server
+ esp_driver_cam
+ esp_http_server
+ esp_lcd
+
+lib_deps =
+ ${esp32_common.lib_deps}
+ # renovate: datasource=git-refs depName=meshtastic-ESP32_Codec2 packageName=https://github.com/meshtastic/ESP32_Codec2 gitBranch=master
+ https://github.com/meshtastic/ESP32_Codec2/archive/633326c78ac251c059ab3a8c430fcdf25b41672f.zip