Still prints that it cant connect to wifi (with connecting and disconnecting in app) and it is stopps at Blynk.begin

But when i comment all the timer stuff it goes through loop normally and connects to wifi with no problems

#define BLYNK_PRINT Serial
#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>
#include <WidgetRTC.h>
char auth[] = "";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Lanberg_router_24_06562"; //RouterTOTO 2.4GHz
char pass[] = "L@@n&3rG";//malina123
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(5, 6); // RX, TX
#define ESP8266_BAUD 9600
ESP8266 wifi(&EspSerial);
WidgetRTC Wrtc;
BlynkTimer timer;
#include <ShiftRegister74HC595.h>
#include <math.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
ShiftRegister74HC595<3> sr (2,3,4);
byte zero=0;
const int minusButton=8;
const int plusButton=9;
static int secPins [2][4]={{0,1,2,3},{4,5,6,7}};// first units then dec
static int minPins [2][4]={{8,9,10,11},{12,13,14,15}};
static int hourPins [2][4]={{16,17,18,19},{20,21,22,23}};
DateTime last=(2020,03,06,00,00,00,00);
byte decToBcd(byte val) {
return ((val/10*16) + (val%10));
}
byte bcdToDec(byte val) {
return ((val/16*10) + (val%16));
}
void setDateToRTC(byte seconde, byte minutee, byte houre, byte weekDaye, byte monthDaye, byte monthe){
Wire.beginTransmission(DS1307_ADDRESS);
Wire.write(zero); //stop Oscillator
Wire.write(decToBcd(seconde));
Wire.write(decToBcd(minutee));
Wire.write(decToBcd(houre));
Wire.write(decToBcd(weekDaye));
Wire.write(decToBcd(monthDaye));
Wire.write(decToBcd(monthe));
Wire.write(decToBcd(byte(2021)));
Wire.write(zero); //start
Wire.endTransmission();
}
void ClockHourWrite(){// get time and prints on the clocks digits
DateTime now = rtc.now();
Serial.println(String(now.second())+":"+now.minute()+":"+now.hour());
Serial.println(now.second());
nixieWrite(secPins[0],now.second()%10);//sec unit
if(floor(last.second()/10)!=floor(now.second()/10)){nixieWrite(secPins[1],floor(now.second()/10));}//sec dec
if(last.minute()%10!=now.minute()%10){nixieWrite(minPins[0],now.minute()%10);}
if(floor(last.minute()/10)!=floor(now.minute()/10)){nixieWrite(minPins[1],floor(now.minute()/10));}
if(last.hour()%10!=now.hour()%10){nixieWrite(hourPins[0],now.hour()%10);}
if(floor(last.hour()/10)!=floor(now.hour()/10)){nixieWrite(hourPins[1],floor(now.hour()/10));}
last=now;
}
void ClockDateWrite(){// get time and prints on the clocks digits
DateTime now = rtc.now();
Serial.println(String(now.day())+":"+now.month()+":"+now.year()%2000);
if(last.day()!=now.day()){
nixieWrite(secPins[0],(now.year()%2000)%10);
nixieWrite(secPins[1],floor((now.year()%2000)/10));
nixieWrite(minPins[0],now.month()%10);
nixieWrite(minPins[1],floor(now.month()/10));
nixieWrite(hourPins[0],now.day()%10);
nixieWrite(hourPins[1],floor(now.day()/10));
last=now;
}
}
void ClockCustomWrite(){
//This will be custom number to display
}
void nixieWrite(int pins[],uint8_t value){// gets set of pins for nixie digit and number, and sends it to
sr.set(pins[3],(value & 0x08) >> 3);
sr.set(pins[2],(value & 0x04) >> 2);
sr.set(pins[1],(value & 0x02) >> 1);
sr.set(pins[0],value & 0x01);
}
/*
BLYNK_CONNECTED() {
// Synchronize time on connection
Wrtc.begin();
}
*/
int mode=1;
void clockLoop(){
Serial.println("clockLoop");
//Blynk.syncVirtual(V10);
//Blynk.syncVirtual(V9);
if(mode==1){
ClockHourWrite();
}
else if(mode==2)
ClockDateWrite();
else //mode 3
ClockCustomWrite();
}
//char buf[30];
void setup()
{
// Debug console
Serial.begin(9600);
// Set ESP8266 baud rate
EspSerial.begin(ESP8266_BAUD);
delay(100);
Blynk.begin(auth, wifi, ssid, pass);
Serial.println("connected up!");
timer.setInterval(1000L, clockLoop);//every second call clockloop function
//rtc thing:
if (! rtc.begin()) {
Serial.println("rtcNotRunning");
}
//if (! rtc.isrunning()) {
//setDateToRTC(second(),minute(),hour(),weekday(),day(),month());
DateTime now = rtc.now();
Serial.println(String(now.second())+":"+now.minute()+":"+now.hour()+" "+now.year());
nixieWrite(hourPins[1],floor(now.hour()/10));
nixieWrite(hourPins[0],now.hour()%10);
nixieWrite(minPins[1],floor(now.minute()/10));
nixieWrite(minPins[0],now.minute()%10);
nixieWrite(secPins[1],floor(now.second()/10));
nixieWrite(secPins[0],now.second()%10);
}
BLYNK_WRITE(V10) // V10 is the number of Virtual Pin
{
if(param.asInt()==mode){return;}
switch(param.asInt()){//change DisplayMode
case 1:
{
mode=1;
Serial.println("hour");
DateTime now = rtc.now();
nixieWrite(hourPins[1],floor(now.hour()/10));
nixieWrite(hourPins[0],now.hour()%10);
nixieWrite(minPins[1],floor(now.minute()/10));
nixieWrite(minPins[0],now.minute()%10);
nixieWrite(secPins[1],floor(now.second()/10));
nixieWrite(secPins[0],now.second()%10);
break;
}
case 2:
{
mode=2;
Serial.println("date");
DateTime now = rtc.now();
nixieWrite(secPins[0],(now.year()%2000)%10);
nixieWrite(secPins[1],floor((now.year()%2000)/10));
nixieWrite(minPins[0],now.month()%10);
nixieWrite(minPins[1],floor(now.month()/10));
nixieWrite(hourPins[0],now.day()%10);
nixieWrite(hourPins[1],floor(now.day()/10));
break;
}
case 3:
{
mode=3;
Serial.println("Custom");
break;
}
}
}
BLYNK_WRITE(V9)// set time to RTC from Blynk server
{
if(param.asInt()==1){
setDateToRTC(second(),minute(),hour(),weekday(),day(),month());
}
}
void loop()
{
Blynk.run();
timer.run();
}