   // the way to the target this time.
   double x = target - current;
   int sign = (x>0) - (x<0);
-  return(current + sign * (min(abs(target - current), smoothingIncriment)));
+  int adjustedVal = current + sign * (min(abs(target - current), smoothingIncriment));
+  // skip the deadzone
+  if (sign<0) {
+    return (min(adjustedVal,deadZone_min));
+  } else if(sign>0){ 
+    return (max(adjustedVal,deadZone_max));
+  } else
+    return (adjustedVal);
 }
 
 void loop(){

      Serial.print("*settings:");
      Serial.print("smoothingIncriment|");
      Serial.print(String(smoothingIncriment) + ";");
    }
    else {
      motors.stop(); 

int v = MIDPOINT;
int s = MIDPOINT;
int smoothingIncriment = 5; //How aggressive the throttle changes
int deadZone_min = MIDPOINT;
int deadZone_max = MIDPOINT;
void setup(){

  Serial.begin(115200);
