diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h
index f08d69e3e561..399e46ec8416 100644
--- a/Marlin/src/core/boards.h
+++ b/Marlin/src/core/boards.h
@@ -473,6 +473,10 @@
#define BOARD_BLACKBEEZMINI_V1 5251 // BlackBeezMini V1 (STM32F401CCU6)
#define BOARD_XTLW_CLIMBER_8TH 5252 // XTLW Climber-8th (STM32F407VGT6)
#define BOARD_FLY_RRF_E3_V1 5253 // Fly RRF E3 V1.0 (STM32F407VG)
+#define BOARD_ZNP_ROBIN_NANO_V1_3 5254 // Elegoo Neptune 2 v1.3 board
+#define BOARD_MKS_NEPTUNE_X 5255 // Elegoo Neptune X
+#define BOARD_ZNP_ROBIN_NANO 5256 // Elegoo Neptune 2 v1.2 board
+#define BOARD_MKS_NEPTUNE_3 5257 // Elegoo Neptune 3
//
// Other ARM Cortex-M4
diff --git a/Marlin/src/pins/mega/pins_WEEDO_62A.h b/Marlin/src/pins/mega/pins_WEEDO_62A.h
index 436529cb3510..6cdd27cec8c3 100644
--- a/Marlin/src/pins/mega/pins_WEEDO_62A.h
+++ b/Marlin/src/pins/mega/pins_WEEDO_62A.h
@@ -19,13 +19,13 @@
* along with this program. If not, see .
*
*/
+#pragma once
/**
* Based on WEEDO 62A pin configuration
* Copyright (c) 2019 WEEDO3D Perron
* ATmega2560
*/
-#pragma once
#include "env_validate.h"
diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index eb26103380c1..c4124ed53524 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -845,6 +845,14 @@
#include "stm32f4/pins_XTLW_CLIMBER_8TH.h" // STM32F4 env:XTLW_CLIMBER_8TH
#elif MB(FLY_RRF_E3_V1)
#include "stm32f4/pins_FLY_RRF_E3_V1.h" // STM32F4 env:FLY_RRF_E3_V1
+#elif MB(ZNP_ROBIN_NANO_V1_3)
+ #include "stm32f4/pins_MKS_ROBIN_NANO_V1_3_F4.h" // STM32F4 env:znp_robin_nano_v1_3
+#elif MB(MKS_NEPTUNE_X)
+ #include "stm32f4/pins_MKS_NEPTUNE_X.h" // STM32F4 env:mks_neptune_x
+#elif MB(ZNP_ROBIN_NANO)
+ #include "stm32f1/pins_MKS_ROBIN_NANO.h" // STM32F1 env:znp_robin_nano35
+#elif MB(MKS_NEPTUNE_3)
+ #include "stm32f4/pins_MKS_NEPTUNE_3.h" // STM32F4 env:mks_neptune_3
//
// Other ARM Cortex-M4
diff --git a/Marlin/src/pins/ramps/pins_PXMALION_CORE_I3.h b/Marlin/src/pins/ramps/pins_PXMALION_CORE_I3.h
index ee0633992e60..9b190cc5c105 100644
--- a/Marlin/src/pins/ramps/pins_PXMALION_CORE_I3.h
+++ b/Marlin/src/pins/ramps/pins_PXMALION_CORE_I3.h
@@ -19,6 +19,7 @@
* along with this program. If not, see .
*
*/
+#pragma once
/**
* Pxmalion Core i3 - https://github.com/Pxmalion
diff --git a/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTXXC10.h b/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTXXC10.h
index 683f68089a63..bd5f7761a085 100644
--- a/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTXXC10.h
+++ b/Marlin/src/pins/stm32f4/pins_CREALITY_CR4NTXXC10.h
@@ -19,6 +19,7 @@
* along with this program. If not, see .
*
*/
+#pragma once
/**
* Creality CREALITY_CR4NTXXC10 (STM32F401RET6) board pin assignments
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_3.h b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_3.h
new file mode 100644
index 000000000000..4fe541ef3bb1
--- /dev/null
+++ b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_3.h
@@ -0,0 +1,143 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+#pragma once
+
+//
+// MKS Neptune 3
+//
+
+// Avoid conflict with TIMER_TONE
+#define ALLOW_STM32F4
+#include "env_validate.h"
+
+#define BOARD_INFO_NAME "MKS Neptune 3"
+
+//
+// Release PB4 (Z_DIR_PIN) from JTAG NRST role
+//
+//#define DISABLE_DEBUG
+
+// Use one of these or SDCard-based Emulation will be used
+//#define SRAM_EEPROM_EMULATION // Use BackSRAM-based EEPROM emulation
+//#define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation
+#if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM)
+ #define I2C_EEPROM
+ #define MARLIN_EEPROM_SIZE 0x1000 // 4KB
+ #define I2C_SCL_PIN PB6
+ #define I2C_SDA_PIN PB7
+#endif
+
+//
+// Servos
+//
+#define SERVO0_PIN PA8 // BLTOUCH
+
+//
+// Limit Switches
+//
+//#define ZNP_TEST
+#ifdef ZNP_TEST
+ #define X_DIAG_PIN PC14 // Z+
+#else
+ #define X_DIAG_PIN PA13 // X-
+#endif
+
+#define Y_DIAG_PIN PB8
+#define Z_DIAG_PIN PC13
+
+#define X_STOP_PIN X_DIAG_PIN
+#define Y_STOP_PIN Y_DIAG_PIN
+#define Z_STOP_PIN Z_DIAG_PIN
+
+//
+// Z Probe (when not Z_MIN_PIN)
+//
+#ifndef Z_MIN_PROBE_PIN
+ #define Z_MIN_PROBE_PIN PC14 // PB9
+#endif
+
+//
+// Steppers
+//
+#define X_ENABLE_PIN PD2
+#define X_STEP_PIN PC12
+#define X_DIR_PIN PB3
+
+#define Y_ENABLE_PIN PC10
+#define Y_STEP_PIN PC11
+#define Y_DIR_PIN PA15
+
+#define Z_ENABLE_PIN PC8
+#define Z_STEP_PIN PC7
+#define Z_DIR_PIN PC9
+
+#define E0_ENABLE_PIN PC6
+#define E0_STEP_PIN PB10
+#define E0_DIR_PIN PB1
+
+#define E1_ENABLE_PIN PC5
+#define E1_STEP_PIN PC4
+#define E1_DIR_PIN PA4
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN PC1 // TH1
+#define TEMP_1_PIN PC2 // TH2
+#define TEMP_BED_PIN PC0 // TB1
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN PA6 // HEATER1
+#define HEATER_BED_PIN PA5 // HOT BED
+
+#define FAN_PIN PB0 // FAN
+//#define FAN1_PIN PA7 // FAN1
+
+#if NEED_TOUCH_PINS
+ #define TOUCH_CS_PIN PA7 // SPI2_NSS
+ #define TOUCH_SCK_PIN PB13 // SPI2_SCK
+ #define TOUCH_MISO_PIN PB14 // SPI2_MISO
+ #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI
+#endif
+
+//
+// SD Support
+//
+#ifndef SDCARD_CONNECTION
+ #define SDCARD_CONNECTION ONBOARD
+#endif
+
+#if SD_CONNECTION_IS(ONBOARD)
+ #define ENABLE_SPI3
+ #define SD_SS_PIN -1
+ #define SDSS PB12
+ #define SD_SCK_PIN PB13
+ #define SD_MISO_PIN PB14
+ #define SD_MOSI_PIN PB15
+ #define SD_SPI_SPEED SPI_HALF_SPEED
+ #if ENABLED(NO_SD_HOST_DRIVE)
+ // Detect pin doesn't work when NO_SD_HOST_DRIVE disabled
+ #define SD_DETECT_PIN PC3
+ #endif
+#endif
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X.h b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X.h
new file mode 100644
index 000000000000..34b794d27d5d
--- /dev/null
+++ b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X.h
@@ -0,0 +1,52 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+#pragma once
+
+#define ALLOW_STM32DUINO
+#include "env_validate.h"
+
+#if HOTENDS > 2 || E_STEPPERS > 2
+ #error "MKS Neptune X supports up to 2 hotends / E steppers."
+#endif
+
+#define BOARD_INFO_NAME "MKS Neptune X"
+
+//
+// Software SPI pins for TMC2130 stepper drivers
+// This board only supports SW SPI for stepper drivers
+//
+#if HAS_TMC_SPI && DISABLED(TMC_USE_SW_SPI)
+ #warning "TMC_USE_SW_SPI is required for MKS Neptune X with TMC drivers."
+#endif
+#if ENABLED(TMC_USE_SW_SPI)
+ #ifndef TMC_SW_MOSI
+ #define TMC_SW_MOSI PD14
+ #endif
+ #ifndef TMC_SW_MISO
+ #define TMC_SW_MISO PD1
+ #endif
+ #ifndef TMC_SW_SCK
+ #define TMC_SW_SCK PD0
+ #endif
+#endif
+
+#include "pins_MKS_NEPTUNE_X_common.h"
diff --git a/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X_common.h b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X_common.h
new file mode 100644
index 000000000000..5c4be2fbea21
--- /dev/null
+++ b/Marlin/src/pins/stm32f4/pins_MKS_NEPTUNE_X_common.h
@@ -0,0 +1,309 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+#pragma once
+
+//
+// MKS Neptune X
+//
+
+#define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support
+
+// Avoid conflict with TIMER_TONE
+#define STEP_TIMER 10
+
+// Use one of these or SDCard-based Emulation will be used
+//#define SRAM_EEPROM_EMULATION // Use BackSRAM-based EEPROM emulation
+//#define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation
+#if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM)
+ #define I2C_EEPROM
+ #define MARLIN_EEPROM_SIZE 0x1000 // 4K
+ #define I2C_SCL_PIN PB6
+ #define I2C_SDA_PIN PB7
+#endif
+
+//
+// Release PB4 (Z_DIR_PIN) from JTAG NRST role
+//
+//#define DISABLE_DEBUG
+
+//
+// Servos
+//
+#define SERVO0_PIN PA8 // Enable BLTOUCH
+
+//
+// Limit Switches
+//
+#define X_DIAG_PIN PA15
+#define Y_DIAG_PIN PC15
+#define Z_DIAG_PIN PC14
+#define E0_DIAG_PIN PC4
+#define E1_DIAG_PIN PE7
+
+#define X_STOP_PIN X_DIAG_PIN
+#define Y_STOP_PIN Y_DIAG_PIN
+#define Z_MIN_PIN Z_DIAG_PIN
+#define Z_MAX_PIN E0_DIAG_PIN
+
+//
+// Steppers
+//
+#define X_ENABLE_PIN PE4
+#define X_STEP_PIN PE3
+#define X_DIR_PIN PE2
+
+#define Y_ENABLE_PIN PE1
+#define Y_STEP_PIN PE0
+#define Y_DIR_PIN PB9
+
+#define Z_ENABLE_PIN PB8
+#define Z_STEP_PIN PB5
+#define Z_DIR_PIN PB4
+
+#define E0_ENABLE_PIN PB3
+#define E0_STEP_PIN PD6
+#define E0_DIR_PIN PD3
+
+#define E1_ENABLE_PIN PA3
+#define E1_STEP_PIN PA6
+#define E1_DIR_PIN PA1
+
+#if HAS_TMC_UART
+ //
+ // Software serial
+ // No Hardware serial for steppers
+ //
+ #define X_SERIAL_TX_PIN PD5
+ #define X_SERIAL_RX_PIN X_SERIAL_TX_PIN
+
+ #define Y_SERIAL_TX_PIN PD7
+ #define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN
+
+ #define Z_SERIAL_TX_PIN PD4
+ #define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN
+
+ #define E0_SERIAL_TX_PIN PD9
+ #define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN
+
+ #define E1_SERIAL_TX_PIN PD8
+ #define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN
+
+ // Reduce baud rate to improve software serial reliability
+ #define TMC_BAUD_RATE 19200
+#endif
+
+//
+// Temperature Sensors
+//
+#define TEMP_0_PIN PC1 // TH1
+#define TEMP_1_PIN PA2 // TH2
+#define TEMP_BED_PIN PC0 // TB1
+
+#if HOTENDS == 1 && !REDUNDANT_TEMP_MATCH(SOURCE, E1)
+ #if TEMP_SENSOR_PROBE
+ #define TEMP_PROBE_PIN TEMP_1_PIN
+ #elif TEMP_SENSOR_CHAMBER
+ #define TEMP_CHAMBER_PIN TEMP_1_PIN
+ #endif
+#endif
+
+//
+// Heaters / Fans
+//
+#define HEATER_0_PIN PC3 // HEATER1
+#define HEATER_1_PIN PB0 // HEATER2
+#define HEATER_BED_PIN PA0 // HOT BED
+
+#define FAN_PIN PC14 // FAN
+#define FAN1_PIN PB1 // FAN1
+
+//
+// Thermocouples
+//
+//#define TEMP_0_CS_PIN HEATER_0_PIN // TC1 - CS1
+//#define TEMP_0_CS_PIN HEATER_1_PIN // TC2 - CS2
+
+//
+// Misc. Functions
+//
+#if HAS_TFT_LVGL_UI
+ #define MT_DET_1_PIN PA4 // MT_DET
+ #define MT_DET_2_PIN PE6
+ #define MT_DET_PIN_STATE LOW
+#endif
+
+#ifndef FIL_RUNOUT_PIN
+ #define FIL_RUNOUT_PIN PA4
+#endif
+#ifndef FIL_RUNOUT2_PIN
+ #define FIL_RUNOUT2_PIN PE6
+#endif
+
+#ifndef POWER_LOSS_PIN
+ #define POWER_LOSS_PIN PA2 // PW_DET
+#endif
+
+//#define SUICIDE_PIN PB2
+//#define LED_PIN PB2
+//#define KILL_PIN PA2
+//#define KILL_PIN_STATE LOW
+
+//
+// Power Supply Control
+//
+#if ENABLED(MKS_PWC)
+ #if ENABLED(TFT_LVGL_UI)
+ #if ENABLED(PSU_CONTROL)
+ #error "PSU_CONTROL is incompatible with MKS_PWC plus TFT_LVGL_UI."
+ #endif
+ #undef MKS_PWC
+ #define SUICIDE_PIN PB2
+ #define SUICIDE_PIN_STATE LOW
+ #else
+ #define PS_ON_PIN PB2 // PW_OFF
+ #endif
+ #define KILL_PIN PA13 // PW_DET
+ #define KILL_PIN_STATE HIGH
+#endif
+
+// Random Info
+#define USB_SERIAL -1 // USB Serial
+#define WIFI_SERIAL 3 // USART3
+#define MKS_WIFI_MODULE_SERIAL 1 // USART1
+#define MKS_WIFI_MODULE_SPI 2 // SPI2
+
+#ifndef SDCARD_CONNECTION
+ #define SDCARD_CONNECTION ONBOARD
+#endif
+
+// MKS WIFI MODULE
+#if ENABLED(MKS_WIFI_MODULE)
+ #define WIFI_IO0_PIN PC13
+ #define WIFI_IO1_PIN PC7
+ #define WIFI_RESET_PIN PE9
+#endif
+
+// MKS TEST
+#if ENABLED(MKS_TEST)
+ #define MKS_TEST_POWER_LOSS_PIN PA13 // PW_DET
+ #define MKS_TEST_PS_ON_PIN PB2 // PW_OFF
+#endif
+
+//
+// TFT with FSMC interface
+//
+#if HAS_FSMC_TFT
+ /**
+ * Note: MKS Robin TFT screens use various TFT controllers.
+ * If the screen stays white, disable 'TFT_RESET_PIN'
+ * to let the bootloader init the screen.
+ */
+ #define TFT_RESET_PIN PC6 // FSMC_RST
+ #define TFT_BACKLIGHT_PIN PD13
+
+ #define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h
+ #define DOGLCD_SCK -1
+
+ #define TOUCH_CS_PIN PA7 // SPI2_NSS
+ #define TOUCH_SCK_PIN PB13 // SPI2_SCK
+ #define TOUCH_MISO_PIN PB14 // SPI2_MISO
+ #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI
+
+ #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
+ #define FSMC_CS_PIN PD7
+ #define FSMC_RS_PIN PD11
+ #define FSMC_DMA_DEV DMA2
+ #define FSMC_DMA_CHANNEL DMA_CH5
+
+ #define TFT_CS_PIN FSMC_CS_PIN
+ #define TFT_RS_PIN FSMC_RS_PIN
+
+ #define TOUCH_BUTTONS_HW_SPI
+ #define TOUCH_BUTTONS_HW_SPI_DEVICE 2
+
+ #define TFT_BUFFER_SIZE 14400
+#endif
+
+//
+// Onboard SD card
+//
+// detect pin doesn't work when ONBOARD and NO_SD_HOST_DRIVE disabled
+#if SD_CONNECTION_IS(ONBOARD)
+ #define ENABLE_SPI3
+ #define SD_SS_PIN -1
+ #define SDSS PC9
+ #define SD_SCK_PIN PC10
+ #define SD_MISO_PIN PC11
+ #define SD_MOSI_PIN PC12
+ #define SD_DETECT_PIN PD12
+#endif
+
+#define SPI_FLASH
+#if ENABLED(SPI_FLASH)
+ #define HAS_SPI_FLASH 1
+ #define SPI_DEVICE 2
+ #define SPI_FLASH_SIZE 0x1000000
+ #define SPI_FLASH_CS_PIN PB12
+ #define SPI_FLASH_MOSI_PIN PC3
+ #define SPI_FLASH_MISO_PIN PC2
+ #define SPI_FLASH_SCK_PIN PB13
+#endif
+
+//
+// LCD / Controller
+//
+#define BEEPER_PIN PC5
+
+//
+// TFT with FSMC interface
+//
+#if HAS_FSMC_TFT
+ /**
+ * Note: MKS Robin TFT screens use various TFT controllers.
+ * If the screen stays white, disable 'TFT_RESET_PIN'
+ * to let the bootloader init the screen.
+ */
+ #define TFT_RESET_PIN PC6 // FSMC_RST
+ #define TFT_BACKLIGHT_PIN PD13
+
+ #define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h
+ #define DOGLCD_SCK -1
+
+ #define TOUCH_CS_PIN PA7 // SPI2_NSS
+ #define TOUCH_SCK_PIN PB13 // SPI2_SCK
+ #define TOUCH_MISO_PIN PB14 // SPI2_MISO
+ #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI
+
+ #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
+ #define FSMC_CS_PIN PD7
+ #define FSMC_RS_PIN PD11
+ #define FSMC_DMA_DEV DMA2
+ #define FSMC_DMA_CHANNEL DMA_CH5
+
+ #define TFT_CS_PIN FSMC_CS_PIN
+ #define TFT_RS_PIN FSMC_RS_PIN
+
+ #define TOUCH_BUTTONS_HW_SPI
+ #define TOUCH_BUTTONS_HW_SPI_DEVICE 2
+
+ #define TFT_BUFFER_SIZE 14400
+#endif
diff --git a/Marlin/src/pins/stm32f4/pins_TRONXY_CXY_446_V10.h b/Marlin/src/pins/stm32f4/pins_TRONXY_CXY_446_V10.h
index 158239732070..60c564846020 100644
--- a/Marlin/src/pins/stm32f4/pins_TRONXY_CXY_446_V10.h
+++ b/Marlin/src/pins/stm32f4/pins_TRONXY_CXY_446_V10.h
@@ -19,6 +19,7 @@
* along with this program. If not, see .
*
*/
+#pragma once
/**
* BOARD_TRONXY_CXY_446_V10
@@ -26,8 +27,6 @@
* CXY-V6-191121 / CXY-446-V10-220413
*/
-#pragma once
-
#include "env_validate.h"
#if EXTRUDERS > 2 || E_STEPPERS > 2 || NUM_RUNOUT_SENSORS > 2
diff --git a/ini/stm32f1.ini b/ini/stm32f1.ini
index 0978b19476a2..cc01b5276f21 100644
--- a/ini/stm32f1.ini
+++ b/ini/stm32f1.ini
@@ -231,6 +231,13 @@ build_flags = ${env:STM32F103RE_btt.build_flags}
-DUSBD_IRQ_SUBPRIO=6 -DUSBD_USE_CDC_MSC
build_unflags = ${env:STM32F103RE_btt.build_unflags} -DUSBD_USE_CDC
+#
+# ZNP Robin Nano V1.2
+#
+[env:znp_robin_nano35]
+extends = mks_robin_nano_v1v2
+board_build.encrypt_mks = elegoo.bin
+
#
# Mingda MPX_ARM_MINI
#
diff --git a/ini/stm32f4.ini b/ini/stm32f4.ini
index 7fdbc6980477..c99bae35c542 100644
--- a/ini/stm32f4.ini
+++ b/ini/stm32f4.ini
@@ -659,6 +659,50 @@ board_build.rename = Robin_nano35.bin
debug_tool = jlink
upload_protocol = jlink
+#
+# MKS Neptune X
+#
+[env:mks_neptune_x]
+extends = stm32_variant
+board = marlin_STM32F407VGT6_CCM
+board_build.variant = MARLIN_F4x7Vx
+board_build.offset = 0xC000
+board_upload.offset_address = 0x0800C000
+board_build.rename = elegoo.bin
+platform_packages = ${stm_flash_drive.platform_packages}
+build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags} ${stm_flash_drive.build_flags}
+ -DHAL_PCD_MODULE_ENABLED -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
+ -DUSE_USBHOST_HS
+ -DUSBD_IRQ_PRIO=5
+ -DUSBD_IRQ_SUBPRIO=6
+ -DUSE_USB_HS_IN_FS
+ -DMCU_STM32F407VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
+ -DSTM32_FLASH_SIZE=512
+ -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
+debug_tool = jlink
+upload_protocol = jlink
+
+#
+# MKS Neptune 3
+#
+[env:mks_neptune_3]
+extends = stm32_variant
+board = marlin_STM32F407VGT6_CCM
+board_build.variant = MARLIN_F4x7Vx
+board_build.offset = 0xC000
+board_upload.offset_address = 0x0800C000
+board_build.rename = ZNP_ROBIN_NANO.bin
+platform_packages = ${stm_flash_drive.platform_packages}
+build_flags = ${stm32_variant.build_flags}
+ -DMCU_STM32F407VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
+ -DSTM32_FLASH_SIZE=512
+ -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
+ -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
+build_unflags = ${stm32_variant.build_unflags}
+ -DUSBCON -DUSBD_USE_CDC
+debug_tool = jlink
+upload_protocol = jlink
+
#
# BOARD_MKS_ROBIN_NANO_V1_3_F4
# - MKS Robin Nano V1.3 (STM32F407VET6, 5 Pololu Plug)
@@ -684,6 +728,13 @@ build_flags = ${mks_robin_nano_v1_3_f4_common.build_flags}
-DTIMER_SERVO=TIM2 -DTIMER_TONE=TIM3 -DSS_TIMER=4
-DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
+#
+# Elegoo Neptune 2
+#
+[env:znp_robin_nano_v1_3]
+extends = mks_robin_nano_v1_3_f4
+board_build.rename = elegoo.bin
+
#
# Artillery Ruby
#