Особенности работы ESP-01

Доброго времени суток уважаемые форумчане!

Подскажите пожалуйста есть ли какие то особенности при работе с ESP-01? Я соединил ардуино нано, esp-01, модуль на 4 реле и подвязал на приложение Blynk. При этом данное устройство вроде работало нормально и с приложения включало и отключало реле.
Когда я попытался к этому устройству прикрутить датчик BME280 плата перестала соединяться с вайфай сетью и стала выдавать ошибку CMD Error.
Я погуглил и нашел информацию, что такое может быть при превышении количества попыток подключения к серверу. Подскажите насколько это верно? И что можно сделать? Как это исправить? Я просто ещё хотел пару датчиков прикрутить, но уже на BME280 застопорился.
Скетч прилагаю:

// Uncomment this line to enable prints and save space
#define BLYNK_DEBUG
#define BLYNK_TEMPLATE_ID "       "
#define BLYNK_TEMPLATE_NAME "      "
#define BLYNK_AUTH_TOKEN "      "
#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

char auth[] = "YourAuthToken"; // Authentication token from the Blynk App
char ssid[] = "ufanet 341"; // Your WiFi network name
char pass[] = "201020112012"; // Your WiFi network password

#include <SoftwareSerial.h>
SoftwareSerial EspSerial(2, 3); // RX, TX
#define ESP8266_BAUD 31250
ESP8266 wifi(&EspSerial);

#define PIN_RELAY_1 9 // Определяем пин, используемый для подключения реле
#define PIN_RELAY_2 10 // Определяем пин, используемый для подключения реле
#define PIN_RELAY_3 11 // Определяем пин, используемый для подключения реле
#define PIN_RELAY_4 12 // Определяем пин, используемый для подключения реле

//#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

//  Подключается BME 280 по I2C:
//  Плата ESP-12E подключаем SCL - D1(GPIO5) // SDA - D2(GPIO4)
//  Плата Arduino UNO (NANO) SCL - А5 // SDA - А4

// Это стандартное давление для вашей местности в гектопаскаль
// Гуглим стандартное давление для своего города
// и переводим в гектопаскаль
// https://www.unitjuggler.com/перевод-pressure-из-mmHg-в-hPa.html?val=740
//#define SEALEVELPRESSURE_HPA (986.5828) //1013.25 (760мм.рт.ст. = 1013.25 гПа (hPa))
Adafruit_BME280 bme; // I2C

//*************************************************************************
// Код программы

BlynkTimer timer;
unsigned long delayTime = 10000; // Частота вывода в виджет

// Функция для вывода данных в пять виджетов Lable Vaule
void sendSensor()
{
  
// Температура
 // Blynk.virtualWrite(V0, bme.readTemperature(), " *С");            //Указывать ед измерения если выыодить в монитор порта
  Blynk.virtualWrite(V0, bme.readTemperature());
  
// Давление в милиметрах ртутного столба
//  Blynk.virtualWrite(V1, (bme.readPressure() / 133.3F), " мм.рт.ст.");
//  Blynk.virtualWrite(V1, (bme.readPressure() / 133.3F));

// Влажность  
  //Blynk.virtualWrite(V2, bme.readHumidity(), " %");
  Blynk.virtualWrite(V2, bme.readHumidity());


}//sendSensor

