diff --git a/src/darwin_dyn_slave.c b/src/darwin_dyn_slave.c
index 0750b0937bde2814e02ea3ab473d4a110e481fca..dd7f12fac2b7730652638b6bf9e393ab0b2f1155 100755
--- a/src/darwin_dyn_slave.c
+++ b/src/darwin_dyn_slave.c
@@ -12,6 +12,7 @@
 #include "joint_motion.h"
 #include "head_tracking.h"
 #include "grippers.h"
+#include "smart_charger.h"
 
 /* timer for the execution of the dynamixel slave loop */
 #define     DYN_SLAVE_TIMER                   TIM7
@@ -92,6 +93,9 @@ unsigned char darwin_on_write(unsigned short int address,unsigned short int leng
   // gripper commands
   if(grippers_in_range(address,length))
     grippers_process_write_cmd(address,length,data);
+  // smart charger commands
+  if(smart_charger_in_range(address,length))
+    smart_charger_process_write_cmd(address,length,data);
   // write eeprom
   for(i=address,j=0;i<LAST_EEPROM_OFFSET && i<(address+length);i++,j++)
     EE_WriteVariable(i,data[j]);