diff --git a/dynamixel_base/include/dynamixel_slave_device.h b/dynamixel_base/include/dynamixel_slave_device.h
index b7b9c40bc9d310ab8bda6f3c528e1f03c50b4b67..ef592d979b4a95625298e946200e0438d74bc509 100644
--- a/dynamixel_base/include/dynamixel_slave_device.h
+++ b/dynamixel_base/include/dynamixel_slave_device.h
@@ -154,6 +154,10 @@ unsigned char dyn_v1_slave_loop(TDynamixelSlaveDevice *device,unsigned char *rx_
  *
  */
 unsigned char dyn_v2_slave_loop(TDynamixelSlaveDevice *device,unsigned char *rx_buffer,unsigned char *error,unsigned short int *length, unsigned char *data);
-
+/**
+ * \brief
+ *
+ */
+inline TMemory *dyn_slave_device_get_memory(TDynamixelSlaveDevice *device);
 
 #endif
diff --git a/dynamixel_base/src/dynamixel_slave_device.c b/dynamixel_base/src/dynamixel_slave_device.c
index 19d833975dc93b2c8e15411e163c8c403f892012..dba26c234c45f3732f4ec0e362e5c94d725f55c3 100644
--- a/dynamixel_base/src/dynamixel_slave_device.c
+++ b/dynamixel_base/src/dynamixel_slave_device.c
@@ -448,3 +448,8 @@ return_level_t dyn_slave_device_get_return_level(TDynamixelSlaveDevice *device)
   else
     return return_all;
 }
+
+TMemory *dyn_slave_device_get_memory(TDynamixelSlaveDevice *device)
+{
+  return &device->memory;
+}