diff --git a/miosix/arch/arm7_lpc2000/lpc2138_miosix_board/interfaces-impl/portability.cpp b/miosix/arch/arm7_lpc2000/lpc2138_miosix_board/interfaces-impl/portability.cpp
index 9335dde59108ba5d1b0061b3af2a667c8dae9fd9..2948c7f6aa8214ca1c6099ae31653f0f02221771 100644
--- a/miosix/arch/arm7_lpc2000/lpc2138_miosix_board/interfaces-impl/portability.cpp
+++ b/miosix/arch/arm7_lpc2000/lpc2138_miosix_board/interfaces-impl/portability.cpp
@@ -35,7 +35,6 @@
 #include "portability_impl.h"
 #include "kernel/scheduler/scheduler.h"
 #include "kernel/scheduler/timer_interrupt.h"
-#include "board_settings.h"
 #include <algorithm>
 
 using namespace std;
diff --git a/miosix/arch/common/drivers/serial_atsam4l.h b/miosix/arch/common/drivers/serial_atsam4l.h
index 620a7077109e845fc55f89d23342619b59878921..4fd480f51b3ea9f9bd17cf9340044e37784d22aa 100644
--- a/miosix/arch/common/drivers/serial_atsam4l.h
+++ b/miosix/arch/common/drivers/serial_atsam4l.h
@@ -30,7 +30,6 @@
 #include "filesystem/console/console_device.h"
 #include "kernel/sync.h"
 #include "kernel/queue.h"
-#include "board_settings.h"
 
 namespace miosix {
 
diff --git a/miosix/arch/common/drivers/serial_efm32.h b/miosix/arch/common/drivers/serial_efm32.h
index 05733eaf361e35d24c1b39470957df77a440fec3..7b28d25b614f644c5830cb223f099bd47f69db59 100644
--- a/miosix/arch/common/drivers/serial_efm32.h
+++ b/miosix/arch/common/drivers/serial_efm32.h
@@ -31,7 +31,6 @@
 #include "filesystem/console/console_device.h"
 #include "kernel/sync.h"
 #include "kernel/queue.h"
-#include "board_settings.h"
 
 namespace miosix {
 
diff --git a/miosix/arch/common/drivers/stm32_sgm.cpp b/miosix/arch/common/drivers/stm32_sgm.cpp
index 64849679173480fc7788605ce7d3341a756de9e8..342e4543ae2c9c9a57e510d8e20ab4a38ef2f14e 100644
--- a/miosix/arch/common/drivers/stm32_sgm.cpp
+++ b/miosix/arch/common/drivers/stm32_sgm.cpp
@@ -25,7 +25,6 @@
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/ 
 
-#include "board_settings.h"
 #include "stm32_sgm.h"
 #include <string.h>
 #include "miosix.h"
diff --git a/miosix/arch/common/drivers/stm32_sgm.h b/miosix/arch/common/drivers/stm32_sgm.h
index 10cc6dc9d9fe875f055e20011b7e055e6215e9d8..d2e8db0fa2d167830ea56818864b44a4eb5cd48f 100644
--- a/miosix/arch/common/drivers/stm32_sgm.h
+++ b/miosix/arch/common/drivers/stm32_sgm.h
@@ -24,8 +24,6 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/ 
- 
-#include "board_settings.h"
 
 #define PRESERVE __attribute__((section(".preserve"))) 
 
@@ -84,8 +82,6 @@ private:
     SGM();
     void readResetRegister();
     void clearResetFlag();
-
 };
 
-
-}
\ No newline at end of file
+}
diff --git a/miosix/arch/cortexM3_stm32/stm32f100c8_microboard/interfaces-impl/hwmapping.h b/miosix/arch/cortexM3_stm32/stm32f100c8_microboard/interfaces-impl/hwmapping.h
index 7205e783660ffad03fbe87688a2298242868910d..cb518ed923d57daae4a47ae899f7e30a2e00027b 100644
--- a/miosix/arch/cortexM3_stm32/stm32f100c8_microboard/interfaces-impl/hwmapping.h
+++ b/miosix/arch/cortexM3_stm32/stm32f100c8_microboard/interfaces-impl/hwmapping.h
@@ -25,11 +25,9 @@
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/
 
-#ifndef HWMAPPING_H
-#define	HWMAPPING_H
+#pragma once
 
 #include "interfaces/gpio.h"
-#include "board_settings.h"
 
 namespace miosix {
 
@@ -52,5 +50,3 @@ typedef Gpio<GPIOB_BASE,11> io11;
 }
 
 } //namespace miosix
-
-#endif //HWMAPPING_H
\ No newline at end of file
diff --git a/miosix/arch/cortexM3_stm32/stm32f100c8_vaisala_rs41/interfaces-impl/hwmapping.h b/miosix/arch/cortexM3_stm32/stm32f100c8_vaisala_rs41/interfaces-impl/hwmapping.h
index e2a27585e76ccd379655864ca7bd8050d16855e5..a4ef7233f9e304fa24d741df5bf5e82e9ef07f09 100644
--- a/miosix/arch/cortexM3_stm32/stm32f100c8_vaisala_rs41/interfaces-impl/hwmapping.h
+++ b/miosix/arch/cortexM3_stm32/stm32f100c8_vaisala_rs41/interfaces-impl/hwmapping.h
@@ -25,11 +25,9 @@
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/
 
-#ifndef HWMAPPING_H
-#define	HWMAPPING_H
+#pragma once
 
 #include "interfaces/gpio.h"
-#include "board_settings.h"
 
 namespace miosix {
 
@@ -87,5 +85,3 @@ namespace spi
 };
 
 } //namespace miosix
-
-#endif //HWMAPPING_H
diff --git a/miosix/config/miosix_settings.h b/miosix/config/miosix_settings.h
index 763d2a02cb96124fecb74d187cc91e6fe321a792..710ad06cac90b08887488ee7346eb8d6c66d041f 100644
--- a/miosix/config/miosix_settings.h
+++ b/miosix/config/miosix_settings.h
@@ -1,6 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015          *
- *   by Terraneo Federico                                                  *
+ *   Copyright (C) 2008-2021 by Terraneo Federico                          *
  *                                                                         *
  *   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  *
@@ -26,8 +25,7 @@
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/ 
 
-#ifndef MIOSIX_SETTINGS_H
-#define MIOSIX_SETTINGS_H
+#pragma once
 
 // Before you can compile the kernel you have to configure it by editing this
 // file. After that, comment out this line to disable the reminder error.
@@ -43,7 +41,7 @@
  * on architecture specific details. The other options are in the following
  * files which are included here:
  * miosix/arch/architecture name/common/arch_settings.h
- * miosix/arch/architecture name/board name/board_settings.h
+ * miosix/config/arch/architecture name/board name/board_settings.h
  */
 #include "arch_settings.h"
 #include "board_settings.h"
@@ -53,7 +51,7 @@
  * \internal
  * Versioning for miosix_settings.h for out of git tree projects
  */
-#define MIOSIX_SETTINGS_VERSION 100
+#define MIOSIX_SETTINGS_VERSION 300
 
 namespace miosix {
 
@@ -235,5 +233,3 @@ const unsigned int STACK_FILL=0xbbbbbbbb;
  */
 
 } //namespace miosix
-
-#endif //MIOSIX_SETTINGS_H
diff --git a/miosix/kernel/kernel.cpp b/miosix/kernel/kernel.cpp
index 570dcbf1a9f57093a86b1d78240c41ecca39d32d..6584e4a7e7f4b622d728af1fc802d6be6dc1ab3c 100755
--- a/miosix/kernel/kernel.cpp
+++ b/miosix/kernel/kernel.cpp
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Terraneo Federico *
+ *   Copyright (C) 2008-2021 by Terraneo Federico                          *
  *                                                                         *
  *   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  *
@@ -31,7 +31,6 @@
 #include "interfaces/atomic_ops.h"
 #include "error.h"
 #include "logging.h"
-#include "arch_settings.h"
 #include "sync.h"
 #include "stage_2_boot.h"
 #include "process.h"
diff --git a/miosix/kernel/kernel.h b/miosix/kernel/kernel.h
index c98a806723f89b8d8ed38074ac38c15c51759f76..b29fb4763ba2727f954d8e6b5631bbca34bcae59 100755
--- a/miosix/kernel/kernel.h
+++ b/miosix/kernel/kernel.h
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Terraneo Federico *
+ *   Copyright (C) 2008-2021 by Terraneo Federico                          *
  *                                                                         *
  *   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  *
@@ -24,12 +24,9 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
  ***************************************************************************/ 
- //Miosix kernel
 
-#ifndef KERNEL_H
-#define KERNEL_H
+#pragma once
 
-//Include settings.
 #include "config/miosix_settings.h"
 #include "interfaces/portability.h"
 #include "kernel/scheduler/sched_types.h"
@@ -38,9 +35,7 @@
 #include <cstdlib>
 #include <new>
 #include <functional>
-
-// some pthread functions are friends of Thread
-#include <pthread.h>
+#include <pthread.h> // some pthread functions are friends of Thread
 
 /**
  * \namespace miosix
@@ -1100,5 +1095,3 @@ struct SleepData : public IntrusiveListItem
  */
 
 } //namespace miosix
-
-#endif //KERNEL_H
diff --git a/miosix/stdlib_integration/libc_integration.cpp b/miosix/stdlib_integration/libc_integration.cpp
index 51f8a121ddea15542461d5c9835f01ecd367d56e..09a8d742107b3912e2c35ce562c41f2ac952e29c 100644
--- a/miosix/stdlib_integration/libc_integration.cpp
+++ b/miosix/stdlib_integration/libc_integration.cpp
@@ -48,7 +48,6 @@
 #include "kernel/kernel.h"
 #include "interfaces/bsp.h"
 #include "interfaces/cstimer.h"
-#include "board_settings.h"
 
 using namespace std;
 
diff --git a/miosix/util/util.cpp b/miosix/util/util.cpp
index ebf246d7b8c6925b214ba595c2ace7a3d85d93f1..20ca4de9941e2971fb363f501d8a089bc99184b2 100644
--- a/miosix/util/util.cpp
+++ b/miosix/util/util.cpp
@@ -34,8 +34,7 @@
 #include "util.h"
 #include "kernel/kernel.h"
 #include "stdlib_integration/libc_integration.h"
-#include "config/miosix_settings.h"
-#include "arch_settings.h" //For WATERMARK_FILL and STACK_FILL
+#include "config/miosix_settings.h" //For WATERMARK_FILL and STACK_FILL
 
 using namespace std;
 
diff --git a/miosix/util/version.cpp b/miosix/util/version.cpp
index 63e5dd401b7c1d32fd3d19ecbeec1b631f9598c4..ba684058e4982825379023fd1b1741be52c7c725 100644
--- a/miosix/util/version.cpp
+++ b/miosix/util/version.cpp
@@ -26,12 +26,11 @@
  ***************************************************************************/
 
 #include "config/miosix_settings.h"
-#include "board_settings.h"
 
 // These two #if are here because version checking for config files in
 // out-of-git-tree projects has to be done somewhere.
 
-#if MIOSIX_SETTINGS_VERSION != 100
+#if MIOSIX_SETTINGS_VERSION != 300
 #error You need to update miosix_settings.h to match the version in the kernel.
 #endif