diff --git a/client/client/lib/caching/src/ram_caching.cpp b/client/client/lib/caching/src/ram_caching.cpp
index 9325e7c7909473c998d2a113779d94480fa3589c..bb3b71a76c3097153438bb32c823e4df4bd753ed 100644
--- a/client/client/lib/caching/src/ram_caching.cpp
+++ b/client/client/lib/caching/src/ram_caching.cpp
@@ -1,5 +1,8 @@
 #include "ram_caching.hpp"
 
+static const char* TAG = "CACHING";
+#include "esp_log.h"
+
 RTC_DATA_ATTR int cachedAmount = -1;
 RTC_DATA_ATTR ClientDataPackage backup[NUM_SENSORS];
 
@@ -11,6 +14,7 @@ ClientDataPackage ram_cache_pop()
 void ram_cache_push(ClientDataPackage data)
 {
 	backup[++cachedAmount] = data;
+	ESP_LOGI(TAG, "ClientDataPackage saved");
 }
 
 bool ram_cache_is_empty()
diff --git a/client/client/lib/dr26_analogue/src/dr26.cpp b/client/client/lib/dr26_analogue/src/dr26.cpp
index 1ed6d198cab4b9674d67a24836a650266afaeadd..755dd5a26c687ae92833b91972905ee4ec419c2a 100644
--- a/client/client/lib/dr26_analogue/src/dr26.cpp
+++ b/client/client/lib/dr26_analogue/src/dr26.cpp
@@ -1,12 +1,20 @@
 #include "dr26.hpp"
 
+static const char* TAG = "DR26";
+#include "esp_log.h"
+
 Adafruit_ADS1115 ads;
 
 void Forte_DR26 ::setup()
 {
 	Wire.begin(I2C_SDA, I2C_SCL);
 	// ads.setGain(0);
-	ads.begin() ? Serial.println("ADS initialized") : Serial.println("failed to initialize ADS");
+	if(ads.begin()){
+		ESP_LOGI(TAG, "ADS initialized.");
+	}
+	else{
+		ESP_LOGW(TAG, "ADS initialization failed.");
+	}
 	delay(100);
 }
 
diff --git a/client/client/lib/drs26_digital/drs26.cpp b/client/client/lib/drs26_digital/drs26.cpp
index 45f038d6174fcee1be854ee302bff61ed08c7b14..e6dbd6b7a452f3c1b1b4844f54adac35c547942d 100644
--- a/client/client/lib/drs26_digital/drs26.cpp
+++ b/client/client/lib/drs26_digital/drs26.cpp
@@ -1,4 +1,7 @@
 #include <drs26.hpp>
