diff --git a/esp32c3_rev3_rom.elf b/esp32c3_rev3_rom.elf
new file mode 100755
index 0000000000000000000000000000000000000000..73da118674d4d2c84fb2c1940269a9d9e48dafec
Binary files /dev/null and b/esp32c3_rev3_rom.elf differ
diff --git a/Makefile b/nothing/Makefile
similarity index 100%
rename from Makefile
rename to nothing/Makefile
diff --git a/src/nothing.c b/nothing/nothing.c
similarity index 100%
rename from src/nothing.c
rename to nothing/nothing.c
diff --git a/src/reading-writing-registers/Makefile b/reading-writing-registers/Makefile
similarity index 100%
rename from src/reading-writing-registers/Makefile
rename to reading-writing-registers/Makefile
diff --git a/src/reading-writing-registers/esp32-c3-register-interface.c b/reading-writing-registers/esp32-c3-register-interface.c
similarity index 100%
rename from src/reading-writing-registers/esp32-c3-register-interface.c
rename to reading-writing-registers/esp32-c3-register-interface.c
diff --git a/src/reading-writing-registers/esp32-c3-register-interface.h b/reading-writing-registers/esp32-c3-register-interface.h
similarity index 100%
rename from src/reading-writing-registers/esp32-c3-register-interface.h
rename to reading-writing-registers/esp32-c3-register-interface.h
diff --git a/src/reading-writing-registers/main.c b/reading-writing-registers/main.c
similarity index 100%
rename from src/reading-writing-registers/main.c
rename to reading-writing-registers/main.c
diff --git a/simple-uart-transmit/.gdbinit b/simple-uart-transmit/.gdbinit
new file mode 100644
index 0000000000000000000000000000000000000000..781c85190a6b661f6e1876bba0158d18340dfd24
--- /dev/null
+++ b/simple-uart-transmit/.gdbinit
@@ -0,0 +1,6 @@
+target extended-remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+add-symbol-file ../esp32c3_rev3_rom.elf
+file ./firmware.elf
\ No newline at end of file
diff --git a/simple-uart-transmit/.vscode/launch.json b/simple-uart-transmit/.vscode/launch.json
new file mode 100644
index 0000000000000000000000000000000000000000..62a99f442017995786277def1231b958b9763d11
--- /dev/null
+++ b/simple-uart-transmit/.vscode/launch.json
@@ -0,0 +1,25 @@
+{
+    // Use IntelliSense to learn about possible attributes.
+    // Hover to view descriptions of existing attributes.
+    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Debug on real board",
+            "type": "gdb",
+            "request": "attach",
+            "cwd": "${workspaceRoot}",
+            "valuesFormatting": "parseText",
+            "target": "extended-remote 127.0.0.1:3333",
+            "executable": "./firmware.elf",
+            "autorun": [
+                "add-symbol-file ./firmware.elf",
+                "add-symbol-file ../esp32c3_rev3_rom.elf",
+                "set remote hardware-watchpoint-limit 2",
+                "mon reset halt",
+                "maintenance flush register-cache",
+            ],
+            "gdbpath": "riscv32-unknown-elf-gdb"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/simple-uart-transmit/Makefile b/simple-uart-transmit/Makefile
similarity index 58%
rename from src/simple-uart-transmit/Makefile
rename to simple-uart-transmit/Makefile
index 2171daab9479e891907d020236c520302c880ecb..d9da72ed97e94c6e367e5dba0adb870ea87d92a7 100644
--- a/src/simple-uart-transmit/Makefile
+++ b/simple-uart-transmit/Makefile
@@ -1,3 +1,6 @@
+TOOLCHAIN=riscv32-unknown-elf
+EXTRA_CFLAGS ?= -Og -g
+
 SOURCES = main.c esp32-c3-uart-interface.c
 
 include $(MDK)/$(ARCH)/build.mk
diff --git a/simple-uart-transmit/debug-hw.sh b/simple-uart-transmit/debug-hw.sh
new file mode 100755
index 0000000000000000000000000000000000000000..894d70a226c7ea67c714aaaf7d38d9bdec4b496e
--- /dev/null
+++ b/simple-uart-transmit/debug-hw.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+set -eo pipefail
+
+# In case previous instance still lingers
+killall openocd || true
+
+make build
+
+# Use espressif's openocd for now
+source ../../esp-idf/export.sh
+openocd -f board/esp32c3-builtin.cfg -c "program_esp firmware.bin 0x10000 verify"
+OPENOCD_PID=$!
+_term() {
+  echo "Caught signal!" 
+  kill -TERM "$OPENOCD_PID"
+  killall openocd
+}
+trap _term SIGTERM
+trap _term SIGINT
+
+#dir=$(pwd)
+#echo "LAUNCHING GDB!"
+#riscv32-unknown-elf-gdb -x .gdbinit ./firmware.elf
\ No newline at end of file
diff --git a/src/simple-uart-transmit/esp32-c3-uart-interface.c b/simple-uart-transmit/esp32-c3-uart-interface.c
similarity index 100%
rename from src/simple-uart-transmit/esp32-c3-uart-interface.c
rename to simple-uart-transmit/esp32-c3-uart-interface.c
diff --git a/src/simple-uart-transmit/esp32-c3-uart-interface.h b/simple-uart-transmit/esp32-c3-uart-interface.h
similarity index 100%
rename from src/simple-uart-transmit/esp32-c3-uart-interface.h
rename to simple-uart-transmit/esp32-c3-uart-interface.h
diff --git a/src/simple-uart-transmit/main.c b/simple-uart-transmit/main.c
similarity index 79%
rename from src/simple-uart-transmit/main.c
rename to simple-uart-transmit/main.c
index 1cdad6fa8d828be962ea8a4dd5ffc330e75dfb32..730e3cb9343c9147efd21acbdde4de4db7499c76 100644
--- a/src/simple-uart-transmit/main.c
+++ b/simple-uart-transmit/main.c
@@ -6,9 +6,13 @@
 int main(void) {
   wdt_disable();
 
+ while(1){
+  delay_ms(1000);
   init_uart();
   config_uart();
   enable_uart_transmitter();
+  delay_ms(1000);
+ }
 
   return 0;
 }
\ No newline at end of file
diff --git a/src/uart-transmit/Makefile b/uart-transmit/Makefile
similarity index 100%
rename from src/uart-transmit/Makefile
rename to uart-transmit/Makefile
diff --git a/src/uart-transmit/esp32-c3-led-helpers.c b/uart-transmit/esp32-c3-led-helpers.c
similarity index 100%
rename from src/uart-transmit/esp32-c3-led-helpers.c
rename to uart-transmit/esp32-c3-led-helpers.c
diff --git a/src/uart-transmit/esp32-c3-led-helpers.h b/uart-transmit/esp32-c3-led-helpers.h
similarity index 100%
rename from src/uart-transmit/esp32-c3-led-helpers.h
rename to uart-transmit/esp32-c3-led-helpers.h
diff --git a/src/uart-transmit/esp32-c3-uart-interface.c b/uart-transmit/esp32-c3-uart-interface.c
similarity index 100%
rename from src/uart-transmit/esp32-c3-uart-interface.c
rename to uart-transmit/esp32-c3-uart-interface.c
diff --git a/src/uart-transmit/esp32-c3-uart-interface.h b/uart-transmit/esp32-c3-uart-interface.h
similarity index 100%
rename from src/uart-transmit/esp32-c3-uart-interface.h
rename to uart-transmit/esp32-c3-uart-interface.h
diff --git a/src/uart-transmit/main.c b/uart-transmit/main.c
similarity index 100%
rename from src/uart-transmit/main.c
rename to uart-transmit/main.c