I have a TTGO that hosts an ESP32 with SIM800L. I want to also connect a GPS breakout board that will be switched on and off using ESP32's pin 15.
simulate this circuit – Schematic created using CircuitLab
As shown in the schematic above, I connected R1 to pin15 and its other side to the base of BC547C (the V2 3.3V + SW1 are there merely to illustrate toggling pin15 that of course is done with the digitalWrite from Arduino IDE). The board has also a "convenient" 5V output, so I thought to use it for powering the GPS breakout board, using R2.
I have successfully used in a standalone test the SIM800L, and another standalone test the GPS breakout (i.e. toggling it with pin15). However, when using both of them as shown in the schematic above it doesn't work. After thorough tests, I realized that the SIM800L modem cannot connect to the network (the circuit somehow affects it). When the ESP32 boots, it writes a logic 0 to pin15, in order to switch off the GPS breakout, and then tries to start the modem, however it fails (i.e. keeps trying to connect but without success).
My limited experience says that this should be an issue of the SIM800L not getting enough current, but I cannot understand why this would happen. I tried a USB power supply both from a PC and phone charger but no luck.
UPDATE: looks like the TX / RX wires from the GPS breakout, create the issue. When I disconnected them, the SIM800 model started working.
So, my question is why this could happen, and if there is a way from software to "disconnect" these pins?