Skip to content

Ability to wake from .deepSleep #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 27, 2015
Merged

Ability to wake from .deepSleep #135

merged 1 commit into from
Apr 27, 2015

Conversation

linagee
Copy link
Contributor

@linagee linagee commented Apr 27, 2015

This was not immediately apparent to me. I don't think it would be apparent to anyone else just playing around with ESP8266/Arduino either. GPIO16 and RST (REST) need to be tied together or you can "never wake from .deepSleep"

It must be GPIO16 and it must be RST, no other GPIO pin will wake it from deepSleep.

This was not immediately apparent to me. I don't think it would be apparent to anyone else just playing around with ESP8266/Arduino either. GPIO16 and RST (REST) need to be tied together or you can "never wake from .deepSleep"

It must be GPIO16 and it must be RST, no other GPIO pin will wake it from deepSleep.
igrr added a commit that referenced this pull request Apr 27, 2015
Ability to wake from .deepSleep
@igrr igrr merged commit 85b587c into esp8266:esp8266 Apr 27, 2015
@duncan-a
Copy link

Is this waking it by means of an internal timer, receipt of a WiFi command
or an external event from something like an RTC interrupt?

I need to do the RTC method in the near future, the WiFi method would mean
I could have one central RTC and use a broadcast to get data back from
outlying sensors (maybe) - not so sure about internal timers...

Presumably waking from deep sleep isn't possible with an ESP-01 as GPIO16
doesn't appear?Are they connected on the board?

I haven't investigated sleeping ESPs yet - I still have upload issues...

On 28 April 2015 at 01:00, Ivan Grokhotkov notifications@github.com wrote:

Merged #135 #135.


Reply to this email directly or view it on GitHub
#135 (comment).

@linagee
Copy link
Contributor Author

linagee commented Apr 28, 2015

ESP-01, get out some really tiny wires, connect right to the chip, and good luck. :-)

I was able to do this successfully with an ESP-12. When you deepSleep, the ESP8266 goes to sleep until an internal timer brings GPIO16 low. Tying this to RST allows it to reboot the ESP8266. (No state is stored, so, see my other request to bring forward the RTC storage, which is stored across a .deepSleep reboot. Another alternative: Store in EEPROM/SPI flash.)

I believe there are other sleeping ways to wake on WiFi/other GPIO interrupt, but they use about 3x as much power. (Also, I don't know what command does this from the ESP8266 SDK, it might not even be easily exposed.) If you want to use the .deepSleep method as a single external interrupt, you could probably .deepSleep (for nearly forever?) then bring RST low to "bring it out of deep sleep" / reboot.

@duncan-a
Copy link

I'm in my 60s, my hands are no longer steady and I have cataracts - I can
barely solder 0.1"headers on stripboard now - not an option!!!

GPIO16 is brought out to the header pins on the Olimex module - that may be
helpful to someone...

Knocking Reset low to reboot was what I was thinking for an RTC Interrupt
(once I can understand how to eliminate the bootloader 'rubbish' on the
serial lines (I've read the posts, but I'm not there yet) and discovered
how to reduce the connect time.

Wake on WiFi would be good, but the power consumption (I've seen 48mA
quoted somewhere) would be a significant issue.

Thanks

On 28 April 2015 at 19:23, linagee notifications@github.com wrote:

ESP-01, get out some really tiny wires, connect right to the chip, and
good luck. :-)

I was able to do this successfully with an ESP-12. When you deepSleep, the
ESP8266 goes to sleep until an internal timer brings GPIO16 low. Tying this
to RST allows it to reboot the ESP8266. (No state is stored, so, see my
other request to bring forward the RTC storage, which is stored across a
.deepSleep reboot. Another alternative: Store in EEPROM/SPI flash.)

I believe there are other sleeping ways to wake on WiFi/other GPIO
interrupt, but they use about 3x as much power. (Also, I don't know what
command does this from the ESP8266 SDK, it might not even be easily
exposed.) If you want to use the .deepSleep method as a single external
interrupt, you could probably .deepSleep (for nearly forever?) then bring
RST low to "bring it out of deep sleep" / reboot.


Reply to this email directly or view it on GitHub
#135 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants