 			commandIndex=0;
 			// kill the log sampling ISR
 			logSampler.end();
+			// kill the tach ISR
+			detachInterrupt(TACH_PIN);
+
 			//flag the current write index as full
 			writeBuffer[writeIndex].full = true;
 		}

	int commandValue;
	char str[80];
	unsigned long time;

	//check if we're sitting in an overflow state and dump the sample if needed
	if (writeBuffer[writeIndex].full==true) {

elapsedMicros testTime;
elapsedMicros commandTime;

elapsedMicros tachTime;
volatile unsigned long lastTachPulse = 0;
uint8_t pulsesPerRev = 2;

elapsedMillis buttonTime;
bool buttonRunning = false;
bool buttonLatch = false;
