     nfc.PrintHex(uid, uidLength);
     Serial.println("");   
   }
-  return uid;
+  String direction = "";
+
+  for (int szPos=0; szPos < uidLength; szPos++) {
+      if (uid[szPos] <= 0xF)
+      direction.concat("0");
+      direction.concat(String(uid[szPos]&0xff, HEX));
+  }
+  return direction;
 }
 
 static void handleCollision(byte collisionData)

    // keep the bot moving (this triggers the stepper motors to move, so needs to be called frequently, i.e. >1KHz)
    bot.run();

    uint8_t direction = readNFC();
    if (!bot.isQFull()) {  // fill up the move queue to get the speed up
        //setLEDColour(0,1,0); // Green, because we are happily doing something
        // keep it moving, until it hits something
        bot.drive(10);
    }
}

uint8_t readNFC() {
  uint8_t success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  // Buffer to store the returned UID
  uint8_t uidLength;                        // Length of the UID (4 or 7 bytes depending on ISO14443A card type)

    Serial.println("Logobot");
    bot.begin();
    nfc.begin();
    nfc.setPassiveActivationRetries(1);
    nfc.SAMConfig();
    bot.enableLookAhead(true);
    bot.initBumpers(SWITCH_FL_PIN, SWITCH_FR_PIN, SWITCH_BL_PIN, SWITCH_BR_PIN, handleCollision);
