0Pricing
Arduino & IoT Academy · Lección

Revertir una actualización defectuosa

Recupérese de forma segura cuando falle una carga.

Revertir una actualización defectuosa es una lección gratuita de Arduino & IoT Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Arduino & IoT Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Updates Can Go Wrong

Even careful OTA pushes sometimes ship broken code. A solid plan needs a way to roll back to firmware that actually worked.

The Brick Risk

If new firmware can't connect to WiFi, you lose OTA itself. Without a safety net the device becomes a useless brick.

Two Partitions Save You

The ESP32 keeps the old app in one slot while flashing the new one into another. The previous build is still intact if needed.

Mark a Build as Trusted

A fresh update boots in a pending state. Your code must prove it works and then confirm the image so it becomes permanent.

esp_ota_mark_app_valid_cancel_rollback();

Self-Test on Boot

Before confirming, run a quick health check: did WiFi connect, did key sensors respond? Only then mark the build valid.

Auto Rollback on Failure

If a pending build crashes or reboots before confirming, the bootloader quietly returns to the last good firmware on its own.

Trigger It Yourself

You can also force a return to the previous image in code with esp_ota_mark_app_invalid_rollback_and_reboot() when a check fails.

esp_ota_mark_app_invalid_rollback_and_reboot();

Use a Watchdog

A watchdog timer resets a frozen board. Paired with rollback, a hung update reboots straight back into working code.

Version Your Firmware

Stamp each build with a version number you can print over Serial, so you instantly know which image is actually running.

#define FW_VERSION "1.4.2"
Serial.println(FW_VERSION);

Test on One Device First

Never push to your whole fleet at once. Update a single canary device, watch it, then roll out widely. 🐤

Always Keep a Recovery Path

Worst case, a USB cable still reflashes any board. Design so a bad OTA is an inconvenience, never a permanent loss.

Quick Check

Consider what happens if new firmware crashes before it confirms itself.

Recap

Keep two partitions, self-test then confirm each build, lean on auto rollback and a watchdog, and always leave a USB recovery path. 🛡️

Preguntas frecuentes

¿La lección «Revertir una actualización defectuosa» es gratis?

Sí — el texto completo de «Revertir una actualización defectuosa» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Arduino & IoT Academy, actualiza a CoddyKit PRO. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Revertir una actualización defectuosa»?

Recupérese de forma segura cuando falle una carga. Practicas Arduino & IoT Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Arduino & IoT Academy?

No se requiere experiencia previa. Arduino & IoT Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Revertir una actualización defectuosa»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Arduino & IoT Academy?

Sí. Cada lección de Arduino & IoT Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué OTA es importante en campo
  2. Activar ArduinoOTA
  3. Alojar una página web de actualización
  4. Revertir una actualización defectuosa
← Volver a Arduino & IoT Academy