diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d5330cdea70cfca597df20366cdd3e443e9f553f
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,23 @@
+cmake_minimum_required(VERSION 3.13)
+
+include(pico_sdk_import.cmake)
+
+project(custom_protocol C CXX ASM)
+
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
+
+pico_sdk_init()
+
+add_executable(custom_protocol
+  main.c
+  protocol.c 
+  usb_serial.c
+)
+
+pico_enable_stdio_usb(custom_protocol 1)
+pico_enable_stdio_uart(custom_protocol 0)
+
+pico_add_extra_outputs(custom_protocol)
+
+target_link_libraries(custom_protocol pico_stdlib)