 		pub_status.publish(&status_msg);
 		status_msg_clean();
 
-		//check arm power timeout
-		if (arm_enabled_time != 0 && (arm_enabled_time + ARM_TIME_MAX_ENABLED) < millis()) {
+		//check arm power timeout to prevent overheat
+		if ( (getArmPower() == true) && ((arm_enabled_time + ARM_TIME_MAX_ENABLED) < millis()) ) {
 			setArmPower(false);
 		}
 		

		status_msg.ultrasound_Back = ultrasoundBack;

		//arm
		status_msg.arm_yaw = servoSenseMedian_yaw.getMedian();
		status_msg.arm_shoulder = servoSenseMedian_shoulder.getMedian();
		status_msg.arm_elbow = servoSenseMedian_elbow.getMedian();

}

bool getArmPower() {
	return (arm_enabled_time != 0) ? true : false;
}
void setArmPower(bool state) {
	if (state) {
