diff --git a/cw1_template/.vscode/settings.json b/cw1_template/.vscode/settings.json
index 51accc4d3f29a99175c4f9c5465a01d8dfbf7a30..8c07ffd4774c091e23683c2691af71cfcc30da30 100644
--- a/cw1_template/.vscode/settings.json
+++ b/cw1_template/.vscode/settings.json
@@ -5,4 +5,7 @@
     "C_Cpp.clang_format_style": "file",
     "C_Cpp.clang_format_fallbackStyle": "none",
     "editor.rulers": [90],
+    "nrf52SDKPath": "${workspaceFolder}/../../../",
+    "userName": "root",
+    "group": "08"
   }
\ No newline at end of file
diff --git a/cw1_template/.vscode/tasks.json b/cw1_template/.vscode/tasks.json
index 4c0f50d09292390b964644434bf2a503a43d6e17..7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4 100644
--- a/cw1_template/.vscode/tasks.json
+++ b/cw1_template/.vscode/tasks.json
@@ -2,18 +2,11 @@
     // See https://go.microsoft.com/fwlink/?LinkId=733558
     // for the documentation about the tasks.json format
     "version": "2.0.0",
-    "options": {
-      "env": {
-        "nrf52SDKPath": "${workspaceFolder}/../../../",
-        "userName": "root",
-        "group": "02"
-      }
-    },
     "tasks": [
       {
         "label": "BLEtest",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
         "presentation":
         {
         "reveal": "always",
@@ -24,7 +17,7 @@
       {
         "label": "readUSB",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
         "presentation":
         {
         "reveal": "always",
@@ -35,7 +28,7 @@
       {
         "label": "flashNordic",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && sleep 3 && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -46,7 +39,7 @@
       {
         "label": "flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -111,7 +104,7 @@
         },
         "command": "make flash",
         "group": "build"
-      }
+      },
 
 
 
diff --git a/cw2_template/.vscode/settings.json b/cw2_template/.vscode/settings.json
index 51accc4d3f29a99175c4f9c5465a01d8dfbf7a30..8c07ffd4774c091e23683c2691af71cfcc30da30 100644
--- a/cw2_template/.vscode/settings.json
+++ b/cw2_template/.vscode/settings.json
@@ -5,4 +5,7 @@
     "C_Cpp.clang_format_style": "file",
     "C_Cpp.clang_format_fallbackStyle": "none",
     "editor.rulers": [90],
+    "nrf52SDKPath": "${workspaceFolder}/../../../",
+    "userName": "root",
+    "group": "08"
   }
\ No newline at end of file
diff --git a/cw2_template/.vscode/tasks.json b/cw2_template/.vscode/tasks.json
index 4c0f50d09292390b964644434bf2a503a43d6e17..7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4 100644
--- a/cw2_template/.vscode/tasks.json
+++ b/cw2_template/.vscode/tasks.json
@@ -2,18 +2,11 @@
     // See https://go.microsoft.com/fwlink/?LinkId=733558
     // for the documentation about the tasks.json format
     "version": "2.0.0",
-    "options": {
-      "env": {
-        "nrf52SDKPath": "${workspaceFolder}/../../../",
-        "userName": "root",
-        "group": "02"
-      }
-    },
     "tasks": [
       {
         "label": "BLEtest",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
         "presentation":
         {
         "reveal": "always",
@@ -24,7 +17,7 @@
       {
         "label": "readUSB",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
         "presentation":
         {
         "reveal": "always",
@@ -35,7 +28,7 @@
       {
         "label": "flashNordic",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && sleep 3 && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -46,7 +39,7 @@
       {
         "label": "flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -111,7 +104,7 @@
         },
         "command": "make flash",
         "group": "build"
-      }
+      },
 
 
 
diff --git a/cw3_template/.vscode/settings.json b/cw3_template/.vscode/settings.json
index 51accc4d3f29a99175c4f9c5465a01d8dfbf7a30..8c07ffd4774c091e23683c2691af71cfcc30da30 100644
--- a/cw3_template/.vscode/settings.json
+++ b/cw3_template/.vscode/settings.json
@@ -5,4 +5,7 @@
     "C_Cpp.clang_format_style": "file",
     "C_Cpp.clang_format_fallbackStyle": "none",
     "editor.rulers": [90],
+    "nrf52SDKPath": "${workspaceFolder}/../../../",
+    "userName": "root",
+    "group": "08"
   }
\ No newline at end of file
diff --git a/cw3_template/.vscode/tasks.json b/cw3_template/.vscode/tasks.json
index 4c0f50d09292390b964644434bf2a503a43d6e17..7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4 100644
--- a/cw3_template/.vscode/tasks.json
+++ b/cw3_template/.vscode/tasks.json
@@ -2,18 +2,11 @@
     // See https://go.microsoft.com/fwlink/?LinkId=733558
     // for the documentation about the tasks.json format
     "version": "2.0.0",
-    "options": {
-      "env": {
-        "nrf52SDKPath": "${workspaceFolder}/../../../",
-        "userName": "root",
-        "group": "02"
-      }
-    },
     "tasks": [
       {
         "label": "BLEtest",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
         "presentation":
         {
         "reveal": "always",
@@ -24,7 +17,7 @@
       {
         "label": "readUSB",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
         "presentation":
         {
         "reveal": "always",
@@ -35,7 +28,7 @@
       {
         "label": "flashNordic",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && sleep 3 && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -46,7 +39,7 @@
       {
         "label": "flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -111,7 +104,7 @@
         },
         "command": "make flash",
         "group": "build"
-      }
+      },
 
 
 
diff --git a/cw4_template/.vscode/settings.json b/cw4_template/.vscode/settings.json
index 079af63b6db991776b4b71309d0ece3a23280f7b..8c07ffd4774c091e23683c2691af71cfcc30da30 100644
--- a/cw4_template/.vscode/settings.json
+++ b/cw4_template/.vscode/settings.json
@@ -4,10 +4,8 @@
     },
     "C_Cpp.clang_format_style": "file",
     "C_Cpp.clang_format_fallbackStyle": "none",
-    "editor.rulers": [
-      90
-    ],
-    "files.associations": {
-      "cstdint": "cpp"
-    },
+    "editor.rulers": [90],
+    "nrf52SDKPath": "${workspaceFolder}/../../../",
+    "userName": "root",
+    "group": "08"
   }
\ No newline at end of file
diff --git a/cw4_template/.vscode/tasks.json b/cw4_template/.vscode/tasks.json
index 4c0f50d09292390b964644434bf2a503a43d6e17..7f1dafac921c4c39ecc902dbcf0b6e7f089dc4f4 100644
--- a/cw4_template/.vscode/tasks.json
+++ b/cw4_template/.vscode/tasks.json
@@ -2,18 +2,11 @@
     // See https://go.microsoft.com/fwlink/?LinkId=733558
     // for the documentation about the tasks.json format
     "version": "2.0.0",
-    "options": {
-      "env": {
-        "nrf52SDKPath": "${workspaceFolder}/../../../",
-        "userName": "root",
-        "group": "02"
-      }
-    },
     "tasks": [
       {
         "label": "BLEtest",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'hciconfig hci0 down && hciconfig hci0 up && python3.7 /root/pmk/test_bluepy.py'",
         "presentation":
         {
         "reveal": "always",
@@ -24,7 +17,7 @@
       {
         "label": "readUSB",
         "type": "shell",
-        "command": "ssh -p 120${group} ${userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
+        "command": "ssh -p 120${config:group} ${config:userName}@153.19.49.102 -t 'minicom -D /dev/ttyACM0'",
         "presentation":
         {
         "reveal": "always",
@@ -35,7 +28,7 @@
       {
         "label": "flashNordic",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && sleep 3 && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --debug-mode --application /var/tmp/*.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -46,7 +39,7 @@
       {
         "label": "flashNordicSD",
         "type": "shell",
-        "command": "scp -P 120${group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${userName}@153.19.49.102:/var/tmp && ssh -p 120${group} ${userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
+        "command": "scp -P 120${config:group} pca10059/s140/armgcc/_build/nrf52840_xxaa.hex ${config:nrf52SDKPath}/components/softdevice/s140/hex/s140_nrf52_7.0.1_softdevice.hex ${config:userName}@153.19.49.102:/var/tmp && ssh -p 120${config:group} ${config:userName}@153.19.49.102 'curl http://153.19.49.102:3001/resetNRF52v2/${config:group} && nrfutil pkg generate --hw-version 52 --sd-req 0x00 --sd-id 0xCA --softdevice /var/tmp/s140_nrf52_7.0.1_softdevice.hex  --debug-mode --application /var/tmp/nrf52840_xxaa.hex /var/tmp/dfu.zip && nrfutil dfu usb-serial -pkg /var/tmp/dfu.zip -p /dev/ttyACM0 -b 115200 && rm /var/tmp/*.hex'",
         "presentation": 
         {
           "reveal": "always",
@@ -111,7 +104,7 @@
         },
         "command": "make flash",
         "group": "build"
-      }
+      },