diff --git a/Marlin/src/HAL/shared/Marduino.h b/Marlin/src/HAL/shared/Marduino.h
index 0e93b12d9a3..d9440325f26 100644
--- a/Marlin/src/HAL/shared/Marduino.h
+++ b/Marlin/src/HAL/shared/Marduino.h
@@ -64,3 +64,7 @@
 #define RST_JTAG       16
 #define RST_SOFTWARE   32
 #define RST_BACKUP     64
+
+#ifndef M_PI
+  #define M_PI 3.14159265358979323846f
+#endif
diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h
index 94bd522e520..0f2609f459a 100644
--- a/Marlin/src/core/macros.h
+++ b/Marlin/src/core/macros.h
@@ -84,10 +84,6 @@
 #define SBI32(n,b) (n |= _BV32(b))
 #define CBI32(n,b) (n &= ~_BV32(b))
 
-// Macros for maths shortcuts
-#undef M_PI
-#define M_PI 3.14159265358979323846f
-
 #define RADIANS(d) ((d)*float(M_PI)/180.0f)
 #define DEGREES(r) ((r)*180.0f/float(M_PI))
 #define HYPOT2(x,y) (sq(x)+sq(y))