                        // Quantified Self "QS" true when arduino finds a heartbeat
         fadeRate = 255;         // Makes the LED Fade Effect Happen
                                 // Set 'fadeRate' Variable to 255 to fade LED with pulse
+        fadeTime = millis();    // Set the fade timer to fade the LED
         serialOutputWhenBeatHappens();   // A Beat Happened, Output that to serial.
         QS = false;                      // reset the Quantified Self flag for next time
   }
-
-  ledFadeToBeat();                      // Makes the LED Fade Effect Happen
-  delay(20);                             //  take a break
-}
+  
+  if(millis() - fadeTime > 20){
+    fadeTime = millis();
+    ledFadeToBeat();                      // Makes the LED Fade Effect Happen
+    }
+    
+} // end of loop
 
 
 


  So many new micros are coming out that it's kind of mind boggling. We will add to this list with
  code that uses interupts when we can, but if your micro is not listed here, and you are not willing
  or able to grab a hardware timer yourself, here is a shortcut that will 'work'.
  It won't have the tight timing of a hardware interrupt, but it just might be good enough.
  The code below will set up a microsecond timer and 'trigger' every 2mS (or so).
  You will need to change the name of the funcion in the Interrupts tab from
  'ISR(TIMER2_COMPA_vect)'
  to
  'void getPulse()'
  and also comment out the entire interruptSetup() function in the interrupts tab in order for this to work.

  Happy Hacking!



  // FIRST, CREATE VARIABLES TO PERFORM THE SAMPLE TIMING FUNCTION
  unsigned long lastTime;
  unsigned long thisTime;
  void setup(){
    pinMode(blinkPin,OUTPUT);         // pin that will blink to your heartbeat!
    pinMode(fadePin,OUTPUT);          // pin that will fade to your heartbeat!

    //   analogReference(EXTERNAL);
  } //end of setup()

  //IN THE LOOP, ADD THE CODE THAT WILL DO THE 2mS TIMING, AND CALL THE getPulse() FUNCTION.
  void loop(){

    serialOutput() ;
