ESP8266 (NodeMCU and Wemos D1 mini) won't boot or upload with particular devices

The relay is connected to NodeMCU pin 8 (GPIO15) and the buzzer to pin 5 (GPIO14)

With the reed sensor sketch, the sensor is on pin 4 (GPIO2).

I've tried other pin combinations but get the same result. I suspect ieee488's comment might be right.

12mA is the NodeMCU's source current per pin but there are no specs for the relay or reed switch in terms of their respective current draws.

As both of them operate from 3.3v to 5v could I use the NodeMCU Vin pin instead, as my understanding is that draws directly from the 2 amp USB power source?