Wifi connection issue - Arduino cloud

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13160
load:0x40080400,len:3036
entry 0x400805e4
Debounced ButtonRead Task running on core 1
***** Arduino IoT Cloud - configuration info *****
Device ID: e928cbf2-8247-4267-b4cf-e2c76d78d38a
MQTT Broker: mqtts-up.iot.arduino.cc:8884
WiFi.status(): 255
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds
Connection to "VM" failed
Retrying in "4000" milliseconds

sketch:
/*
Sketch generated by the Arduino IoT Cloud Thing "Untitled"
https://create.arduino.cc/cloud/things/adef7558-3a55-4c7d-9f36-92ca186a0b54

Arduino IoT Cloud Variables description

The following variables are automatically generated and updated when changes are made to the Thing

int contador;

Variables which are marked as READ/WRITE in the Cloud Thing will also have functions
which are called when their values are changed from the Dashboard.
These functions are generated with the Thing and added at the end of this sketch.
*/

#include "thingProperties.h"
#include
#include <stdio.h>
#include <LiquidCrystal_I2C.h>

#define pinCOUNTER 14//pino de interrupção (botão)
#define DEBOUNCETIME 10 //tempo máximo de debounce para o botão (ms)

//É DECLARADA VOLÁTIL PORQUE SERÁ COMPARTILHADA PELO ISR E PELO CÓDIGO PRINCIPAL
volatile int numberOfButtonInterrupts = 0; //número de vezes que a interrupção foi executada
volatile bool lastState; //guarda o último estado do botão quando ocorreu a interrupção
volatile uint32_t debounceTimeout = 0; //guarda o tempo de debounce

//variáveis para controle dentro do loop
uint32_t saveDebounceTimeout;
bool saveLastState;
int save;
int count = 0;

// set the LCD number of columns and rows
int lcdColumns = 16;
int lcdRows = 2;

// set LCD address, number of columns and rows
// if you don't know your display address, run an I2C scanner sketch
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);

// For setting up critical sections (enableinterrupts and disableinterrupts not available)
// used to disable and interrupt interrupts
// Para configurar seções críticas (interrupções de ativação e interrupções de desativação não disponíveis)
// usado para desabilitar e interromper interrupções
portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;

void IRAM_ATTR handleButtonInterrupt();
void onContadorChange();

void setup() {

// Defined in thingProperties.h
initProperties();

// Connect to Arduino IoT Cloud
ArduinoCloud.begin(ArduinoIoTPreferredConnection);

// initialize LCD
lcd.init();
// turn on LCD backlight
lcd.backlight();
//entrada sinal: sensores

Serial.begin(115200);
String taskMessage = "Debounced ButtonRead Task running on core ";
taskMessage = taskMessage + xPortGetCoreID();
Serial.println(taskMessage); //mostra o core que o botão está executando

pinMode(pinCOUNTER, INPUT); // Pull up to 3.3V on input - some buttons already have this done

attachInterrupt(digitalPinToInterrupt(pinCOUNTER), handleButtonInterrupt, CHANGE); //configura a interrupção do botão no evento CHANGE para a função handleButtonInterrupt

setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}

void loop() {

ArduinoCloud.update();

// set cursor to first column, first row
lcd.setCursor(0, 0);
// print message
lcd.print("#Projeto_IoT#");

portENTER_CRITICAL_ISR(&mux); // início da seção crítica
save = numberOfButtonInterrupts;
saveDebounceTimeout = debounceTimeout;
saveLastState = lastState;
portEXIT_CRITICAL_ISR(&mux); // fim da seção crítica

bool currentState = digitalRead(pinCOUNTER); //recupera o estado atual do botão

//se o estado do botão mudou, atualiza o tempo de debounce
if(currentState != saveLastState)
{
  saveDebounceTimeout = millis();
}

//se o tempo passado foi maior que o configurado para o debounce e o número de interrupções ocorridas é maior que ZERO (ou seja, ocorreu alguma), realiza os procedimentos
if( (millis() - saveDebounceTimeout) > DEBOUNCETIME && (save != 0) )
{
       //se o botão está pressionado
       //liga o led verde e apaga o vermelho
       //caso contrário 
       //liga o led vermelho e apaga o verde
       if(currentState) {              
          
          count++;
          onContadorChange();

        }
        else{

          

        }
        Serial.printf("Button Interrupt Triggered %d times, current State=%u, time since last trigger %dms\n", save, currentState, millis() - saveDebounceTimeout);
        portENTER_CRITICAL_ISR(&mux);  //início da seção crítica
          numberOfButtonInterrupts = 0; // reconhece que o botão foi pressionado e reseta o contador de interrupção //acknowledge keypress and reset interrupt counter
        portEXIT_CRITICAL_ISR(&mux); //fim da seção crítica
}

// set cursor to first column, second row
lcd.setCursor(0, 1);
lcd.print("Contador:");
lcd.setCursor(9, 1);
lcd.print(count);

}

// Interrupt Service Routine - Keep it short!
//Interrupção
//Interrompe a rotina de serviço
//IRAM_ATTR --> é utilizado para indicar que esse trecho de código ficará na seção do barramento de instruções da RAM (maior velocidade) e não na Flash
//portENTER_CRITICAL_ISR /´portEXIT_CRITICAL_ISR --> Isso é necessário porque a variável que vamos usar também é alterada pelo loop principal,
//como visto anteriormente, e precisamos evitar problemas de acesso simultâneo.
void IRAM_ATTR handleButtonInterrupt() {
portENTER_CRITICAL_ISR(&mux);
numberOfButtonInterrupts++;
lastState = digitalRead(pinCOUNTER);
debounceTimeout = xTaskGetTickCount(); //versão do millis () que funciona a partir da interrupção //version of millis() that works from interrupt
portEXIT_CRITICAL_ISR(&mux);
}

/*
Since Contador is READ_WRITE variable, onContadorChange() is
executed every time a new value is received from IoT Cloud.
*/
void onContadorChange() {
contador++;
}

@glauciomuniz is WiFi working using a simpler sketch?

Im not test yet, but its works in the Arduino IDE and I can upload the code but stay offline in the dashboard...

Can you double check your WIFI credentials?
What board are you using? Is it possible that you are using a GPIO that might be conflicting with the WIFI on your board?