diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 74b7c3142b06876e4ffd041b775273d43340eaf6..7653bbb59505e7c56fcaa0eb880e6caa114613ce 100755
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -2,11 +2,10 @@
     "env": {
         "defaultDefines": [
             "_MIOSIX",
-            "DEBUG",
-            "__cplusplus=201402L"
+            "DEBUG"
         ],
         "defaultIncludePaths": [
-            "${workspaceFolder}/skyward-boardcore/libs/Catch2/include",
+            "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
             "${workspaceFolder}/skyward-boardcore/libs/eigen",
             "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
             "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
@@ -18,32 +17,11 @@
             "${workspaceFolder}/skyward-boardcore/src/shared",
             "${workspaceFolder}/skyward-boardcore/src/tests",
             "${workspaceFolder}/src/boards",
+            "${workspaceFolder}/src/tests",
             "${workspaceFolder}/src"
         ]
     },
     "configurations": [
-        {
-            "name": "stm32f205rc_skyward_ciuti",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f205RC_skyward_ciuti",
-                "_BOARD_STM32F205RC_SKYWARD_CIUTI",
-                "_ARCH_CORTEXM3_STM32F2",
-                "STM32F205xx",
-                "HSE_VALUE=25000000",
-                "SYSCLK_FREQ_120MHz=120000000",
-                "V_DDA_VOLTAGE=3.3f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/stm32f205rc_skyward_ciuti",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM3_stm32f2/stm32f205rc_skyward_ciuti"
-            ]
-        },
         {
             "name": "stm32f407vg_stm32f4discovery",
             "cStandard": "c11",
@@ -63,41 +41,19 @@
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery"
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f407vg_stm32f4discovery",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/"
             ]
         },
         {
-            "name": "stm32f429zi_hre_test_stand",
+            "name": "stm32f429zi_death_stack_v3",
             "cStandard": "c11",
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
                 "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_hre_test_stand",
-                "_BOARD_STM32F429ZI_HRE_TEST_STAND",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.0f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_hre_test_stand",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_hre_test_stand"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_death_stack_v3",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_v3",
-                "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X",
+                "_MIOSIX_BOARDNAME=stm32f429zi_death_stack_v3",
+                "_BOARD_STM32F429ZI_DEATH_STACK_V3",
                 "_ARCH_CORTEXM4_STM32F4",
                 "STM32F429xx",
                 "HSE_VALUE=8000000",
@@ -108,8 +64,7 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_death_stack_v3/**"
             ]
         },
         {
@@ -122,63 +77,23 @@
                 "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit",
                 "_BOARD_STM32F767ZI_COMPUTE_UNIT",
                 "_ARCH_CORTEXM7_STM32F7",
-                "STM32F769xx",
+                "STM32F767xx",
                 "HSE_VALUE=25000000",
                 "SYSCLK_FREQ_216MHz=216000000",
                 "__ENABLE_XRAM",
                 "V_DDA_VOLTAGE=3.3f"
             ],
             "includePath": [
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix",
-                "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
-                "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
-                "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                "${workspaceFolder}/skyward-boardcore/libs",
-                "${workspaceFolder}/skyward-boardcore/src/shared",
-                "${workspaceFolder}/skyward-boardcore/src/tests",
-                "${workspaceFolder}/src/hardware_in_the_loop",
-                "${workspaceFolder}/src/boards",
-                "${workspaceFolder}/src/tests",
-                "${workspaceFolder}/src"
-            ],
-            "browse": {
-                "path": [
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
-                    "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                    "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                    "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                    "${workspaceFolder}/skyward-boardcore/libs/mxgui",
-                    "${workspaceFolder}/skyward-boardcore/libs/fmt",
-                    "${workspaceFolder}/skyward-boardcore/src/shared",
-                    "${workspaceFolder}/skyward-boardcore/src/tests",
-                    "${workspaceFolder}/src/hardware_in_the_loop",
-                    "${workspaceFolder}/src/boards",
-                    "${workspaceFolder}/src/tests"
-                ],
-                "limitSymbolsToIncludedHeaders": true
-            }
+                "${defaultIncludePaths}",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_compute_unit/**"
+            ]
         },
         {
             "name": "stm32f767zi_compute_unit_HIL",
             "cStandard": "c11",
             "cppStandard": "c++14",
-            "compilerPath": "C://arm-miosix-eabi/bin/arm-miosix-eabi-g++",
+            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
                 "{defaultDefines}",
                 "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit",
@@ -192,173 +107,54 @@
                 "HILTest"
             ],
             "includePath": [
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix",
-                "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
-                "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
-                "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                "${workspaceFolder}/skyward-boardcore/libs",
-                "${workspaceFolder}/skyward-boardcore/src/shared",
-                "${workspaceFolder}/skyward-boardcore/src/tests",
-                "${workspaceFolder}/src/hardware_in_the_loop",
-                "${workspaceFolder}/src/boards",
-                "${workspaceFolder}/src/tests",
-                "${workspaceFolder}/src"
-            ],
-            "browse": {
-                "path": [
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_v3",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
-                    "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                    "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                    "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                    "${workspaceFolder}/skyward-boardcore/libs/mxgui",
-                    "${workspaceFolder}/skyward-boardcore/libs/fmt",
-                    "${workspaceFolder}/skyward-boardcore/src/shared",
-                    "${workspaceFolder}/skyward-boardcore/src/tests",
-                    "${workspaceFolder}/src/hardware_in_the_loop",
-                    "${workspaceFolder}/src/boards",
-                    "${workspaceFolder}/src/tests"
-                ],
-                "limitSymbolsToIncludedHeaders": true
-            }
+                "${defaultIncludePaths}",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_compute_unit/**",
+                "${workspaceFolder}/src/hardware_in_the_loop"
+            ]
         },
         {
-            "name": "stm32f767zi_skyward_death_stack_v4",
+            "name": "stm32f767zi_death_stack_v4",
             "cStandard": "c11",
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
                 "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_v4",
-                "_BOARD_STM32F429ZI_SKYWARD_DEATHST_V4",
                 "_ARCH_CORTEXM7_STM32F7",
-                "_BOARD_STM32F767ZI_SKYWARD_DEATHST_V4",
-                "_MIOSIX_BOARDNAME=stm32f767zi_skyward_death_stack_v4",
+                "_BOARD_STM32F767ZI_DEATH_STACK_V4",
+                "_MIOSIX_BOARDNAME=stm32f767zi_death_stack_v4",
                 "HSE_VALUE=8000000",
                 "SYSCLK_FREQ_168MHz=168000000",
-                "_MIOSIX",
-                "__cplusplus=201402L",
-                "HILSimulation",
                 "ROCCARASO"
             ],
             "includePath": [
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
+                "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix",
-                "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
-                "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
-                "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                "${workspaceFolder}/skyward-boardcore/libs",
-                "${workspaceFolder}/skyward-boardcore/src/shared",
-                "${workspaceFolder}/skyward-boardcore/src/tests",
-                "${workspaceFolder}/src/boards",
-                "${workspaceFolder}/src",
-                "${workspaceFolder}/src/hardware_in_the_loop"
-            ],
-            "browse": {
-                "path": [
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
-                    "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                    "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                    "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                    "${workspaceFolder}/skyward-boardcore/libs/mxgui",
-                    "${workspaceFolder}/skyward-boardcore/libs/fmt",
-                    "${workspaceFolder}/skyward-boardcore/src/shared",
-                    "${workspaceFolder}/skyward-boardcore/src/tests",
-                    "${workspaceFolder}/src/boards"
-                ],
-                "limitSymbolsToIncludedHeaders": true
-            }
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_death_stack_v4/**"
+            ]
         },
         {
-            "name": "stm32f767zi_skyward_death_stack_v4_HIL",
+            "name": "stm32f767zi_death_stack_v4_HIL",
             "cStandard": "c11",
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
-                "DEBUG",
+                "{defaultDefines}",
                 "_ARCH_CORTEXM7_STM32F7",
-                "_BOARD_STM32F767ZI_SKYWARD_DEATHST_V4",
-                "_MIOSIX_BOARDNAME=stm32f767zi_skyward_death_stack_v4",
+                "_BOARD_STM32F767ZI_DEATH_STACK_V4",
+                "_MIOSIX_BOARDNAME=stm32f767zi_death_stack_v4",
                 "HSE_VALUE=8000000",
                 "SYSCLK_FREQ_168MHz=168000000",
-                "_MIOSIX",
-                "__cplusplus=201103L",
-                "HILSimulation",
                 "ROCCARASO",
+                "HILSimulation",
                 "HILMain"
             ],
             "includePath": [
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
+                "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix",
-                "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
-                "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
-                "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                "${workspaceFolder}/skyward-boardcore/libs",
-                "${workspaceFolder}/skyward-boardcore/src/shared",
-                "${workspaceFolder}/skyward-boardcore/src/tests",
-                "${workspaceFolder}/src/boards",
-                "${workspaceFolder}/src",
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_death_stack_v4/**",
                 "${workspaceFolder}/src/hardware_in_the_loop"
-            ],
-            "browse": {
-                "path": [
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
-                    "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                    "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                    "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                    "${workspaceFolder}/skyward-boardcore/libs/mxgui",
-                    "${workspaceFolder}/skyward-boardcore/libs/fmt",
-                    "${workspaceFolder}/skyward-boardcore/src/shared",
-                    "${workspaceFolder}/skyward-boardcore/src/tests",
-                    "${workspaceFolder}/src/boards"
-                ],
-                "limitSymbolsToIncludedHeaders": true
-            }
+            ]
         },
         {
             "name": "stm32f429zi_skyward_pyxis_auxiliary",
@@ -366,184 +162,51 @@
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
-                "DEBUG",
-                "_ARCH_CORTEXM4_STM32F4",
-                "_BOARD_STM32F429ZI_SKYWARD_PYXIS_AUXILIARY",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_pyxis_auxiliary",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "_MIOSIX",
-                "__cplusplus=201103L"
-            ],
-            "includePath": [
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix",
-                "${workspaceFolder}/skyward-boardcore/libs/Catch2/single_include",
-                "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                "${workspaceFolder}/skyward-boardcore/libs/fmt/include",
-                "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                "${workspaceFolder}/skyward-boardcore/libs",
-                "${workspaceFolder}/skyward-boardcore/src/shared",
-                "${workspaceFolder}/skyward-boardcore/src/tests",
-                "${workspaceFolder}/src/hardware_in_the_loop",
-                "${workspaceFolder}/src/boards",
-                "${workspaceFolder}/src/tests",
-                "${workspaceFolder}/src"
-            ],
-            "browse": {
-                "path": [
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/common",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/filesystem",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/kernel",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/util",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/e20",
-                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
-                    "${workspaceFolder}/skyward-boardcore/libs/mavlink-skyward-lib",
-                    "${workspaceFolder}/skyward-boardcore/libs/eigen",
-                    "${workspaceFolder}/skyward-boardcore/libs/tscpp",
-                    "${workspaceFolder}/skyward-boardcore/libs/mxgui",
-                    "${workspaceFolder}/skyward-boardcore/libs/fmt",
-                    "${workspaceFolder}/skyward-boardcore/src/shared",
-                    "${workspaceFolder}/skyward-boardcore/src/tests",
-                    "${workspaceFolder}/src/hardware_in_the_loop",
-                    "${workspaceFolder}/src/boards",
-                    "${workspaceFolder}/src/tests"
-                ],
-                "limitSymbolsToIncludedHeaders": true
-            }
-        },
-        {
-            "name": "stm32f205rc_skyward_ciuti",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "DEBUG",
-                "_ARCH_CORTEXM3_STM32F2",
-                "_BOARD_STM32F205RC_SKYWARD_CIUTI",
-                "_MIOSIX_BOARDNAME=stm32f205RC_skyward_ciuti",
-                "HSE_VALUE=25000000",
-                "SYSCLK_FREQ_216MHz=216000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.3f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_skyward_death_stack_v4",
-            ],
-        },
-        {
-            "name": "stm32f429zi_skyward_death_stack_x",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_x",
-                "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X",
+                "${defaultDefines}",
                 "_ARCH_CORTEXM4_STM32F4",
+                "_BOARD_STM32F429ZI_PYXIS_AUXILIARY",
+                "_MIOSIX_BOARDNAME=stm32f429zi_pyxis_auxiliary",
                 "STM32F429xx",
                 "HSE_VALUE=8000000",
                 "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
                 "V_DDA_VOLTAGE=3.3f"
             ],
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_pyxis_auxiliary/**"
             ]
         },
         {
-            "name": "stm32f429zi_skyward_death_stack_x_maker_faire",
+            "name": "stm32f205rc_ciuti",
             "cStandard": "c11",
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack_x_maker_faire",
-                "_BOARD_STM32F429ZI_SKYWARD_DEATHST_X_MAKER_FAIRE",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
+                "${defaultDefines}",
+                "_ARCH_CORTEXM3_STM32F2",
+                "_BOARD_STM32F205RC_CIUTI",
+                "_MIOSIX_BOARDNAME=stm32f205RC_ciuti",
+                "HSE_VALUE=25000000",
+                "SYSCLK_FREQ_216MHz=216000000",
                 "__ENABLE_XRAM",
                 "V_DDA_VOLTAGE=3.3f"
             ],
             "includePath": [
                 "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x_maker_faire",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack_x_maker_faire"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_groundstation",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation",
-                "_BOARD_STM32F429ZI_SKYWARD_GS",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.0f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_groundstation_parafoil",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_parafoil",
-                "D_BOARD_STM32F429ZI_SKYWARD_GS_PARAFOIL",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.0f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_parafoil",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_parafoil"
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM3_stm32f2/common",
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f205rc_ciuti/**"
             ]
         },
         {
-            "name": "stm32f429zi_skyward_groundstation_v2",
+            "name": "stm32f429zi_parafoil",
             "cStandard": "c11",
             "cppStandard": "c++14",
             "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
                 "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_v2",
-                "_BOARD_STM32F429ZI_SKYWARD_GS_V2",
+                "_MIOSIX_BOARDNAME=stm32f429zi_parafoil",
+                "_BOARD_STM32F429ZI_PARAFOIL",
                 "_ARCH_CORTEXM4_STM32F4",
                 "STM32F429xx",
                 "HSE_VALUE=8000000",
@@ -554,19 +217,17 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_parafoil/**"
             ]
         },
         {
-            "name": "stm32f429zi_skyward_parafoil",
+            "name": "stm32f429zi_rig",
             "cStandard": "c11",
             "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
             "defines": [
                 "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_parafoil",
-                "_BOARD_STM32F429ZI_SKYWARD_PARAFOIL",
+                "_MIOSIX_BOARDNAME=stm32f429zi_rig",
+                "_BOARD_STM32F429ZI_RIG",
                 "_ARCH_CORTEXM4_STM32F4",
                 "STM32F429xx",
                 "HSE_VALUE=8000000",
@@ -577,53 +238,7 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_parafoil",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_parafoil"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_pyxis_auxiliary",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_pyxis_auxiliary",
-                "_BOARD_STM32F429ZI_SKYWARD_PYXIS_AUXILIARY",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "V_DDA_VOLTAGE=3.3f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_pyxis_auxiliary"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_rig",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_rig",
-                "_BOARD_STM32F429ZI_SKYWARD_RIG",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.0f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_rig",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_rig"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f429zi_rig/**"
             ]
         },
         {
@@ -646,30 +261,8 @@
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery"
-            ]
-        },
-        {
-            "name": "stm32f767zi_compute_unit",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f767zi_compute_unit",
-                "_BOARD_STM32F767ZI_COMPUTE_UNIT",
-                "_ARCH_CORTEXM7_STM32F7",
-                "STM32F767xx",
-                "HSE_VALUE=25000000",
-                "SYSCLK_FREQ_216MHz=216000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.3f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_compute_unit",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_compute_unit"
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_stm32f4discovery",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/"
             ]
         },
         {
@@ -691,8 +284,7 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_gemini_motor",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_gemini_motor"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_gemini_motor/**"
             ]
         },
         {
@@ -703,7 +295,7 @@
             "defines": [
                 "{defaultDefines}",
                 "_MIOSIX_BOARDNAME=stm32f756zg_nucleo",
-                "D_BOARD_STM32F756ZG_NUCLEO",
+                "_BOARD_STM32F756ZG_NUCLEO",
                 "_ARCH_CORTEXM7_STM32F7",
                 "STM32F756xx",
                 "HSE_VALUE=25000000",
@@ -714,8 +306,7 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f756zg_nucleo",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f756zg_nucleo"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f756zg_nucleo/**"
             ]
         },
         {
@@ -726,7 +317,7 @@
             "defines": [
                 "{defaultDefines}",
                 "_MIOSIX_BOARDNAME=stm32f767zi_nucleo",
-                "D_BOARD_STM32F767ZI_NUCLEO",
+                "_BOARD_STM32F767ZI_NUCLEO",
                 "_ARCH_CORTEXM7_STM32F7",
                 "STM32F767xx",
                 "HSE_VALUE=25000000",
@@ -738,7 +329,8 @@
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_nucleo",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_nucleo"
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_nucleo",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/"
             ]
         },
         {
@@ -761,7 +353,8 @@
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f769ni_discovery",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery"
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f769ni_discovery",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/default/"
             ]
         },
         {
@@ -783,31 +376,7 @@
             "includePath": [
                 "${defaultIncludePaths}",
                 "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM7_stm32f7/stm32f767zi_gemini_gs",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM7_stm32f7/stm32f767zi_gemini_gs"
-            ]
-        },
-        {
-            "name": "stm32f429zi_skyward_groundstation_v2",
-            "cStandard": "c11",
-            "cppStandard": "c++14",
-            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
-            "defines": [
-                "{defaultDefines}",
-                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_groundstation_v2",
-                "_BOARD_STM32F429ZI_SKYWARD_GS_V2",
-                "_ARCH_CORTEXM4_STM32F4",
-                "STM32F429xx",
-                "HSE_VALUE=8000000",
-                "SYSCLK_FREQ_168MHz=168000000",
-                "__ENABLE_XRAM",
-                "V_DDA_VOLTAGE=3.0f"
-            ],
-            "includePath": [
-                "${defaultIncludePaths}",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/common",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2",
-                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_groundstation_v2"
+                "${workspaceFolder}/skyward-boardcore/src/bsps/stm32f767zi_gemini_gs/**"
             ]
         }
     ],
diff --git a/.vscode/settings.json b/.vscode/settings.json
index a51e6cc187fb81ae22cabe4c3fa1497faa877e3e..ad62c26731816d98d09c56c75bab66a64d314265 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -169,7 +169,7 @@
         "VREF",
         "Xbee"
     ],
-    "C_Cpp.errorSquiggles": "Enabled",
+    "C_Cpp.errorSquiggles": "enabled",
     "cmake.configureSettings": {
         "CMAKE_C_COMPILER_LAUNCHER": "ccache",
         "CMAKE_CXX_COMPILER_LAUNCHER": "ccache"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bb34a759c97938be60a951c975b88d18189764c6..ec35b72dba4edc0662b46e7382712148cd0f21b6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,6 +22,7 @@
 cmake_minimum_required(VERSION 3.16)
 enable_testing()
 include(skyward-boardcore/cmake/sbs.cmake)
+include(cmake/dependencies.cmake)
 
 # -----------------------------------------------------------------------------#
 #                                    Project                                   #
@@ -40,27 +41,27 @@ sbs_target(test-hil stm32f767zi_compute_unit)
 
 add_executable(main-entry src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER})
 target_include_directories(main-entry PRIVATE ${OBSW_INCLUDE_DIRS})
-sbs_target(main-entry stm32f767zi_skyward_death_stack_v4)
+sbs_target(main-entry stm32f767zi_death_stack_v4)
 
 add_executable(main-entry-roccaraso src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER})
 target_include_directories(main-entry-roccaraso PRIVATE ${OBSW_INCLUDE_DIRS})
 target_compile_definitions(main-entry-roccaraso PRIVATE ROCCARASO)
-sbs_target(main-entry-roccaraso stm32f767zi_skyward_death_stack_v4)
+sbs_target(main-entry-roccaraso stm32f767zi_death_stack_v4)
 
 add_executable(main-entry-euroc src/entrypoints/Main/main-entry.cpp ${MAIN_COMPUTER})
 target_include_directories(main-entry-euroc PRIVATE ${OBSW_INCLUDE_DIRS})
 target_compile_definitions(main-entry-euroc PRIVATE EUROC)
-sbs_target(main-entry-euroc stm32f767zi_skyward_death_stack_v4)
+sbs_target(main-entry-euroc stm32f767zi_death_stack_v4)
 
 add_executable(payload-entry-roccaraso src/entrypoints/Payload/payload-entry.cpp ${PAYLOAD_COMPUTER})
 target_include_directories(payload-entry-roccaraso PRIVATE ${OBSW_INCLUDE_DIRS})
 target_compile_definitions(payload-entry-roccaraso PRIVATE ROCCARASO)
-sbs_target(payload-entry-roccaraso stm32f767zi_skyward_death_stack_v4)
+sbs_target(payload-entry-roccaraso stm32f767zi_death_stack_v4)
 
 add_executable(payload-entry-euroc src/entrypoints/Payload/payload-entry.cpp ${PAYLOAD_COMPUTER})
 target_include_directories(payload-entry-euroc PRIVATE ${OBSW_INCLUDE_DIRS})
 target_compile_definitions(payload-entry-euroc PRIVATE EUROC)
-sbs_target(payload-entry-euroc stm32f767zi_skyward_death_stack_v4)
+sbs_target(payload-entry-euroc stm32f767zi_death_stack_v4)
 
 add_executable(motor-entry src/entrypoints/Motor/motor-entry.cpp ${MOTOR_SOURCES})
 target_include_directories(motor-entry PRIVATE ${OBSW_INCLUDE_DIRS})
@@ -68,7 +69,7 @@ sbs_target(motor-entry stm32f767zi_gemini_motor)
 
 add_executable(rig-entry src/entrypoints/RIG/rig-entry.cpp ${RIG_COMPUTER})
 target_include_directories(rig-entry PRIVATE ${OBSW_INCLUDE_DIRS})
-sbs_target(rig-entry stm32f429zi_skyward_rig)
+sbs_target(rig-entry stm32f429zi_rig)
 
 add_executable(con_rig-entry src/entrypoints/con_RIG/con_rig-entry.cpp ${CON_RIG_COMPUTER})
 target_include_directories(con_rig-entry PRIVATE ${OBSW_INCLUDE_DIRS})
@@ -86,4 +87,4 @@ add_executable(nokia-groundstation-entry
     ${GROUNDSTATION_COMMON} ${GROUNDSTATION_NOKIA}
 )
 target_include_directories(nokia-groundstation-entry PRIVATE ${OBSW_INCLUDE_DIRS})
-sbs_target(nokia-groundstation-entry stm32f429zi_skyward_groundstation_v2)
+sbs_target(nokia-groundstation-entry stm32f429zi_nokia)
diff --git a/skyward-boardcore b/skyward-boardcore
index c0c732f55291f08ffb25360dd5f98cb63184b620..63e304cfc867103ca14f5ad4244afd80a7757c46 160000
--- a/skyward-boardcore
+++ b/skyward-boardcore
@@ -1 +1 @@
-Subproject commit c0c732f55291f08ffb25360dd5f98cb63184b620
+Subproject commit 63e304cfc867103ca14f5ad4244afd80a7757c46
diff --git a/src/boards/Groundstation/Common/Radio/RadioBase.cpp b/src/boards/Groundstation/Common/Radio/RadioBase.cpp
index 22be5ff3b345e82f6ab3be4e18705317eec2b7c1..777e655793912479990ea2b14341ce2fa0e1af29 100644
--- a/src/boards/Groundstation/Common/Radio/RadioBase.cpp
+++ b/src/boards/Groundstation/Common/Radio/RadioBase.cpp
@@ -29,6 +29,7 @@
 using namespace miosix;
 using namespace Groundstation;
 using namespace Boardcore;
+using Boardcore::Constants::NS_IN_MS;
 
 bool RadioBase::sendMsg(const mavlink_message_t& msg)
 {
@@ -108,7 +109,8 @@ void RadioBase::run()
         miosix::Thread::sleep(AUTOMATIC_FLUSH_PERIOD);
 
         // If enough time has passed, automatically flush.
-        if (miosix::getTick() > last_eot_packet_ts + AUTOMATIC_FLUSH_DELAY)
+        if (miosix::getTime() >
+            last_eot_packet_ts + AUTOMATIC_FLUSH_DELAY * NS_IN_MS)
         {
             flush();
         }
@@ -144,7 +146,7 @@ void RadioBase::handleMsg(const mavlink_message_t& msg)
 
     if (isEndOfTransmissionPacket(msg))
     {
-        last_eot_packet_ts = miosix::getTick();
+        last_eot_packet_ts = miosix::getTime();
         flush();
     }
 }
diff --git a/src/boards/Motor/Actuators/Actuators.cpp b/src/boards/Motor/Actuators/Actuators.cpp
index 4e7050ac4d3dd718f004002a5f482ace632ebf59..d00b9a325642159b1a7375dae21d65d82fd9059b 100644
--- a/src/boards/Motor/Actuators/Actuators.cpp
+++ b/src/boards/Motor/Actuators/Actuators.cpp
@@ -96,8 +96,9 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time)
         // Open the valve if it's closed
         if (timings[servo] == 0)
         {
-            timings[servo] = getTick() + time;
-            setFlag[servo] = getTick();
+            long long timeMs = (getTime() / Constants::NS_IN_MS);
+            timings[servo]   = timeMs + time;
+            setFlag[servo]   = timeMs;
         }
     }
 }
@@ -112,7 +113,7 @@ void Actuators::closeServo(ServosList servo)
         if (timings[servo] > 0)
         {
             timings[servo] = 0;
-            setFlag[servo] = getTick();
+            setFlag[servo] = getTime() / Constants::NS_IN_MS;
         }
     }
 }
@@ -153,7 +154,7 @@ Servo* Actuators::getServo(ServosList servo)
 
 void Actuators::checkTimings()
 {
-    uint64_t currentTick = getTick();
+    uint64_t currentTme = getTime() / Constants::NS_IN_MS;
 
     // Enter in protected zone where the timings should be checked and changed
     // and the servo should be positioned atomically over all the threads. A
@@ -164,9 +165,9 @@ void Actuators::checkTimings()
 
         for (uint8_t i = 0; i < ServosList::ServosList_ENUM_END; i++)
         {
-            if (timings[i] > currentTick)
+            if (timings[i] > currentTme)
             {
-                if (currentTick > setFlag[i] + SERVO_CONFIDENCE_TIME)
+                if (currentTme > setFlag[i] + SERVO_CONFIDENCE_TIME)
                 {
                     // 2% less than the actual aperture
                     setServoPosition(
@@ -184,9 +185,9 @@ void Actuators::checkTimings()
                 if (timings[i] != 0)
                 {
                     timings[i] = 0;
-                    setFlag[i] = currentTick;
+                    setFlag[i] = currentTme;
                 }
-                if (currentTick > setFlag[i] + SERVO_CONFIDENCE_TIME)
+                if (currentTme > setFlag[i] + SERVO_CONFIDENCE_TIME)
                 {
                     // 2% open
                     setServoPosition(static_cast<ServosList>(i),
diff --git a/src/boards/Motor/Actuators/Actuators.h b/src/boards/Motor/Actuators/Actuators.h
index 61caeefedd26475d715467d7621aba1d709d8a28..837a7040226075c589aeaaad882c9661065095cc 100644
--- a/src/boards/Motor/Actuators/Actuators.h
+++ b/src/boards/Motor/Actuators/Actuators.h
@@ -95,14 +95,14 @@ private:
     void checkTimings();
 
     // Create the list of timings for every servo
-    uint64_t timings[ServosList::ServosList_ENUM_END] = {0};
+    uint64_t timings[ServosList::ServosList_ENUM_END] = {0};  // [ms]
 
     // This set of flags helps the controller to know when the servo have been
     // set, in order to change slightly their angle after CONSTANT time, to
     // avoid over consumption
-    uint64_t setFlag[ServosList::ServosList_ENUM_END]      = {0};
+    uint64_t setFlag[ServosList::ServosList_ENUM_END]      = {0};  // [ms]
     float openings[ServosList::ServosList_ENUM_END]        = {0};
-    uint64_t openingTimes[ServosList::ServosList_ENUM_END] = {0};
+    uint64_t openingTimes[ServosList::ServosList_ENUM_END] = {0};  // [ms]
 
     // This set represents the events to throw at opening/closing of valves
     uint8_t openingEvents[ServosList::ServosList_ENUM_END] = {0};
diff --git a/src/boards/RIG/Actuators/Actuators.cpp b/src/boards/RIG/Actuators/Actuators.cpp
index 0273849a869ffe503fa76eda11a5d61b6ac51adf..ba98cbee30202f3f049a09e23903ffe046cc6ff7 100644
--- a/src/boards/RIG/Actuators/Actuators.cpp
+++ b/src/boards/RIG/Actuators/Actuators.cpp
@@ -193,7 +193,7 @@ void Actuators::setServoPosition(ServosList servo, float position)
 
 void Actuators::checkTimings()
 {
-    uint64_t currentTick = getTick();
+    uint64_t currentTime = getTime() / Constants::NS_IN_MS; // [ms]
 
     // Enter in protected zone where the timings should be checked and changed
     // and the servo should be positioned atomically over all the threads. A
@@ -204,9 +204,9 @@ void Actuators::checkTimings()
 
         for (uint8_t i = 0; i < ServosList::ServosList_ENUM_END; i++)
         {
-            if (timings[i] > currentTick)
+            if (timings[i] > currentTime)
             {
-                if (currentTick >
+                if (currentTime >
                     setFlag[i] + Config::Servos::SERVO_CONFIDENCE_TIME)
                 {
                     setServoPosition(
@@ -228,7 +228,7 @@ void Actuators::checkTimings()
                 if (timings[i] != 0)
                 {
                     timings[i] = 0;
-                    setFlag[i] = currentTick;
+                    setFlag[i] = currentTime;
 
                     {
                         RestartKernelLock l(lock);
@@ -238,7 +238,7 @@ void Actuators::checkTimings()
                             closingEvents[i], Common::Topics::TOPIC_MOTOR);
                     }
                 }
-                if (currentTick >
+                if (currentTime >
                     setFlag[i] + Config::Servos::SERVO_CONFIDENCE_TIME)
                 {
                     setServoPosition(
@@ -265,7 +265,7 @@ void Actuators::toggleServo(ServosList servo)
         if (timings[servo] > 0)
         {
             timings[servo] = 0;
-            setFlag[servo] = getTick();
+            setFlag[servo] = getTime() / Constants::NS_IN_MS;
 
             {
                 RestartKernelLock l(lock);
@@ -282,8 +282,9 @@ void Actuators::toggleServo(ServosList servo)
         }
         else
         {
-            timings[servo] = getTick() + openingTimes[servo];
-            setFlag[servo] = getTick();
+            long long timeMs = getTime() / Constants::NS_IN_MS;
+            timings[servo] = timeMs + openingTimes[servo];
+            setFlag[servo] = timeMs;
 
             {
                 RestartKernelLock l(lock);
@@ -311,7 +312,7 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time)
         if (timings[servo] > 0)
         {
             timings[servo] = 0;
-            setFlag[servo] = getTick();
+            setFlag[servo] = getTime() / Constants::NS_IN_MS;;
 
             {
                 RestartKernelLock l(lock);
@@ -328,8 +329,9 @@ void Actuators::openServoAtomic(ServosList servo, uint32_t time)
         }
         else
         {
-            timings[servo] = getTick() + time;
-            setFlag[servo] = getTick();
+            long long timeMs = getTime() / Constants::NS_IN_MS;
+            timings[servo] = timeMs + time;
+            setFlag[servo] = timeMs;
 
             {
                 RestartKernelLock l(lock);
@@ -358,7 +360,7 @@ void Actuators::closeAllServo()
         {
             // Make the timings expire
             timings[i] = 0;
-            setFlag[i] = getTick();
+            setFlag[i] = getTime() / Constants::NS_IN_MS;;
 
             // Publish the command also into the CAN bus
             ModuleManager::getInstance().get<CanHandler>()->sendCanServoCommand(
diff --git a/src/boards/RIG/Actuators/Actuators.h b/src/boards/RIG/Actuators/Actuators.h
index b6e2118eedaf08af26518087343f709920934948..bc98af801139b25f822b99e8e4cef6181d26689c 100644
--- a/src/boards/RIG/Actuators/Actuators.h
+++ b/src/boards/RIG/Actuators/Actuators.h
@@ -133,15 +133,15 @@ private:
     void checkTimings();
 
     // Create the list of timings for every servo
-    uint64_t timings[ServosList::ServosList_ENUM_END] = {0};
+    uint64_t timings[ServosList::ServosList_ENUM_END] = {0};  // [ms]
 
     // This set of flags helps the controller to know when the servo have been
     // set, in order to change slightly their angle after CONSTANT time, to
     // avoid over consumption
-    uint64_t setFlag[ServosList::ServosList_ENUM_END]      = {0};
+    uint64_t setFlag[ServosList::ServosList_ENUM_END]      = {0};  // [ms]
     float openings[ServosList::ServosList_ENUM_END]        = {1};
     uint64_t openingTimes[ServosList::ServosList_ENUM_END] = {
-        100000};  // Default 100s
+        100000};  // Default 100s [ms]
 
     // This set represents the events to throw at opening/closing of valves
     uint8_t openingEvents[ServosList::ServosList_ENUM_END] = {0};
diff --git a/src/boards/RIG/Radio/Radio.cpp b/src/boards/RIG/Radio/Radio.cpp
index 3febc05c03b92e5878092eec5f7a67abf165b43b..a03d2a6ad56399dd2be456757b567f1080212dd3 100644
--- a/src/boards/RIG/Radio/Radio.cpp
+++ b/src/boards/RIG/Radio/Radio.cpp
@@ -34,6 +34,7 @@
 
 using namespace Boardcore;
 using namespace miosix;
+using Boardcore::Constants::NS_IN_MS;
 
 void __attribute__((used)) EXTI5_IRQHandlerImpl()
 {
@@ -239,8 +240,9 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg)
             // Extract the buttons data and if there is a slope post the event
             if (previousState.arm_switch == 0 && state.arm_switch == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
@@ -249,84 +251,90 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg)
                     modules.get<CanHandler>()->sendEvent(
                         Common::CanConfig::EventId::ARM);
 
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.filling_valve_btn == 0 &&
                 state.filling_valve_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
                     modules.get<Actuators>()->toggleServo(
                         ServosList::FILLING_VALVE);
 
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.ignition_btn == 0 && state.ignition_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
                     EventBroker::getInstance().post(Common::MOTOR_IGNITION,
                                                     Common::TOPIC_MOTOR);
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.quick_connector_btn == 0 &&
                 state.quick_connector_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
                     modules.get<Actuators>()->toggleServo(
                         ServosList::DISCONNECT_SERVO);
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.release_pressure_btn == 0 &&
                 state.release_pressure_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
                     modules.get<Actuators>()->toggleServo(
                         ServosList::RELEASE_VALVE);
 
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.start_tars_btn == 0 && state.start_tars_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_START_TARS,
                                                     Common::TOPIC_TARS);
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
             if (previousState.venting_valve_btn == 0 &&
                 state.venting_valve_btn == 1)
             {
-                if (getTick() > lastManualCommand +
-                                    Config::Radio::RADIO_LAST_COMMAND_THRESHOLD)
+                if (getTime() >
+                    lastManualCommand +
+                        Config::Radio::RADIO_LAST_COMMAND_THRESHOLD * NS_IN_MS)
                 {
                     EventBroker::getInstance().post(Common::MOTOR_MANUAL_ACTION,
                                                     Common::TOPIC_TARS);
                     modules.get<Actuators>()->toggleServo(
                         ServosList::VENTING_VALVE);
 
-                    lastManualCommand = getTick();
+                    lastManualCommand = getTime();
                 }
             }
 
@@ -339,7 +347,7 @@ void Radio::handleMavlinkMessage(const mavlink_message_t& msg)
                 modules.get<CanHandler>()->sendEvent(
                     Common::CanConfig::EventId::DISARM);
 
-                lastManualCommand = getTick();
+                lastManualCommand = getTime();
             }
 
             previousState = state;
diff --git a/src/boards/RIG/Radio/Radio.h b/src/boards/RIG/Radio/Radio.h
index 7f91e498ed11d0e89f11f46965523013103212c6..ddb5877324250028dc820fb423d77c8e815ed4d7 100644
--- a/src/boards/RIG/Radio/Radio.h
+++ b/src/boards/RIG/Radio/Radio.h
@@ -94,8 +94,8 @@ private:
         buffer;
     std::thread radioBackupDIO;
 
-    long long int lastManualCommand =
-        0;  // Specifies the last tick [ms] in which a command is executed
+    long long lastManualCommand =
+        0;  // Timestamp of the last command execution [ns]
     Boardcore::Logger& SDlogger   = Boardcore::Logger::getInstance();
     Boardcore::PrintLogger logger = Boardcore::Logging::getLogger("Radio");
 };
diff --git a/src/boards/RIG/StatesMonitor/StatesMonitor.cpp b/src/boards/RIG/StatesMonitor/StatesMonitor.cpp
index 65144b1ac369098e0c8d75758fb016874c791173..18245be8561f2d5a22f0a7f100a5dab4ac254e8d 100644
--- a/src/boards/RIG/StatesMonitor/StatesMonitor.cpp
+++ b/src/boards/RIG/StatesMonitor/StatesMonitor.cpp
@@ -23,6 +23,7 @@
 #include <RIG/StatesMonitor/StatesMonitor.h>
 
 using namespace Boardcore;
+using namespace Boardcore::Constants;
 using namespace miosix;
 
 namespace RIG
@@ -52,8 +53,8 @@ void StatesMonitor::update()
     for (int i = 0; i < Config::StatesMonitor::BOARDS_NUMBER; i++)
     {
         // Check if the time since the last config expires
-        if (getTick() >
-            updateTimestamps[i] + Config::StatesMonitor::MAX_TIMEOUT)
+        if (getTime() >
+            updateTimestamps[i] + Config::StatesMonitor::MAX_TIMEOUT * NS_IN_MS)
         {
             boardStatuses[i] = 0;
         }
@@ -70,7 +71,7 @@ void StatesMonitor::setBoardStatus(Common::CanConfig::Board board,
     if (index < Config::StatesMonitor::BOARDS_NUMBER)
     {
         boardStatuses[index]    = status;
-        updateTimestamps[index] = getTick();
+        updateTimestamps[index] = getTime();
     }
 }