(When using ESP as shield) The program stops at startup when there is no Wifi

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <SoftwareSerial.h>
#define BLYNK_DEBUG

char auth[] = "";
char ssid[] = "";
char pass[] = "";

SoftwareSerial EspSerial(14, 16); // RX, TX

#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

BLYNK_WRITE(V1) {
  int pinValue = param.asInt();
  Serial.print("V1 value is: ");
  Serial.println(pinValue);
}

void setup() {

  Serial.begin(9600);  // Debug console

  EspSerial.begin(ESP8266_BAUD); // Set ESP8266 baud rate
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop() {
  Blynk.run();
  //other code....
}

I replaced

Blynk.begin(auth, wifi, ssid, pass);
with
Blynk.config(auth);
Blynk.connectWiFi(ssid, pass);
I have
error: no matching function for call to ‘BlynkWifi::config(char [33])’

Everything is updated to the latest version.

This is not an issue with your sketch… As you have discovered… it is an issue with the nature of the ESP as shield library, that does NOT allow the use of Blynk.config() (non-blocking) instead of Blynk.begin() (blocking).

There is a concurrent topic happening right now that has a unique solution for resetting the Arduino until it connects… assuming WiFi does get turned on again.

But if no WiFi, then there is no current solution for Arduinos using ESP as WiFi shield.