Serial Monitor sending out Gibberish after connectign to Wifi

Hi,
I have checked the baud rate and any other posts on the topic and tried when necessary with no luck. Been stuck of this for months. Any help is appreciated.

Error:

21:58:19.008 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
21:58:19.075 ->
21:58:19.075 -> Soft WDT reset
21:58:19.075 ->
21:58:19.075 -> >>>stack>>>
21:58:19.109 ->
21:58:19.109 -> ctx: cont
21:58:19.109 -> sp: 3ffffde0 end: 3fffffc0 offset: 01a0
21:58:19.143 -> 3fffff80: 3ffe84d4 3ffee5f3 3ffee750 402010e9
21:58:19.211 -> 3fffff90: 40207760 4101a8c0 feefeffe feefeffe
21:58:19.245 -> 3fffffa0: 3fffdad0 00000000 3ffee788 40204d74
21:58:19.312 -> 3fffffb0: feefeffe feefeffe 3ffe84f8 40100eb5
21:58:19.347 -> <<<stack<<<
21:58:19.381 ->
21:58:19.381 -> --------------- CUT HERE FOR EXCEPTION DECODER ---------------
21:58:19.449 -> ⸮⸮Ȑ)⸮
21:58:19.549 -> Connecting to Whats_What
21:58:20.097 -> .......
21:58:23.877 -> WiFi connected
21:58:23.877 -> 192.168.1.65
21:58:23.911 -> Could not find a valid BME280 sensor, check wiring!

I can’t see any gibberish there, but there is a big clue up the top.. WDT reset.

May be worth looking into why.

You have this in your setup

  if (!bme.begin()) 
  {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
}

and the output shows that this error message was displayed so your code hangs out in the while(1) loop forever which means the WDT never gets fed and that leads to a WDT reset...

On an ESP2866, you need

  if (!bme.begin()) 
  {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1) yield();
}

But better yet, figure out why your BME280 sensor is not being detected.

Could you put the stack trace dump into the ESP Exception Decoder and paste those results?

you can do the internet search thingy for the exception decoder.

This line shows that a fault has occurred in a register.

Until the exception is found troubleshooting the rest of the code will be futile.

Go to the github site for the arduino library you are using, see if their is an open trouble issue that may be related to your issue. You will need the stack trace and the exception decoder results for Adafruit if the exception decoder shows an Adafruity error.

Are you using the latest version of the Adafruit library items? If you are try using a version or 2 earlier then the latest version library.

Post an image of your wiring.

Post a schematic, fritz things are not schematics.

Your pm2 sensors are self triggering? I asked because I enable the iLED, wait a few microseconds, then read the results.

HI @Idahowalker,
Thank you for the ESP decoder idea, much appreciated I didnt know about it and assumed this was gibberish.

This is what the Decoder produced.

Decoding stack results 0x402010e9: setup() at C:\Users\cleander\Documents\Arduino\ASP_ver_1_Working_Air_Sensor_3_BME_TEST_Software_on_AS_3/ASP_ver_1_Working_Air_Sensor_3_BME_TEST_Software_on_AS_3.ino line 55 0x40204d74: loop_wrapper() at C:\Users\cleander\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\cores\esp8266*core_esp8266_main.cpp* line 194
Seems like there should be more based off my search. Ran it a couple times to see if I was doing something wrong but this is all it produced.

The issue is the BME sensor library.

Hi,
Thanks for the advice. I tried adding yield but then nothing popped up on the serial monitor.
I have checked the connections for the BME280 - connected only the BME to ensure it was working and connectors were correct.

By adding yield, you avoid the WDT reset but your BME.begin() is still failing so you still remain in the while(1) loop...

As I have posted in #4.

Go to the Adafruit github site for the Adafruit library you are using. Paste the original error, the converted error, the library version you are using, and they will fix the issue. Meanwhile drop down 1 or 2 library versions to see if an older version works.

Here's the gibberish:

21:58:19.449 -> ⸮⸮Ȑ)⸮

It's normal. The esp sends out a status messages immediately after booting, before the sketch starts running. But it's at an unusual baud rate, one that isn't selectable on serial monitor, iirc. But if you know what that baud rate is, and you use some other means to view it, like using 'screen' command on Linux, you can see the message. But don't rush to do that, I have seen it and it's not very interesting.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.