 	calibrateGyro(); //this also takes one second
 
 	setupAPM2radio();
-	encoder::begin(EncoderPin[0], EncoderPin[1]);
+	#if useEncoder
+		encoder::begin(EncoderPin[0], EncoderPin[1]);
+	#endif
 	manager.requestResync();
 	uTime = millis();
 }

	servo[1].write(steer);
	servo[2].write(180-steer);
}

void setMPH(float mph){
	cruise.set(MPHtoRPM(mph));
}
inline float MPHtoRPM(float mph){ return (mph*MPHvRPM)/tireDiameter; }
inline float RPMtoMPH(float rpm){ return (rpm*tireDiameter)/MPHvRPM; }

	if(abs(mph)<0.5f){
		cruise.stop();
	} else {
		cruise.set(MPHtoRPM(mph));
	}
	float outputval = cruise.calc(encoder::getRPM());
	servo[0].write(90+outputval);
