Error code explanation please

Hi. I am developing my Wemos D1 to work with an Arduino Uno. I feel that I am almost there. I think that I have created an interrupt within the loop that generates a reset for the Arduino. This delay will allow the Wemos to boot to the net and give me menu control of the Arduino just prior to it booting. My problem is that in the Serial Monitor, I see the following error codes and I have no net access.

ets Jan 8 2013,rst cause:4, boot mode:(3,6)
wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d

I have looked, but have been unable to find anything remotely like this. HELP…Thanks.

First off, this is NOT a Blynk related issue.

Secondly, you didn’t look everywhere… I just Googled your errors and on the first result found this…

Hi @Gunner. Thanks for the link. Yes you are correct. I tried to search this site and got no hits. I have just had a massive fight with my Firefox settings, now I google search and find the codes immediately. From what I get from the links, the people involved seemed to mainly have power supply issues. That is not my case. I believe that my issue is related to trying to generate an interrupt to an Arduino AFTER the D1 has connected to the server, so that means it needs to be in the void loop(). I am still researching this…

This is a common fault when using interrupts with Arduino + ESP (via SoftSerial).

Standalone ESPs like the WeMos do not experience this issue.

Hi @Jamin. Sorry if I am being misunderstood. The interrupt is not generated in the Arduino, but generated in a Wemos D1 R2, to hard wire reset an Arduino. That interrupt needs to run after the Wemos has connected to the Blynk server, so I reckon it needs to happen in the loop(), as this is where I believe the server actually connects and runs.

Probably code related. Mind posting the code so we can try and debug it?

Hi @Jamin. Great thanks. Even with my limited knowledge, I think that the issue is somewhere in the main part of the script. I reckon this because I can rem out all but in the loop and I still get the same error message. Here it is.

  Download latest Blynk library here:

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials:
    Sketch generator: 
    Blynk community:  
    Follow us:        

  Blynk library is licensed under MIT license
  This example code is in public domain.


  You’ll need:
   - Blynk App (download from AppStore or Google Play)
   - ESP8266 board
   - Decide how to connect to Blynk
     (USB, Ethernet, Wi-Fi, Bluetooth, ...)

  There is a bunch of great example sketches included to show you how to get
  started. Think of them as LEGO bricks  and combine them as you wish.
  For example, take the Ethernet Shield sketch and combine it with the
  Servo example, or choose a USB sketch and add a code from SendData

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial
#define interval 5000 // The interval in mS

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

elapsedMillis Time;  
boolean TimeFired;  

char auth[] = "myAuthenticationCodeHere"; // 

char ssid[] = "localRouterName";  
char pass[] = "password";  
int reset = D3;   // D3 Pin is active high and used for reset of Arduino

void setup()
  Serial.begin(112500);       // Start serial monitor
  pinMode(reset, OUTPUT);   //Set up D3 pin on Wemos D1 to output
  pinMode(0, OUTPUT);    // sets the digital pin 0 as output 0
  pinMode(1, OUTPUT);    // sets the digital pin 1 as output 1
  pinMode(2, OUTPUT);    // sets the digital pin 2 as output 2
  pinMode(5, OUTPUT);    // sets the digital pin 5 as output 5
  pinMode(6, OUTPUT);    // sets the digital pin 6 as output 6
  pinMode(7, OUTPUT);    // sets the digital pin 7 as output 7

   TimeFired = true;  // was TimeFired = false;
   Time = 0;           // clear the timer at the end of startup  

   Blynk.begin(auth, ssid, pass); 
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "", 8442);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
void pinout()
 digitalWrite(0, LOW);     // Reset pin 0
 digitalWrite(1, LOW);     // Reset pin 1
 digitalWrite(2, LOW);     // Reset pin 2
 digitalWrite(5, LOW);     // Reset pin 5
 digitalWrite(6, LOW);     // Reset pin 6
 digitalWrite(7, LOW);     // Reset pin 7
 digitalWrite(0, HIGH);     // Normalise pin 0
 digitalWrite(1, HIGH);     // Normalise pin 1
 digitalWrite(2, HIGH);     // Normalise pin 2
 digitalWrite(5, HIGH);     // Normalise pin 5
 digitalWrite(6, HIGH);     // Normalise pin 6
 digitalWrite(7, HIGH);     // Normalise pin 7
 digitalWrite(reset, LOW);     // Sent Arduino reset low until Wemos connects to web

void loop()
   if ((!TimeFired) && (Time > interval)) // don't execute this again if time greater than 5000 millis
   digitalWrite(reset, HIGH);      
   TimeFired = false; 
   digitalWrite(reset, HIGH);;
  // 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!


Don’t know why, but the includes went crazy. Here they are.

#define BLYNK_PRINT Serial
#define interval 5000 // The interval in mS

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


As per the introduction topic:

You need to format posted code to allow proper viewing

That was just the first item that popped up on the Google search… power, wiring, flash issue, firmware… either way it is not Blynk specific and there are many solutions out there, you just have to research them.