diff --git a/ADIS_ESP32_Eclipse/.project b/ADIS_ESP32_Eclipse/.project
index ddcc38f..38c557d 100644
--- a/ADIS_ESP32_Eclipse/.project
+++ b/ADIS_ESP32_Eclipse/.project
@@ -24,4 +24,11 @@
org.eclipse.cdt.managedbuilder.core.managedBuildNature
org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
+ McuLib
+ 2
+ PARENT-1-PROJECT_LOC/McuLib
+
+
diff --git a/ADIS_ESP32_Eclipse/CMakeLists.txt b/ADIS_ESP32_Eclipse/CMakeLists.txt
index bcc12fe..d00cd3d 100644
--- a/ADIS_ESP32_Eclipse/CMakeLists.txt
+++ b/ADIS_ESP32_Eclipse/CMakeLists.txt
@@ -2,5 +2,11 @@
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
+# add my own component direcotry to the list
+list(APPEND EXTRA_COMPONENT_DIRS "./McuLib")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
+
+# additional include for IncludeMcuLibConfig
+add_compile_options(-I ./config)
+add_compile_options(-include "./config/IncludeMcuLibConfig.h")
project(esp32-adis)
diff --git a/ADIS_ESP32_Eclipse/config/IncludeMcuLibConfig.h b/ADIS_ESP32_Eclipse/config/IncludeMcuLibConfig.h
new file mode 100644
index 0000000..d70f29a
--- /dev/null
+++ b/ADIS_ESP32_Eclipse/config/IncludeMcuLibConfig.h
@@ -0,0 +1,42 @@
+/*
+ * ESP32 IncludeMcuLibConfig
+ *
+ * Author: Erich Styger
+ * License: PDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef MCULIB_CONFIG_CONFIG_H_
+#define MCULIB_CONFIG_CONFIG_H_
+
+/* -------------- Core and McuLib general settings -------------------------- */
+#define McuLib_CONFIG_CPU_IS_ARM_CORTEX_M (0) /* ESP32 is detected automatically */
+
+/* -------------- FreeRTOS and McuRTOS settings -------------------------- */
+#define configHEAP_SCHEME_IDENTIFICATION (0) /* ESP-IDF RTOS used */
+
+/* -------------- McuShell settings -------------------------- */
+#define McuShell_CONFIG_PROJECT_NAME_STRING "ESP32 Shell"
+#define McuShell_CONFIG_ECHO_ENABLED (1)
+#define McuShell_CONFIG_PROMPT_STRING "ESP32> "
+#define McuShell_CONFIG_MULTI_CMD_ENABLED (1)
+#define McuShell_CONFIG_MULTI_CMD_SIZE (96)
+
+/* -------------- McuCriticalSections settings -------------------------- */
+#define McuCriticalSection_CONFIG_USE_RTOS_CRITICAL_SECTION (1)
+
+/* -------------- McuTimeDate settings -------------------------- */
+#define McuTimeDate_CONFIG_TICK_TIME_MS (10)
+/* -------------------------------------------------*/
+/* McuLog */
+#define McuLog_CONFIG_IS_ENABLED (1)
+#define McuLog_CONFIG_DEFAULT_LEVEL (McuLog_DEBUG)
+#define McuLog_CONFIG_USE_COLOR (1)
+#define McuLog_CONFIG_NOF_CONSOLE_LOGGER (1)
+#define McuLog_CONFIG_LOG_TIMESTAMP_DATE (1)
+#define McuLog_CONFIG_USE_RTT_DATA_LOGGER (0)
+#define McuLog_CONFIG_RTT_DATA_LOGGER_BUFFER_SIZE (128)
+/* -------------------------------------------------*/
+/* McuUART485 */
+#define McuUart485_CONFIG_USE_RS_485 (1)
+
+#endif /* MCULIB_CONFIG_CONFIG_H_ */
diff --git a/McuLib/CMakeLists.txt b/McuLib/CMakeLists.txt
new file mode 100644
index 0000000..6e751c2
--- /dev/null
+++ b/McuLib/CMakeLists.txt
@@ -0,0 +1,23 @@
+idf_component_register(
+ SRCS
+ "src/McuLib.c"
+ "src/McuWait.c"
+ "src/McuArmTools.c"
+ "src/McuRTOS.c"
+ "src/McuUtility.c"
+ "src/McuShell.c"
+ "src/McuXFormat.c"
+ "src/McuCriticalSection.c"
+ "src/McuLog.c"
+ "src/McuGPIO.c"
+ "src/McuLED.c"
+ "src/McuTimeDate.c"
+ "src/McuButton.c"
+ "src/McuTrigger.c"
+ "src/McuTimeout.c"
+ "src/McuRB.c"
+ "src/McuUart485.c"
+ INCLUDE_DIRS
+ "./config"
+ "./src"
+ )
\ No newline at end of file