diff --git a/lib/ff13/meson.build b/lib/ff13/meson.build
index 6336bf286498c0b4e89c720cc2e0e8a78beb0fe6..fe2b3dc8beeca963e991af54770917eece0945e1 100644
--- a/lib/ff13/meson.build
+++ b/lib/ff13/meson.build
@@ -16,6 +16,7 @@ lib = static_library(
   sources,
   include_directories: includes,
   dependencies: [periphdriver, mx25lba],
+  c_args: '-w',
 )
 
 libff13 = declare_dependency(
diff --git a/meson.build b/meson.build
index f1586ec93aa9aae174a8a26bc95d1cc708e0cea5..8a0ae60bda2324f27f2cf51b185a73777537017f 100644
--- a/meson.build
+++ b/meson.build
@@ -7,6 +7,7 @@ project(
     'c_std=c99',
     'b_staticpic=false',
     'b_asneeded=false',
+    'warning_level=2',
   ],
 )
 
@@ -17,6 +18,8 @@ assert(
 )
 
 add_global_arguments(
+  '-Wno-unused-parameter',
+  '-Wno-old-style-declaration',
   meson.get_cross_property('target_defs'),
   language: 'c',
 )
diff --git a/pycardium/meson.build b/pycardium/meson.build
index e50b61dfdd69bcc7c104c94123329881e59dae2f..aa637280ad625f1b482f654f5c4f293fcfe33668 100644
--- a/pycardium/meson.build
+++ b/pycardium/meson.build
@@ -80,6 +80,7 @@ upy = static_library(
   micropython_extmod_sources,
   mp_headers,
   include_directories: micropython_includes,
+  c_args: '-w',
 )
 
 elf = executable(