Library — Softwareserial.h
: The library relies on pin change interrupts to detect incoming data, allowing it to "listen" while the main code is running, though this consumes significant CPU cycles.
: You can create a new serial object by specifying which digital pins will act as RX (Receive) and TX (Transmit). softwareserial.h library
void setup() Serial.begin(9600); // Debug console gps.begin(9600); bluetooth.begin(38400); // Common HC-05 default gps.listen(); // Listen to GPS first : The library relies on pin change interrupts