diff --git a/interfaces/GenericSensor/GenericSensor.proto b/interfaces/GenericSensor/GenericSensor.proto
new file mode 100644
index 0000000000000000000000000000000000000000..a47a7fd37672a1898c055659c153bcd0575a37f8
--- /dev/null
+++ b/interfaces/GenericSensor/GenericSensor.proto
@@ -0,0 +1,84 @@
+syntax = "proto3";
+
+message RFIDRawDataEvent {
+	string timestamp = 1; // https://en.wikipedia.org/wiki/ISO_8601
+	string tagId = 2;
+	string type = 3;
+	string scannerId = 4;
+	string location = 5;
+}
+
+message NFCRawDataEvent {
+	string timestamp = 1;
+	string tagId = 2;
+	string type = 3;
+	string scannerId = 4;
+	map<string, string> tagData = 5;
+}
+
+message BarcodeRawDataEvent {
+	string timestamp = 1;
+	string tagId = 2;
+	string type = 3;
+	string scannerId = 4;
+}
+
+message OtherProxRawDataEvent {
+	string timestamp = 1;
+	string tagId = 2;
+	string type = 3;
+	string scannerId = 4;
+	map<string, string> data = 5;
+}
+
+message BluetoothRawDataEvent {
+	string timestamp = 1;
+	string sensorId = 2;
+	map<string, string> distances = 3; // beacon-id -> distance
+	string type = 4;
+	map<string, string> rss = 5; // beacon-id -> rss
+	
+}
+
+message UWBRawDataEvent {
+	string timestamp = 1;
+	string sensorId = 2;
+	map<string, string> distances = 3; // beacon-id -> distance
+	string type = 4;
+}
+
+message OtherBeaconRawDataEvent {
+	string timestamp = 1;
+	string sensorId = 2;
+	map<string, string> distances = 3; // beacon-id -> distance
+	string type = 4;
+	map<string, string> data = 5;
+}
+
+message IMURawDataEvent {
+	string timestamp = 1;
+	string sensorId = 2;
+	float yaw = 3; // angular rate (rad/s), https://en.wikipedia.org/wiki/Aircraft_principal_axes#Transverse_axis_(pitch)
+	float pitch = 4;
+	float roll = 5;
+	float x = 6; // linear acceleration, m/(s^2)
+	float y = 7;
+	float z = 8;
+}
+
+message PositionEvent {
+	string timestamp = 1;
+	IposPosition position = 2;
+}
+
+message IposPosition {
+  string refSystemId = 1; // e.g., "WGS84" if absolute position; Ipos-FW should communicate ids of local reference systems to the position sensor during intialization
+  IposPoint3D point = 2;
+  float accuracy = 3; // object is with 95% probability within x metres of this point (gaussian distribution)
+}
+
+message IposPoint3D {
+  float x = 1; // pos in x direction in m
+  float y = 2; // pos in y direction in m
+  float z = 3; // pos in z direction in m (up)
+}
diff --git a/interfaces/GenericSensor/README.md b/interfaces/GenericSensor/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..cdf1a6ca37c117e4a6eab56c67c6fede3fab4847
--- /dev/null
+++ b/interfaces/GenericSensor/README.md
@@ -0,0 +1,4 @@
+# GenericSensor Protobuf Definition
+
+This protobuf data model describes the exchange data format between different types of sensors and the IPos framework
+