diff --git a/client/client/test/TestESPNow.cpp b/client/client/test/TestESPNow.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..3a4c149bb8742e61c0a235691e7e0b8d9a3eda76
--- /dev/null
+++ b/client/client/test/TestESPNow.cpp
@@ -0,0 +1,12 @@
+#include "TestESPNow.hpp"
+
+void test_on_data_recv_valid_config()
+{
+	uint8_t mac_addr[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+	int len = 0;
+	config conf = {host : {0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA}, time_millis : 0};
+
+	// preferences / hostinfo would need to be global for this to work
+
+	TEST_FAIL();
+}
diff --git a/client/client/test/TestESPNow.hpp b/client/client/test/TestESPNow.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..a2512b2ffd4ca48031415456d658302d4bae6b91
--- /dev/null
+++ b/client/client/test/TestESPNow.hpp
@@ -0,0 +1,6 @@
+#pragma once
+#include <Arduino.h>
+#include <ESPNow.hpp>
+#include <unity.h>
+
+void test_on_data_recv_valid_config();
\ No newline at end of file
diff --git a/client/client/test/TestMessage.cpp b/client/client/test/TestMessage.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..56b7ccc83ab80707afba68c9c33fbe1f6ad6f0b1
--- /dev/null
+++ b/client/client/test/TestMessage.cpp
@@ -0,0 +1,24 @@
+#include "TestMessage.hpp"
+
+void test_on_data_recv()
+{
+	Message message = Message{};
+
+	TEST_ASSERT_EQUAL(0, message.getData().amountData);
+}
+
+void test_new_message_filled()
+{
+	Message message = Message{};
+
+	message.add_data(1.1, 0);
+	message.add_data(1.2, 1);
+	message.add_data(1.3, 2);
+
+	float expectedValuesArray[] = {1.1, 1.2, 1.3};
+	int expectedIdentifiersArray[] = {0, 1, 2};
+
+	TEST_ASSERT_EQUAL(3, message.getData().amountData);
+	TEST_ASSERT_EQUAL_FLOAT_ARRAY(expectedValuesArray, message.getData().values, 3);
+	TEST_ASSERT_EQUAL_INT_ARRAY(expectedIdentifiersArray, message.getData().identifiers, 3);
+}
\ No newline at end of file
diff --git a/client/client/test/TestMessage.hpp b/client/client/test/TestMessage.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..80d5be09d9d13954d96d1b6ef0b366783b414398
--- /dev/null
+++ b/client/client/test/TestMessage.hpp
@@ -0,0 +1,8 @@
+#pragma once
+#include <Arduino.h>
+#include <ESPNow.hpp>
+#include <unity.h>
+
+void test_on_data_recv();
+
+void test_new_message_filled();
\ No newline at end of file
diff --git a/client/client/test/main.cpp b/client/client/test/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..82d68817015b01f036c346b18fa79601a5e842aa
--- /dev/null
+++ b/client/client/test/main.cpp
@@ -0,0 +1,17 @@
+#include "TestESPNow.hpp"
+#include "TestMessage.hpp"
+#include <Arduino.h>
+#include <unity.h>
+
+void setup()
+{
+	delay(2000); // service delay
+
+	UNITY_BEGIN();
+	RUN_TEST(test_on_data_recv_valid_config);
+	RUN_TEST(test_on_data_recv);
+	RUN_TEST(test_new_message_filled);
+	UNITY_END();
+}
+
+void loop() {}
\ No newline at end of file