Evitar tener que resetear esp32 despues de corte electrico

Buenas tardes a todos.

Cuando cargo mi proyecto en mi esp32 con el ide arduino , me funciona bien, si en esta situacion lo reseteo pulsando el boton de la placa, el proyecto vuelve a cargar y sigue funcionando bien, pero si por ejemplo desconecto la fuente de alimentacion y vuelvo a conectarla, el esp32 ya no arranca y tengo que pulsar el boton reset para que carga y funcione el codigo.

He probado tambien a conectarlo a un portatil, para ver el monitor serie, pero la primera vez que lo conectas al usb, ni por el monitor serie muestra la informacion, una vez pulsado el boton reset como siempre vuelve a funcionar.

Como ejemplo he probado este codigo.

Hay alguna forma de evitar que ante un corte de suministro electrico, cuando la electricidad vuelve haya que pulsar el boton de reset?

Añadir que ahora mismo no tengo nada conectado al esp32, lo uso solo para que se comunique con el bot de telegram y el esp32 alimentado por usb.

Gracias

Hi,
Con el esp32 hay un problema cuando usas pines que son parte del strpping que tiene que ver con el reset. Alguos resolvieron el problema no usando el pin 12, Si estas uando el pin 12 remuevelo y trata a ver si resuelve el problema. Si quires mas informacion haz un googlg " esp32 strapping pins".

Gracias por la respuesta tauro0221, pero he revisado y ningun pin me coincide con el 0,2,12 o 15 que supuestamente son los causantes del problema.

He cambiado a conciencia, para que todos los pines sean el mismo, poniendolos a LOW y luego HIGH para tratar de descartar, a pesar de que no coincidian con los que supuestamente causan el problema.

Sigo en el mismo punto, mi esp32 despues de un corte electrico se queda zombie y no carga el programa hasta que pulsas el boton de reset.

Agradezco cualquier idea, aunque luego no sea solucion, sin duda la probare, porque el proyecto que quiero hacer hara que el esp32 no esta accesible , por lo que al primer corte de suministro dejaria de funcionar.

Moderador
Por favor edita tu post usando etiquetas enlace.

Normas del foro

Si es asi como dices prueba con un simple código como Blink (parpadeo de un led) a ver si pasa lo mismo.
Tu programa es mas complejo como para hecharle la culpa al ESP32 o a su autoreset.

tambien te recomendaría que agregues un blink a esta porción del código como para ver si se queda buscando la red cosa que podría ser la causante del problema.

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    digitalWrite(PINLED, HIGH)
    delay(250);
    digitalWrite(PINLED, LOW);
    delay(250);
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

define PINLED con el que uses.

Gracias surbyte. Acabo de hacerlo, he cargado este codigo

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.println("hola mundo");
}

Y aun asi, subo el codigo y la salida serial se ve bien. Desconecto el usb, veo el cambio en el monitor serial, lo conecto de nuevo y vuelvo a ver el cambio en el monitor serial (detecta que esta conectado), pero ya no muestra ninguna informacion.

Si a vosotros os funciona siguiendo esta forma de hacer, seguro el problema esta en mi esp32. Acabo de pedir a amazon unos nuevos pq este problema ya me tiene desesperado.

Algo le pasa al bootloader. Tal vez simplemente no lo tenga.
Una reprogramación del firmware resolvería el problema.

En este foro se ha comentado. A ver si lo encuentro y te coloco acá como hacerlo.

Moderador
He editado tu enlace ya que pudiste responder pero no le prestaste atención a mi reclamo.
Tienes la primer advertencia.

Podria ser perfectamente lo que cuentas surbyte. Si me pasas la informacion lo hago y reporto resultado.

Por ahora puedo decir que pedi esp32 nuevos y con estos el codigo funciona bien ante un corte electrico.

Queda pendiente por si es solucion recargar el boot.

yo poseo dos esp32 y no tienen el problema que comentas, espero que los que encargue no tengan ese problema :confused:

Hi,
Una pregunta que tipo de power supply alimentas al micro.

En los esp32 nuevos no se da ese problema y lo que comentaba surbyte puede ser el problema.

La alimentacion con los esp32 que fallan hice de todo, desde alimentar con una fuente regulable, pasando por el usb de pc, portatil etc... en todos fallan.

Con los nuevos da igual con que alimente, siempre funciona.

Hay un firmware que se carga con ESP-Tools

Lee este hilo, al final la persona del problema al igual que tu, lo resuelve como he dicho.

Acá esta ESPTool.py y mas de cómo hacerlo
Lee atentamente. No es dificil pero hay que estar seguro.