     {
       if (isCycleStarting)
       {
-        if ((millis()-initialTime) > minTime_ms)
-        { 
-          digitalWrite(HbridgeEnablePin, HIGH);
+        if ((micros()-initialTime) > minTime_us*random(100,300))
+        {
+          digitalWrite(HbridgeEnablePin, LOW);
           isCycleStarting = false;
         } 
       }

{
  if (serialFrequency != 0)
  { // Fallbacks to zero as we received no message in the expected time (twice the time)
    if ((millis()-lastSerialInputTime) > 2*1/serialFrequency*1000)
    {
      alphaSigned = 0;
    }

      { 
        // note that alpha can't be zero
        double alpha = fabs(alphaSigned);
        if ((micros() - initialTime) < minTime_us*random(100,200)/alpha*(1-alpha)+minTime_us*random(100,200))
        {
              digitalWrite(HbridgeEnablePin, HIGH);
        }
        else
        {
          digitalWrite(HbridgeEnablePin, LOW); // or low?
          initialTime = micros();
          isCycleStarting = true;
        } 
      }
