diff --git a/ide/vscode/c_cpp_properties.json b/ide/vscode/c_cpp_properties.json
new file mode 100755
index 0000000000000000000000000000000000000000..c6f1e64ce1542049dabc4cdc03caa6f704f42024
--- /dev/null
+++ b/ide/vscode/c_cpp_properties.json
@@ -0,0 +1,127 @@
+{
+    "configurations": [
+        {
+            "name": "stm32f429zi_skyward_homeone",
+            "includePath": [
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_homeone",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_homeone",
+                "${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/mavlink_skyward_lib",
+                "${workspaceFolder}/skyward-boardcore/libs",
+                "${workspaceFolder}/skyward-boardcore/src/shared",   
+                "${workspaceFolder}/skyward-boardcore",
+                "${workspaceFolder}/src/boards",
+                "${workspaceFolder}/src/tests",
+                "${workspaceFolder}/src",
+                "${workspaceFolder}"
+            ],
+            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
+
+            "defines": [
+                "DEBUG",
+                "_ARCH_CORTEXM4_STM32F4",
+                "_BOARD_STM32F429ZI_SKYWARD_HOMEONE",
+                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_homeone",
+                "HSE_VALUE=8000000",
+                "SYSCLK_FREQ_168MHz=168000000",
+                "_MIOSIX",
+                "__cplusplus=201103L"
+            ],
+     
+            "cStandard": "c11",
+            "cppStandard": "c++11",
+
+            "browse": {
+                "path" : [
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_homeone/interfaces-impl",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_homeone",
+                    "${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/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_homeone",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
+                    "${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/filesystem",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
+                    "${workspaceFolder}/skyward-boardcore/libs/mavlink_skyward_lib",
+                    "${workspaceFolder}/skyward-boardcore/libs/*",                   
+                    "${workspaceFolder}/skyward-boardcore/src/shared",
+                    "${workspaceFolder}/skyward-boardcore/*",
+                    "${workspaceFolder}/src/boards",
+                    "${workspaceFolder}/src/tests",
+                    "${workspaceFolder}/src/*",
+                    "${workspaceFolder}/*"
+                ],
+                "limitSymbolsToIncludedHeaders": true
+            }
+        },
+
+        {
+            "name": "stm32f429zi_skyward_death_stack",
+            "includePath": [
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack",
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack",
+                "${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/mavlink_skyward_lib",
+                "${workspaceFolder}/skyward-boardcore/libs",
+                "${workspaceFolder}/skyward-boardcore/src/shared",   
+                "${workspaceFolder}/skyward-boardcore",
+                "${workspaceFolder}/src/boards",
+                "${workspaceFolder}/src/tests",
+                "${workspaceFolder}/src",
+                "${workspaceFolder}"
+            ],
+            "compilerPath": "/opt/arm-miosix-eabi/bin/arm-miosix-eabi-g++",
+
+            "defines": [
+                "DEBUG",
+                "LOG_THREAD_STACK",
+                "_ARCH_CORTEXM4_STM32F4",
+                "_BOARD_STM32F429ZI_SKYWARD_DEATHST",
+                "_MIOSIX_BOARDNAME=stm32f429zi_skyward_death_stack",
+                "HSE_VALUE=8000000",
+                "SYSCLK_FREQ_168MHz=168000000",
+                "_MIOSIX",
+                "__cplusplus=201103L",
+                "DEATH_STACK_1"
+
+            ],
+     
+            "cStandard": "c11",
+            "cppStandard": "c++11",
+
+            "browse": {
+                "path" : [
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack/interfaces-impl",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack",
+                    "${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/config/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/interfaces",
+                    "${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/filesystem",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/stdlib_integration",
+                    "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/*",
+                    "${workspaceFolder}/skyward-boardcore/libs/mavlink_skyward_lib",
+                    "${workspaceFolder}/skyward-boardcore/libs/*",                   
+                    "${workspaceFolder}/skyward-boardcore/src/shared",
+                    "${workspaceFolder}/skyward-boardcore/*",
+                    "${workspaceFolder}/src/boards",
+                    "${workspaceFolder}/src/tests",
+                    "${workspaceFolder}/src/*",
+                    "${workspaceFolder}/*"
+                ],
+                "limitSymbolsToIncludedHeaders": true
+            }
+        }
+    ],
+    "version": 4
+}
\ No newline at end of file
diff --git a/ide/vscode/launch.json b/ide/vscode/launch.json
new file mode 100644
index 0000000000000000000000000000000000000000..b70d9703c59e77e15457a584b9e0f539153aacd9
--- /dev/null
+++ b/ide/vscode/launch.json
@@ -0,0 +1,36 @@
+{
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Python: Current File",
+            "type": "python",
+            "request": "launch",
+            "program": "${file}",
+            "console": "integratedTerminal"
+        },
+        {
+            "cwd": "${workspaceRoot}",
+            "executable": "${workspaceFolder}/bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.elf",
+            "name": "ST-LINK V2 (current entrypoint)",
+            "request": "attach",
+            "type": "cortex-debug",
+            "servertype": "openocd",
+            "device": "STM32F429ZI",
+            "configFiles": [
+                "/home/luca/test.cfg"
+            ]
+        },
+        {
+            "cwd": "${workspaceRoot}",
+            "executable": "${workspaceFolder}/bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.elf",
+            "name": "ST-LINK V1 (current entrypoint)",
+            "request": "attach",
+            "type": "cortex-debug",
+            "servertype": "openocd",
+            "device": "STM32F429ZI",
+            "configFiles": [
+                "${workspaceFolder}/skyward-boardcore/libs/miosix-kernel/miosix/arch/cortexM4_stm32f4/stm32f429zi_skyward_death_stack/death_stack.cfg"
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/ide/vscode/tasks.json b/ide/vscode/tasks.json
new file mode 100755
index 0000000000000000000000000000000000000000..e3f1ac8521afa1bea5be835a75cf2c4200c6f294
--- /dev/null
+++ b/ide/vscode/tasks.json
@@ -0,0 +1,121 @@
+{
+    // See https://go.microsoft.com/fwlink/?LinkId=733558
+    // for the documentation about the tasks.json format
+    "version": "2.0.0",
+    "tasks": [
+        {
+            "label": "Workspace",
+            "type": "shell",
+   
+            "command": "echo ${workspaceFolder}",
+       
+            "problemMatcher": []
+        },
+        {
+            "label": "CLEAN",
+            "type": "shell",
+            "windows": {
+                "command": "python skyward-boardcore/sbs -n -c"
+            },
+            "linux": {
+                "command": "./sbs -c"
+            },
+            "problemMatcher": "$gcc"
+        },
+        {
+            "label": "BUILD all",
+            "type": "shell",
+            "windows": {
+                "command": "python skyward-boardcore/sbs -n"
+            },
+            "linux": {
+                "command": "./sbs"
+            },
+            "problemMatcher": "$gcc"
+        },
+        {
+            "label": "BUILD current-entrypoint",
+            "type": "shell",
+            "windows": {
+                "command": "python skyward-boardcore/sbs -v -n -b ${fileBasenameNoExtension}"
+            },
+            "linux": {
+                "command": "./sbs -v -b ${fileBasenameNoExtension}"
+            },
+            "problemMatcher": "$gcc"
+        },
+        {
+            "label": "RUN current-entrypoint",
+            "type": "shell",
+            "windows": {
+                "command": "ST-LINK_CLI.exe -P bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.bin 0x8000000 -V"
+            },
+            "linux": {
+                "command": "st-flash write bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.bin 0x8000000"
+            },
+            "problemMatcher": []
+        },
+        {
+            "label": "BUILD+RUN current-entrypoint",
+            "type": "shell",
+            "windows": {
+                "command": "ST-LINK_CLI.exe -P bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.bin 0x8000000 -V -Rst"
+            },
+            "linux": {
+                "command": "sleep 1;st-flash write bin/${fileBasenameNoExtension}/${fileBasenameNoExtension}.bin 0x8000000"
+            },
+            "problemMatcher": [],
+            "dependsOn": [
+                "BUILD current-entrypoint"
+            ],
+            "group": {
+                "kind": "build",
+                "isDefault": true
+            }
+        },
+        {
+            "label": "BUILD tests-stm32f429zi-discovery",
+            "type": "shell",
+            "windows": {
+                "command": "python skyward-boardcore/sbs -v -n -b tests-stm32f429zi-discovery"
+            },
+            "linux": {
+                "command": "./sbs -v -b tests-stm32f429zi-discovery"
+            },
+            "problemMatcher": "$gcc"
+        },
+        {
+            "label": "RUN tests-stm32f429zi-discovery",
+            "type": "shell",
+            "windows": {
+                "command": "ST-LINK_CLI.exe -P bin/tests-stm32f429zi-discovery/tests-stm32f429zi-discovery.bin 0x8000000 -V"
+            },
+            "linux": {
+                "command": "st-flash write bin/tests-stm32f429zi-discovery/tests-stm32f429zi-discovery.bin 0x8000000"
+            },
+            "problemMatcher": []
+        },
+        {
+            "label": "BUILD tests-catch",
+            "type": "shell",
+            "windows": {
+                "command": "python skyward-boardcore/sbs -v -n -b tests-catch"
+            },
+            "linux": {
+                "command": "./sbs -v -b tests-catch"
+            },
+            "problemMatcher": "$gcc"
+        },
+        {
+            "label": "RUN tests-catch",
+            "type": "shell",
+            "windows": {
+                "command": "ST-LINK_CLI.exe -P bin/tests-catch/tests-catch.bin 0x8000000 -V"
+            },
+            "linux": {
+                "command": "st-flash write bin/tests-catch/tests-catch.bin 0x8000000"
+            },
+            "problemMatcher": []
+        }
+    ]
+}
\ No newline at end of file