      TargetMotor = MotorOff;
      TargetBrake = BrakeOff + (throttle + 84) / 3;
   }
-  else if (throttle < 84)
+  else if (throttle < 45)
   {  // deadband
      TargetMotor = MotorOff;
      TargetBrake = BrakeOff;
   }
+  else if (throttle < 111)
+  {  // deadband
+     TargetMotor = throttle-45;
+     TargetBrake = BrakeOff;
+  }
   else 
   {
     TargetBrake = BrakeOff;
-    TargetMotor = MotorMin + (throttle - 84) / 2;
+    TargetMotor = MotorMin + (throttle - 111) / 3;
   }
   ChangeBrake = TargetBrake - Servos[BRAKE].OutputValue;
-  ChangeMotor = TargetMotor - Servos[MOTOR].OutputValue;
-  if (Servos[BRAKE].mAmp > 4700)
+  /* if (Servos[BRAKE].mAmp > 4700)
   { // ease back to keep from blowing fuse
       ChangeBrake = (ChangeBrake > 0)? -2: 2;
   }

const int BRAKE = 2;
/* Steering servo can handle 44 counts per second;
   Brake servo is good for 88 counts per second.
   BigChange is based on being updated every 500 mSec.
*/
const int BigChange = 20;  // counts per step
const int MaxBrakeChange = 40; // counts per step
const int MotorFull = 179;   // fully on for PWM signals
const int MotorMin  = 69;
const int MotorOff = 0;
const int FullThrottle =  179;   // 3.5 V
const int MinimumThrottle = 39;  // Throttle has no effect until 0.75 V

  {
      ChangeBrake = -MaxBrakeChange;
  }
  ChangeMotor = TargetMotor - Servos[MOTOR].OutputValue;
  int EffectiveMotorChange = ChangeMotor > 0?
      min(TargetMotor, MotorFull) - max(MotorMin, Servos[MOTOR].OutputValue):
      min(Servos[MOTOR].OutputValue, MotorFull) - max(MotorMin, TargetMotor);
  if (EffectiveMotorChange > MaxMotorChange)
  {
      ChangeMotor = MaxMotorChange;
  }
  else if (EffectiveMotorChange < -MaxMotorChange)
  {
      ChangeMotor = -MaxMotorChange;
  }
  Servos[BRAKE].OutputValue += ChangeBrake;
  Servos[BRAKE].OutputValue = max(BrakeOn /*128 */, Servos[BRAKE].OutputValue);
