HUZZAH ESP8266 wdt resets
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- adafruit2
- Posts: 22148
- Joined: Fri Mar 11, 2005 7:36 pm
Re: HUZZAH ESP8266 wdt resets
yep the WINC1500 is probably a good alternative. as you can see, many people are willing to work with the esp8266 because of the price!
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
Do you have any information regarding stability of the esp when running Lua (pre-installed interpreter)? Just wondering if the resets that I am experiencing occur mostly with Arduino environment?
- jerryn
- Posts: 1868
- Joined: Sat Sep 14, 2013 9:05 am
Re: HUZZAH ESP8266 wdt resets
Just an FYI - I have been monitoring this discussion and I downloaded your example and ran it on my Huzzah ESP8266. It has been running for a few hours with no resets. This is the original version posted in this discussion (without the "yield()").
I also ran it on a Feather Huzzah ESP8266 for about 15 minutes with no issues.
I am powering and loading the Huzzah via an "FTDI Friend" board if that is significant.
I wanted to run this test because at a some point in testing the Feather Huzzah ESP8266 I had seen some wdt resets but they appeared to be due to obsolete libraries dealing with the WifI usage and have not recurred since I updated things.
I wish I could be more helpful, but i thought you'd be interested in an independent check.
Good luck.
I also ran it on a Feather Huzzah ESP8266 for about 15 minutes with no issues.
I am powering and loading the Huzzah via an "FTDI Friend" board if that is significant.
I wanted to run this test because at a some point in testing the Feather Huzzah ESP8266 I had seen some wdt resets but they appeared to be due to obsolete libraries dealing with the WifI usage and have not recurred since I updated things.
I wish I could be more helpful, but i thought you'd be interested in an independent check.
Good luck.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: HUZZAH ESP8266 wdt resets
We really don't have any specific info on stability in either Arduino or lua. It's just anecdotal. Personally, I haven't seen any stability problems with the platform. Haven't used lua, though.
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
JerryN, thanks for your input. I would love to hear from more people using the esp8266; both with positive and less than positive experiences with it. At times, mine has run for several hours and once for several days without a reset and then when I am feeling good about progress it happens again.
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
The only conclusion that I can reach is that I have experienced pretty much worst case odds in receiving 3 esps that have been significantly less than stable. Although I have found in my google searches where others have had similar issues without clear resolutions that I could find, I get the impression that the majority of these units are fairly stable. On this one project in particular, I have built fairly extensive circuitry on a Perma-Proto board with headers for the esp to plug in to. It would be a fairly substantial effort to redesign to use Arduino. So, I am asking for the following:
Please sell me a slightly used esp8266 that has an established history of stability; maybe one that is being used in-house in some capacity, or maybe the one that Rick is using. Just let me know what I need to do to set up this purchase.
Please sell me a slightly used esp8266 that has an established history of stability; maybe one that is being used in-house in some capacity, or maybe the one that Rick is using. Just let me know what I need to do to set up this purchase.
- adafruit2
- Posts: 22148
- Joined: Fri Mar 11, 2005 7:36 pm
Re: HUZZAH ESP8266 wdt resets
jerry - that is not possible - we only sell new boards. each board is tested the exact same way. you can email for a refund support@adafruit but we recommend finding another platform :)
- jerryn
- Posts: 1868
- Joined: Sat Sep 14, 2013 9:05 am
Re: HUZZAH ESP8266 wdt resets
This has been a very puzzling thread.
As I reported above, I ran the original "Blink without Delay" on my ESP8266 HUZZAH breakout board for several hours without any resets. I have finally had some time to do some more reading on this and I don't understand how it can possible have worked! Without a "yield()" this should generate WDT resets. Why doesn't it?
There is a lot of information about the use of the yield() for ESP8266's out there and all indicate that the example code should fail.
Is the Arduino IDE ESP8266 code doing something "clever"? I'm trying to find out just where yield() is called ...
As I reported above, I ran the original "Blink without Delay" on my ESP8266 HUZZAH breakout board for several hours without any resets. I have finally had some time to do some more reading on this and I don't understand how it can possible have worked! Without a "yield()" this should generate WDT resets. Why doesn't it?
There is a lot of information about the use of the yield() for ESP8266's out there and all indicate that the example code should fail.
Is the Arduino IDE ESP8266 code doing something "clever"? I'm trying to find out just where yield() is called ...
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: HUZZAH ESP8266 wdt resets
The loop function is called from a 'hidden' main function, which does the actual looping. Loop() just runs once and returns. The hidden main function does the yield. You only need to explicitly call yield if you have a long operation or infinite loop in your sketch.
You say you have the ESP8266 in a circuit? Have you tried removing it from the circuit and running it standalone?
You say you have the ESP8266 in a circuit? Have you tried removing it from the circuit and running it standalone?
- jerryn
- Posts: 1868
- Joined: Sat Sep 14, 2013 9:05 am
Re: HUZZAH ESP8266 wdt resets
Rick, Thanks! You have saved my few remaining hairs ;-)
I should have recognized that "loop()" was not itself an infinite loop and must be being called by someone.
I finally found the esp8266 core library and can now see what is going on. Lots going on "behind the curtain" ;-)
I should have recognized that "loop()" was not itself an infinite loop and must be being called by someone.
I finally found the esp8266 core library and can now see what is going on. Lots going on "behind the curtain" ;-)
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
Ok, I do appreciate all the time and effort that you have put into this issue for me. Yes, I have tried running this totally stand-alone with nothing but my serial cable connected for power and to monitor serial output. It actually seems to behave in a more stable manner running my code while plugged into my circuit on the perma-proto board than it does stand-alone running BlinkWithoutDelay. I have hopes that it will be stable enough 'to suffice' when in normal operation. I have just a little final 'stuff' to do before additional testing in that mode. Please keep this thread open until I do that additional testing and one final summary post regarding those results which I will post within the next few days. Thanks.
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
Summary: Testing these units in the actual circuit now. The first one tested last night did repeated resets (didn't count but would guess about a dozen times in 3 to 4 hours). The second one is still being tested and has reset only once in about 9 hours. This one will probably be the one that is actually used for the project and if that reset rate holds, it will be very usable, Have not yet tested the third one in the intended circuit.
This project reads an analog temperature sensor, two analog battery voltages (using 3 digital outputs to select in round robin fashion), one pwm output and one digital output to control a fan making it variable speed depending on the temperature and state of one additional digital input, one digital output for an alarm buzzer, one digital output to indicate activity, and one digital output to control a relay based on battery voltages. So...it is using the analog input, one digital input, one pwm output, and seven straight digital outputs. Took extra effort on output 0 to make sure that it does not interfere with reset/reboot functionality. Output 2 is the activity indicator and uses the built-in blue led. There are no remaining I/O pins that are not in use. It generates a web page to display operational stats and manage configuration settings as either a stand-alone access point or as a station connected to local wireless network.
The good news is that based on my experience, these 3 units are fairly consistent in 'doing what they do'. My expectation is that my second one under test will most likely reset at low frequency and that my first one tested will always have a higher reset rate that is not likely to get better or worse. I have high confidence that the second one currently under test will do the job very nicely and in a cost effective manner (if you don't count the time spent trying to totally resolve the reset issues). My second project is one that would not tolerate any resets that do not reboot into operational state without substantial inconvenience. I will use an Arduino Uno for that project, probably with a bluetooth breakout for configuration.
Bottom line is that I believe I have 3 units that are less than average in terms of stability. I will probably use more of these units in future projects that are non-critical and can tolerate resets with very minimal inconvenience. The ESP8266 just has such a nice combination of capabilities that as far as I can tell cannot currently be replicated without spending at least 3 to 4 times the cost of the ESP with probably more programming effort to accomplish the same objectives.
Please feel free to close this thread as a 'best effort' resolution. Again, thanks for your time and effort; that speaks highly of Adafruit and the dedication of your employees!
This project reads an analog temperature sensor, two analog battery voltages (using 3 digital outputs to select in round robin fashion), one pwm output and one digital output to control a fan making it variable speed depending on the temperature and state of one additional digital input, one digital output for an alarm buzzer, one digital output to indicate activity, and one digital output to control a relay based on battery voltages. So...it is using the analog input, one digital input, one pwm output, and seven straight digital outputs. Took extra effort on output 0 to make sure that it does not interfere with reset/reboot functionality. Output 2 is the activity indicator and uses the built-in blue led. There are no remaining I/O pins that are not in use. It generates a web page to display operational stats and manage configuration settings as either a stand-alone access point or as a station connected to local wireless network.
The good news is that based on my experience, these 3 units are fairly consistent in 'doing what they do'. My expectation is that my second one under test will most likely reset at low frequency and that my first one tested will always have a higher reset rate that is not likely to get better or worse. I have high confidence that the second one currently under test will do the job very nicely and in a cost effective manner (if you don't count the time spent trying to totally resolve the reset issues). My second project is one that would not tolerate any resets that do not reboot into operational state without substantial inconvenience. I will use an Arduino Uno for that project, probably with a bluetooth breakout for configuration.
Bottom line is that I believe I have 3 units that are less than average in terms of stability. I will probably use more of these units in future projects that are non-critical and can tolerate resets with very minimal inconvenience. The ESP8266 just has such a nice combination of capabilities that as far as I can tell cannot currently be replicated without spending at least 3 to 4 times the cost of the ESP with probably more programming effort to accomplish the same objectives.
Please feel free to close this thread as a 'best effort' resolution. Again, thanks for your time and effort; that speaks highly of Adafruit and the dedication of your employees!
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: HUZZAH ESP8266 wdt resets
Thanks for the kind words. Sorry that we couldn't really resolve it for you.
- jerry7580
- Posts: 34
- Joined: Wed Aug 26, 2015 4:26 pm
Re: HUZZAH ESP8266 wdt resets
One additional and probably final follow-up. I installed MicroPython on the esp that was behaving the worst. It did the resets running MicroPython too. That eliminates the possibility of arduino core code being the issue in any way. Also I am currently testing my 3rd esp8266 (the replacement unit) in my actual circuit; it has been up and running continuously for 23 hours, 16 minutes, 14 seconds and still going.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: HUZZAH ESP8266 wdt resets
Interesting. Keeps us posted on whether or not it resets
Please be positive and constructive with your questions and comments.