BLYNK
BLYNK.IO       📲 GETTING STARTED       📗 DOCS       👉 SKETCH BUILDER

ESP8266 Error ets Jan 8 2013,rst cause:4, boot mode:(3,6)

Hey everyone. So I was just experimenting with a ESP8266 as im pretty novice when it comes to blynk and arduino. I ended up using the start up template to display live readings of a potentiometer as well as have a button on the blynk app to turn on and off a LED.

I tried adding another LED to the board and another switch in blynk and the board crashed and now im getting the following error.

[68] Connecting to Galaxy S21
[2070] Connected to WiFi
[2070] IP: 192.168.135.32
[2070] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.6.1 on NodeMCU

[2076] Connecting to blynk.cloud:80
[2246] Ready (ping: 62ms).

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 3584, room 16 
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

I made no changes to the code from when it was working 100% as intended and now I it just connects to wifi and succefully connects to blink then resets. I’ve tried reuploading, reseting, unplugging everything. Not sure what to do from here. My full code is below. Thanks in advance!

/*************************************************************

  This is a simple demo of sending and receiving some data.
  Be sure to check out other examples!
 *************************************************************/

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings

#define BLYNK_TEMPLATE_ID           "TMPLQyxtVycX"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "C3xwkgth6nijpJhQPBWvfcJObEuRk1J1"


// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Galaxy S21";
char pass[] = "KyleSanchez";

BlynkTimer timer;

// This function is called every time the Virtual Pin 0 state changes
BLYNK_WRITE(V0)
{
  // Set incoming value from pin V0 to a variable
  int value = param.asInt();

  // Update state
  Blynk.virtualWrite(V1, value);
}

BLYNK_WRITE(V1)
{
  int pinValue = param.asInt(); // assigning incoming value from pin V1 to a variable
  // You can also use:
  // String i = param.asStr();
  // double d = param.asDouble();

  Serial.print("V1 Slider value is: ");
  Serial.println(pinValue);
}

// This function is called every time the device is connected to the Blynk.Cloud
BLYNK_CONNECTED()
{
}

// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V2, millis() / 1000);
}


int PotPin = A0;



void setup()
{
  Serial.begin(115200);

  //Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
  // You can also specify server:
  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{

  Blynk.run();

  timer.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!

  int val = analogRead(PotPin);
  int percentage = map(val, 0, 1023, 0, 100);
  Serial.println(percentage);
  Blynk.virtualWrite(V2, percentage);

Https://docs.blynk.io/en/legacy-platform/legacy-articles/keep-your-void-loop-clean

Also you need to update the Blynk library to 1.0.x

You have added the template id n device name. But the library will try to connect to the legacy server.

First of all, upgrade your Blynk library to 1.1.0 and stop specifying the server in your Blynk.begin command…

Secondly, read this and sort-out your void loop…

https://docs.blynk.io/en/legacy-platform/legacy-articles/keep-your-void-loop-clean

You don’t appear to have a corresponding pinMode statement for this pin, or have added any clues in your sketch or description as to which pin this might be.

Once again, no clues from you which type of datastream this was attached to. Difficult to dissect your code and potential issues without information.

Pete.

I’ve updated the Blynk Library and tried to start from scratch with the unchanged Blynk quick setup code and am still getting the same error. I think it may be a problem with the 8266 and not the code.

[4738] Connected to WiFi
[4738] IP: 192.168.135.32
[4738] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v1.1.0 on NodeMCU

 #StandWithUkraine    https://bit.ly/swua


[4749] Connecting to blynk.cloud:80
[4913] Ready (ping: 61ms).

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 3584, room 16 
tail 0
chksum 0xb0
csum 0xb0
v2843a5ac
~ld

Do you have anything connected to your ESP, other than the USB cable?

Pete.

Right now no, whenever I started from scratch with the Blynk Provided starter code I unplugged everything except the USB.

What version of the ESP8266 vote do you have installed in the IDE ?

(Board > Boards Manager > search for ESP8266).

Pete.

I have 2.7.4, it says there is a newer version so I will try to install that.

I am the most confused because I had the exact same code working totally fine but then I tried to put in a LED into the breadboard attatched the the 8266 ground pin and D6 pin and then boom it disconnected from Blynk so I unplugged it and now the exact same code wont work anymore.

However, I can still upload the built in LED blink code and that works fine.

Did you use a current limiting resistor with your LED ?

Does any part of the NodeMCU get hot when you power it up?

Pete.

Didn’t use a resistor with the LEDs and nothing on the NodeMCU gets “hot” but it is somewhat lukewarm to the touch.

This might help you
https://arduino-esp8266.readthedocs.io/en/latest/faq/a02-my-esp-crashes.html?highlight=watchdog#watchdog

It’s always a good idea to use the correct value of current limiting resistor for your LED, as it helps protect the board as well as the LED.

I’d recommend upgrading the ESP core to v3.0.2 and choosing the correct board type (from the ESP8266 3.0.2 list).
Also ensure that you choose a memory partition scheme which gives no FS or OTA memory allocation.

Pete.

I found that documentation yesterday when searching through the internet but it pretty much says to sprinkle serial.prints everywhere and it prints the first Serial print located in the setup then nothing else. so I know its not even getting into the void loop() .

void setup()
{
  Serial.begin(115200);
  Serial.println("TEST6");
  Blynk.begin(auth, ssid, pass);
  Serial.println("TEST9");
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  // Setup a function to be called every second
  
  timer.setInterval(1000L, myTimerEvent);
  timer.setInterval(1000L, PotDataSend); //timer will run every sec 
}

And there Serial monitor now reads:

[69] Connecting to Galaxy S21
[13801] Connected to WiFi
[13801] IP: 192.168.135.32
[13801] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v1.1.0 on ESP8266

 #StandWithUkraine    https://bit.ly/swua


[13811] Connecting to blynk.cloud:80
[13974] Ready (ping: 66ms).

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v00046870
~ld
TEST6

So that means something would be going on with the Blynk.begin function but as I said before the same code was working prior to me putting in a LED so I dont see what could have changed

Will definitely add resistors from here on out,

I updated to v3.0.2.

im not sure what that last part means, sorry for my ignorance

When I put both test print prior to the Blynk.begin() they both print but if I put one before and one after only the first one prints, thats got to mean the problem is in the Blynk.begin function correct?

Have you tried the exception decoder ?

Choose this board from the ESP8266 Boards (3.0.2) list…

and this memory allocation option…

image

Pete.

I haven’t, not exactly sure what that is

Got those settings in place. Really flustered on what else it could be

Going back to the changes you made when it stopped working, did you add a switch widget that was attached to a digital or virtual datastream?
Are you still using this same template and do you still have the same datastreams set up?

Pete.