Switching ESP8266 on/off with a Pico pin

Posted on
  • Hi, I want to turn my ESP8266 off to save power.

    When I try to pulling the CH_PIN pin high with digitalWrite(B9,1) it doesn't power up and I see Uncaught No 'ready' after AT+RST.

    I tried using a timeout to give it some time to boot up and also tried pulsing the reset pin.

    Also it seems my ESP8266 board has the CH_PD pin hardwired to Vcc via a 1k resistor. If I connect the CH_PD pin to GND, it powers down and if I connect it to the Picos 3.3v pin or leave it dangling it powers up.

  • Here's a picture of it

    1 Attachment

    • image1.JPG
  • It should work - it's actually what I do for the Espruino WiFi: https://github.com/espruino/EspruinoDocs¬≠/blob/master/devices/EspruinoWiFi.js#L19¬≠0

    Is CH_PIN a typo? you mean CH_PD? If there's a 1k resistor on it I guess you'll have to remove it if you want to properly save power.

    Is GPIO0 pulled 0 or left disconnected? If it's 1 then the ESP8266 will enter bootloader mode, so wouldn't respond to any of the AT queries?

  • Yes, two typos there. I do mean CH_PD and it's hardwired to VCC with a 10k resistor (not 1k). GPIO0 and GPIO2 are disconnected. GPIO15 is hardwired to GND with a 10k resistor.

    It does seem to me like it should work since when I pull CH_PD to GND or VCC manually with a wire everything works as expected i.e. when CH_PD is connected to GND the ESP8266 powers down and when connected to VCC it powers up.

  • Are you sure there's a physical connection between B9 and CH_PD then? Maybe check with a volt meter. It could just be a bad joint somewhere.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Switching ESP8266 on/off with a Pico pin

Posted by Avatar for countxerox @countxerox