diff --git a/source/RobotAPI/libraries/armem/CMakeLists.txt b/source/RobotAPI/libraries/armem/CMakeLists.txt
index 84bb291a72f5d9b86ed932b1e1422b5a89252ceb..0d1c51febc1fadc67eb793363e9a0fc172975716 100644
--- a/source/RobotAPI/libraries/armem/CMakeLists.txt
+++ b/source/RobotAPI/libraries/armem/CMakeLists.txt
@@ -20,6 +20,7 @@ set(LIB_FILES
     core/SuccessHeader.cpp
     core/Time.cpp
     core/ice_conversions.cpp
+    core/aron_conversions.cpp
 
     core/CoreSegment.cpp
     core/Entity.cpp
@@ -77,6 +78,7 @@ set(LIB_HEADERS
     core/MemoryID.h
     core/SuccessHeader.h
     core/Time.h
+    core/aron_conversions.h
     core/ice_conversions.h
     core/ice_conversions_templates.h
 
diff --git a/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml b/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml
index 11d0fee395edca2c597dc1ea9de53dfbd7f9eae9..2cfc7d52c05fb53aec1f8b51a711b80c34478a31 100644
--- a/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml
+++ b/source/RobotAPI/libraries/armem/core/aron/MemoryID.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <AronTypeDefinition>
     <GenerateTypes>
-        <Object name='armarx::armem::aron::MemoryID'>
+        <Object name='armarx::armem::arondto::MemoryID'>
             <ObjectChild key='memoryName'>
                 <string />
             </ObjectChild>
@@ -15,7 +15,7 @@
                 <string />
             </ObjectChild>
             <ObjectChild key='timestamp'>
-                <long />
+                <Time />
             </ObjectChild>
             <ObjectChild key='instanceIndex'>
                 <int />
diff --git a/source/RobotAPI/libraries/armem/core/aron_conversions.cpp b/source/RobotAPI/libraries/armem/core/aron_conversions.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f5e6d3e0d10cb7b3f1ed51bcc8f665cb48ec3cbf
--- /dev/null
+++ b/source/RobotAPI/libraries/armem/core/aron_conversions.cpp
@@ -0,0 +1,22 @@
+#include "aron_conversions.h"
+
+
+void armarx::armem::fromAron(const arondto::MemoryID& dto, MemoryID& bo)
+{
+    bo.memoryName = dto.memoryName;
+    bo.coreSegmentName = dto.coreSegmentName;
+    bo.providerSegmentName = dto.providerSegmentName;
+    bo.entityName = dto.entityName;
+    bo.timestamp = IceUtil::Time::microSeconds(dto.timestamp);
+    bo.instanceIndex = dto.instanceIndex;
+}
+
+void armarx::armem::toAron(arondto::MemoryID& dto, const MemoryID& bo)
+{
+    dto.memoryName = bo.memoryName;
+    dto.coreSegmentName = bo.coreSegmentName;
+    dto.providerSegmentName = bo.providerSegmentName;
+    dto.entityName = bo.entityName;
+    dto.timestamp = bo.timestamp.toMicroSeconds();
+    dto.instanceIndex = bo.instanceIndex;
+}
diff --git a/source/RobotAPI/libraries/armem/core/aron_conversions.h b/source/RobotAPI/libraries/armem/core/aron_conversions.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d105fd9761f3ff1d8eaa58fabf4aa257719478b
--- /dev/null
+++ b/source/RobotAPI/libraries/armem/core/aron_conversions.h
@@ -0,0 +1,11 @@
+#pragma once
+
+#include <RobotAPI/libraries/armem/core/MemoryID.h>
+#include <RobotAPI/libraries/armem/aron/MemoryID.aron.generated.h>
+
+
+namespace armarx::armem
+{
+    void fromAron(const arondto::MemoryID& dto, MemoryID& bo);
+    void toAron(arondto::MemoryID& dto, const MemoryID& bo);
+}