I have a Model 3 Pi, with a SIM800 GSM card attached. The GSM card needs to be powered up by applying a High pulse to a pin pin on the card for 1.2 seconds. I attached one of the Pi Pins to this pin, and wrote some python, which configures the GPIO Pin as output, applies the pulse, then cleans up. (Which sets the GPIO Pin back to being an input Pin.)
All works fine. But when a call arrives to the GSM card, it immediately shuts down. After some research, I have discovered that this is because when the call arrives, a voltage appears on the Pi GPIO Pin. Even though it's configured as an input pin. I have tried GPIO19 and GPIO26.
This voltage is enough ( > 2.8V) to be interpreted as another pulse on the GSM Card power pin, and it activates Shutdown.
I have worked around this by keeping the GPIO Pin as an output Pin, where I can control the state.
So, my question is - Why would there be a voltage present on the GPIO Input Pin?
UPDATE: Curiouser and curiouser. Even with the GPIO pin set as output, and set low, I still see the GSM card reset when a call arrives. Looking at the circuit for the GSM card, the Power pin is supposed to have a 50K pulldown resistor attached, and its connected to the gate of a FET, which drives the POWER signal. I guess that may be missing, and some noise on the GPIO line is triggering the FET. But short of putting a scope on there, I can't say. I ended up using a relay (operated by the GPIO Pin) to connect the Power Pin to 3.3v for a few seconds, at Pi startup time.