diff --git a/buildroot/share/PlatformIO/scripts/common-cxxflags.py b/buildroot/share/PlatformIO/scripts/common-cxxflags.py
new file mode 100644
index 0000000000000000000000000000000000000000..3e75434ee78c2965b89e857348ea06878c2a7c20
--- /dev/null
+++ b/buildroot/share/PlatformIO/scripts/common-cxxflags.py
@@ -0,0 +1,12 @@
+#
+# common-cxxflags.py
+# Convenience script to apply customizations to CPP flags
+#
+Import("env")
+env.Append(CXXFLAGS=[
+  "-Wno-register"
+  #"-Wno-incompatible-pointer-types",
+  #"-Wno-unused-const-variable",
+  #"-Wno-maybe-uninitialized",
+  #"-Wno-sign-compare"
+])
diff --git a/platformio.ini b/platformio.ini
index ce49569dffa2617dbe6b46b89b61fb46806b7b53..6a35733c82cddf9fe1fc5e61de01b94a8d38c08f 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -22,6 +22,7 @@ default_envs = megaatmega2560
 
 [common]
 default_src_filter = +<src/*> -<src/config> -<src/HAL> +<src/HAL/shared>
+extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py
 build_flags = -fmax-errors=5
   -g
   -ggdb
@@ -590,6 +591,7 @@ platform      = atmelsam
 board         = adafruit_grandcentral_m4
 framework     = arduino
 build_flags   = ${common.build_flags} -std=gnu++17
+extra_scripts = ${common.extra_scripts}
 build_unflags = -std=gnu++11
 lib_deps      = ${common.lib_deps}
 lib_ignore    = U8glib-HAL