   // This will execute the sending message function when we want suposing that
   // each second it reads the TinyGPS
   if(readCount++ % delayTime == 0) {
-    sendMessage(strValue);
+    sendMaster(strValue);
   }
 }
 
 void send_OBD_cmd(char *obd_cmd)
 {
+  obd.begin(9600);
   obd.println(obd_cmd);
   readOBD();
+  obd.end();
 }
 
 void checkIncommingCmd(int cmd)

  } else {
    if(debug == true) {Serial.println("nothing from Master Bluetooth.");}
  }
  bt.flush();
}

void readOBD()
{
  if(debug == true) {Serial.println("reading OBD Bluetooth...");}
  if (obd.available() > 0) {
    String msg; // string to store entire command line
    delay(1000); // wait 1 sec to give time enough for the serial to receive all the stream
    while (obd.available()) {

    }
    Serial.println(msg);
    delay(50);
    sendMaster(msg);
    } else {
      if(debug == true) {Serial.println("nothing from OBD Bluetooth.");}
      sendMaster("No data from OBD2.");
  }
  obd.flush();
}

void readGPS()
{
  
  // This sketch displays information every time a new sentence is correctly encoded.
  if (ss.available() > 0) {
    // delay(1000); // wait 1 sec to give time enough for the serial to receive all the stream
    while (gps.encode(ss.read())) {
      if(debug == true) {Serial.println("reading GPS...");}
      displayInfo();
    }
  } else {
    if(debug == true) {Serial.println("nothing from GPS.");}
  }
  ss.flush();
  
  if (millis() > 5000 && gps.charsProcessed() < 10)
  {
    if(debug == true) {Serial.println("No GPS detected: check wiring.");}
