   }
 
 #if MODE_DEBUG
-// Damn Arduino plotter, the Y axis scale changes much 
-// too frequently! Use these 5000 and 0 values to "lock" 
-// the plotter.
-  Serial.print (5000);
+// Damn Arduino plotter, the Y axis scale changes too frequently! Use these values to "lock" the plotter's scale.
+  Serial.print (50000);
   Serial.print ("\t");
   Serial.print (0);
   Serial.print ("\t");
-#if MODE_DEBUG_SHOW_TIME
-  Serial.print (sampleLastTime);
-  Serial.print ('\t');
-  Serial.print (calcLastTime);
-#endif
+
   Serial.println ("");
 #endif
 
+// Force the sample frequency to be less than 1000Hz
+  unsigned int frameTime = micros () - lastTime;
+  lastTime = micros ();
+  if (frameTime < 1000) {
+    delayMicroseconds (1000 - frameTime);
+  }
 }

#if MODE_JIRO
#define HEAVY_THRES LONG_MAX
#endif

int channelSample [CHANNELS];
int lastChannelSample [CHANNELS];

    lastChannelSample [i] = 0;
    triggered [i] = false;
  }
  lastTime = 0;
}

void loop() {
  
  for (short int i = 0; i < CHANNELS; i++) {
    
    channelSample[i] = analogRead (pins [i]);
    sampleCache [i].put (channelSample [i] - lastChannelSample [i]);
    
    long int tempInt;