void setup()
{
  pinMode(PIN_RELAY_1, OUTPUT); // Объявляем пин реле как выход
  pinMode(PIN_RELAY_2, OUTPUT); // Объявляем пин реле как выход
  pinMode(PIN_RELAY_3, OUTPUT); // Объявляем пин реле как выход
  pinMode(PIN_RELAY_4, OUTPUT); // Объявляем пин реле как выход
  digitalWrite(PIN_RELAY_1, HIGH); // Выключаем реле - посылаем высокий сигнал
  digitalWrite(PIN_RELAY_2, HIGH); // Выключаем реле - посылаем высокий сигнал
  digitalWrite(PIN_RELAY_3, HIGH); // Выключаем реле - посылаем высокий сигнал
  digitalWrite(PIN_RELAY_4, HIGH); // Выключаем реле - посылаем высокий сигнал
// Initialize serial communication
Serial.begin(31250);
delay(100);

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

// Запускаем датчик BME 280
    Serial.println(F("BME280 test"));    
  /*  bool status;
    
// Здесь вводим адрес устройства
// По умолчанию адрес i2c равен 0x77. 
// Если вы добавите перемычку из SDO в V3.3, адрес изменится на 0x77.
// Если вы добавите перемычку из SDO в GND, адрес изменится на 0x76.
    status = bme.begin(0x76);  
    if (!status) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
        while (1);
    }
    bme.setSampling();
    Serial.println("-- Default Test --");
    Serial.println();*/

//*******************************************************
  
// Connect to Blynk
Blynk.begin(BLYNK_AUTH_TOKEN, wifi, ssid, pass);
// Настраиваем таймеры  
  
  timer.setInterval(delayTime, sendSensor);

// Настраиваем виджеты
  Blynk.setProperty(V0, "label", "Температура");
 // Blynk.setProperty(V1, "label", "Давление");
  Blynk.setProperty(V2, "label", "Влажность");
}

void loop()
{
Blynk.run();
timer.run();
}

вот что выходит в монитор порта:
[562] Connecting to ufanet 341
[13612] WIFI CONNECTED
WIFI GOT IP
AT version:1.6.2.0(Apr 13 2018 11:10:59)
SDK version:2(9)memn 3 sW 12
[18881] +CIFSR:STAIP,“192.168.0.108”
+CIFSR:STAMAC,“44:17:93:14:c7:7f”
[18884] Connected to WiFi
[29353] <[1D|00|01|00|20]QcjhgTCe6Yw82LRN2zm2NaLWDuGXhdCg
[29513] >[00|00|01|00|C8]
[29513] Ready (ping: 41ms).
[29514] Free RAM: 1047
[29527] >[14|00|01|00|1D]
[29527] >pm[00]9[00]out[00]10[00]out[00]11[00]out[00]12[00]out
[29588] <[11|00|02|00|99]mcu[00]0.0.0[00]fw-type[00]TMPLQj0kDve9[00]buil
[29709] <d[00]Jun[20|20]9[20]2024[20]16:43:36[00]blynk[00]1.3.2[00]h-bea
[29831] <t[00]40[00]buff-in[00]256[00]dev[00]Arduino[20]Nano[00]cpu[00]AT
[29955] <mega328P[00]con[00]ESP8266[00]tmpl[00]TMPLQj0kDve9
[30094] >[00|00|02|00|C8]
[30164] <[13|00|03|00|1E]0[00]label[00|D0|A2|D0|B5|D0|BC|D0|BF|D0|B5|D1|80|D0|B0|D1|82|D1|83|D1|80|D0|B0]
[30328] >[00|00|03|00|C8]
[30379] <[13|00|04|00|18]1[00]label[00|D0|94|D0|B0|D0|B2|D0|BB|D0|B5|D0|BD|D0|B8|D0|B5]
[30518] >[00|00|04|00|C8]
[30578] <[13|00|05|00|1A]2[00]label[00|D0|92|D0|BB|D0|B0|D0|B6|D0|BD|D0|BE|D1|81|D1|82|D1|8C]
[30722] >[00|00|05|00|C8]
[70716] <[06|00|06|00|00]
[75731] Cmd error

Может это как то поможет.

К какому “этому устройству”? У вас в описании два МК - ЕСП-01 и Атмега (Нано) . К какому из них вы подсоенили реле и датчики?

Начните с подробного и ГРАМОТНОГО описания своего проекта. Схема соединений в вашем случае обязательна, без нее нечего обсуждать вообще.

Попробуйте, если убрать датчик и залить прежний код - соединение с сервером восстановится?

Да, соединение восстановливается.

лучше изобразить не получилось.

Спасибо.
Уже и с этим кое-что видно.

Скажите, вы реально подключаете источник питания 5в к пину VIN Ардуино Нано или это ошибка на схеме?

Прошу прощение за поздний ответ. был в отъезде.
Да, напрямую через блок питания.

На пин Vin имеет смысл подавать напряжение 7-12 вольт. Подавать туда 5 вольт бессмысленно