My Xbee S2C is set to the lowest possible transmit power and boost mode is disabled. When powered externally and working correctly, it draws no more than 27 mA DC using UART.
When booting a Raspberry Pi Zero with the S2C connected to the 3.3V GPIO pin it doesn't transmit nor receive from another S2C connected to my PC using XCTU. Now, with the Pi still on (I do not reboot the Pi), I can disconnect the S2C's Vcc from the Pi and connect it to an external power supply at 3.3V, start-up miniterm.py and it works fine. The weird part? I can then disconnect Vcc from the external supply, connect it back to the Pi's 3.3V GPIO and it works! Again, without having rebooted the Pi. Why would the S2C not work properly when the Pi powers the S2C from boot?
From what I gather, the pin should be able to source at least 50 mA. Some sources claim even higher currents should be achievable on the 3.3V rail: https://raspberrypi.stackexchange.com/questions/51615/raspberry-pi-power-limitations
And the regulator's datasheet confirms this: https://www.diodes.com/assets/Datasheets/PAM2306.pdf
I understand there are several components sourcing from the Pi's 3.3V rail and that will increase the load on the regulator, but the fact that it successfully powers the S2C using this power swap is baffling... What could be the cause of this issue?
Bonus: An S1 module used in the same exact physical configuration has no such issues even when set at maximum power level.