+
+static const char* TAG = "DRS26";
+#include "esp_log.h"
 /*
 It happens for some reason that the sensor cant get reached every 2 time
 Because the sensor use sdi12 protocoll we have to wait aproxemettly 1 secound between the commands
diff --git a/client/client/lib/espnow/src/ESPNow.cpp b/client/client/lib/espnow/src/ESPNow.cpp
index e52930604dace5db905876e9ffcdc12642e943bf..8f27c80e74e96974764cac0fb07153adf8e846f6 100644
--- a/client/client/lib/espnow/src/ESPNow.cpp
+++ b/client/client/lib/espnow/src/ESPNow.cpp
@@ -1,5 +1,8 @@
 #include "ESPNow.hpp"
 
+static const char* TAG = "ESPNOW";
+#include "esp_log.h"
+
 uint8_t BROADCAST_MAC[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
 esp_now_peer_info_t hostInfo;
 Preferences preferences;
@@ -11,7 +14,7 @@ void get_host_mac(uint8_t *destination)
 		preferences.getBytes("host", destination, sizeof(uint8_t) * 6);
 	} else {
 		memcpy(destination, BROADCAST_MAC, sizeof(BROADCAST_MAC));
-		Serial.println("backup mac used");
+		ESP_LOGW(TAG, "Backup MAC address used");
 	}
 	preferences.end();
 }
@@ -22,7 +25,7 @@ void on_data_sent(const uint8_t *mac_addr, esp_now_send_status_t status)
 
 void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 {
-	Serial.println("message recieved");
+	ESP_LOGI(TAG, "Message recieved");
 	config new_config;
 	memcpy(&new_config, incomingData, sizeof(new_config)); // TODO: check for valid mac
 
@@ -30,7 +33,7 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 	preferences.begin("config", false);
 	if (!preferences.isKey("host")) {
 		preferences.putBytes("host", new_config.host, sizeof(new_config.host));
-		Serial.println("host mac saved to flash");
+		ESP_LOGI(TAG, "host MAC address saved to flash");
 	} // host change shouldn't be an issue
 	preferences.end();
 	// sync time
diff --git a/client/client/lib/espnow/src/Message.cpp b/client/client/lib/espnow/src/Message.cpp
index 382f2a7561991aa71ce882a1c916de8f661ca29e..5d58b428edfb40f2420fe689dd6bab1d1dbd9ed7 100644
--- a/client/client/lib/espnow/src/Message.cpp
+++ b/client/client/lib/espnow/src/Message.cpp
@@ -1,5 +1,8 @@
 #include "Message.hpp"
 
+static const char* TAG = "MESSAGE";
+#include "esp_log.h"
+
 void Message::add_data(float value, int identifier)
 {
 	if (data.amountData < NUM_SENSORS) {
@@ -11,7 +14,7 @@ void Message::add_data(float value, int identifier)
 
 esp_err_t Message::send()
 {
-	Serial.println("sending Message");
+	ESP_LOGI(TAG, "Sending message");
 	esp_err_t success;
 	success = esp_now_send(recipient, (uint8_t *)&data, sizeof(data));
 	// if(success != ESP_OK){
@@ -22,11 +25,10 @@ esp_err_t Message::send()
 	for (int i = 0; i < data.amountData; i++) {
 		Serial.println(data.values[i]);
 	}
-	Serial.println((String) "time sent: " + data.timestamp);
-	Serial.println((String) "Send status: " + success);
-	Serial.println();
-	Serial.flush();
-	Serial.println("done");
+
+	ESP_LOGD(TAG, "time sent: " + data.timestamp);
+	ESP_LOGD(TAG, "send status: " + success);
+	
 	return success;
 }
 
diff --git a/client/client/lib/ina219/ina219.cpp b/client/client/lib/ina219/ina219.cpp
index 0f710d22de466f065fb5531f50f34cd54bf1b37f..c0427eb167e1292585e65b53d844ff9ff9741b3d 100644
--- a/client/client/lib/ina219/ina219.cpp
+++ b/client/client/lib/ina219/ina219.cpp
@@ -1,10 +1,14 @@
 #include "ina219.hpp"
 
+static const char* TAG = "INA219";
+#include "esp_log.h"
+
 void Forte_INA219 ::setup()
 {
 	Wire.begin(I2C_SDA, I2C_SCL);
 	if (!ina219.init()) {
 		// Sensor init went wrong
+		ESP_LOGW(TAG, "Initialization failed");
 		return;
 	}
 }
diff --git a/client/client/lib/scd30/scd30.cpp b/client/client/lib/scd30/scd30.cpp
index 222089c897d08933cbc3ed8afb3c1418f84a6e88..b93a2b15cb406551882bb027c9b5d736be983fa7 100644
--- a/client/client/lib/scd30/scd30.cpp
+++ b/client/client/lib/scd30/scd30.cpp
@@ -1,10 +1,14 @@
 #include "scd30.hpp"
 
+static const char* TAG = "SCD30";
+#include "esp_log.h"
+
 void Forte_SCD30 ::setup()
 {
 	Wire.begin(I2C_SDA, I2C_SCL);
 	if (!airSensor.begin()) {
 		// Sensor init went wrong
+		ESP_LOGW(TAG, "Initialization failed.");
 		return;
 	}
 }
diff --git a/client/client/src/main.cpp b/client/client/src/main.cpp
index 9106c962fa31c1d4f06f7b9f5cef75e9d6b90603..65e8729f7b410f9703b6d7ecbc2c73ea043f7ab4 100644
--- a/client/client/src/main.cpp
+++ b/client/client/src/main.cpp
@@ -4,12 +4,16 @@
 #include <ina219.hpp>
 #include <scd30.hpp>
 
+static const char* TAG = "MAIN";
+#include "esp_log.h"
+
 Forte_DRS26 drs26;
 
 void setup()
 {
 	Serial.begin(9600);
 	drs26.setup();
+	ESP_LOGI(TAG, "Setup complete.");
 }
 
 void loop()
@@ -24,14 +28,10 @@ void loop()
 	} catch (const NoDataAvailableException &e) {
 		std::cerr << e.what() << '\n';
 	}
-
-	Serial.print("Sensor Circumference: ");
-	Serial.println(data.circumference);
-	Serial.print("Temperature ");
-	Serial.println(data.temperatur);
-	Serial.print("Id ");
-	Serial.println(data.id);
-	Serial.println();
+	
+	ESP_LOGI(TAG, "Sensor Circumference: " + data.circumference);
+	ESP_LOGI(TAG, "Temperature: " + data.temperatur);
+	ESP_LOGI(TAG, "Id: " + data.id);
 
 	delay(5000);
 }