Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By hobby_guy
#96188 What if I swap the connections on the "boot selector" switch, such that the external switches (sensors) connect to GPIO0 instead of GND when closed? GPIO0 could be set as an output, and set low.

Image

Consider normal boot (not flash mode) where the selector then is flipped to the right, connecting the external switches to GPIO0. For normal boot, GPIO0 must be high or floating, which it now is (not grounded) and GPIO2 must be high (not grounded). If SW1 is open, then GPIO2 is pulled high by the 10K resistor. If SW1 is closed, then GPIO2 will be floating (GPIO0). Or will it be high, as it is then in fact connected to VCC through the resistor on GPIO2? In either case, this should ensure a normal boot.

Then, in the firmware (i.e. after a normal boot), we could set GPIO0 as an output and set it low. That would "enable" the external switches, as they would now close to ground (on GPIO2 and RX pins). Is this something that might work?