       case 'p':
         gPauseMotor = !gPauseMotor;
         break;
+      case 'l':
+        gLogLevel = (gLogLevel + 1) % (LOG_LEVEL_VERBOSE + 1);
+        //Log.Init(9600, gLogLevel);
+        static const  char* levelStrings[]  = {"DISABLED","VERBOSE", "DEBUG", "INFO", "ERROR"};
+        Serial.print("Log level is "); Serial.println(levelStrings[gLogLevel]);
       default:
         Log.Error("Ignorning unknown command: %c\n", c);
         

{
  int height = analogRead(sonarPin);

  Log.Verbose("Height: %d\n", height);

  if (height > 170)
  {

    myMotor->step(stepSize, directionToStep, DOUBLE);
  delay(delayBetweenSteps);
  int currentLightReading = analogRead(lightSensorPin);

  char lightBuf[81] = {0};
  drawMeter(currentLightReading, 600, lightBuf, '.');
  Log.Info("%s\n", lightBuf);
  return currentLightReading;
}

void checkNotes(int reflectedLightValues[], boolean pluckedNotes[])
{
  for (int i = 0; i < numberNotes; i++)
