     case A_PINGSEARCH:
       switch (motion_state) {
         case M_STOP:
-        Serial.println("SEARCH LEFT");
-          // Start pinging
-          ping_start();
-  
-          action_timeoutStart(1000);
-          // Rotate left for 1 second
-          motion_rotateLeft();          
+           // reverse for 1 second
+           action_timeoutStart(1000);
+           motion_rev(); 
+           Serial.println("SEARCH REVERSE");    
+          break;
+          
+        case M_REV:
+          if (action_done) {
+            Serial.println("SEARCH LEFT");
+            // Start pinging
+            ping_start();
+          
+            action_timeoutStart(500); //@todo not fake the search!
+            motion_rotateLeft(); 
+          }
           break;
           
         case M_ROTATE_LEFT:
           if (action_done) {
             Serial.println("SEARCH RIGHT");
             action_timeoutStart(2000); //@todo not fake the search!
-            // Rotate left
             motion_rotateRight(); 
           }
           break;

{
  
    Serial.println("LEFT");
//@todo: set speed
    digitalWrite(motorA_direction, HIGH); // Channel A forward
    digitalWrite(motorB_direction, LOW); // Channel B backward
    analogWrite(motorA_pwm, 200);
    analogWrite(motorB_pwm, 200);   
    motion_state = M_ROTATE_LEFT; 
  
}

{
  
    Serial.println("RIGHT");
    digitalWrite(motorA_direction, LOW); // Channel A backward
    digitalWrite(motorB_direction, HIGH); // Channel B forward
    analogWrite(motorA_pwm, MOTOR_SPEED_MIN_A);
    analogWrite(motorB_pwm, MOTOR_SPEED_MIN_B);   
    motion_state = M_ROTATE_RIGHT; 
  
}
