Saltar a contenido

Errores Comunes ESP32 — Quick Reference

referencia

Entorno y toolchain

Error Solucion
idf.py: command not found source ~/esp/esp-idf/export.sh
Compilacion falla con errores de toolchain idf.py set-target esp32s3 (o esp32c3)
Submodulos faltantes git submodule update --init --recursive

Hardware

Error Solucion
dmesg no detecta la placa Cable USB de solo carga. Cambiar cable
Permission denied en /dev/ttyACM0 sudo usermod -aG dialout $USER + cerrar sesion completa
Sensor I2C/1-Wire no responde Verificar pull-up de 4.7K ohm
Sensor no lee bien Verificar alimentacion 3.3V (NO 5V!)

Programacion

Error Solucion
delay() no existe Usar vTaskDelay(pdMS_TO_TICKS(ms))
printf sin timestamp Usar ESP_LOGx(TAG, ...)
NVS datos no persisten Olvidaste nvs_commit() despues de nvs_set_*()
WiFi falla al init nvs_flash_init() ANTES de esp_wifi_init()
ESP-NOW no init esp_wifi_start() ANTES de esp_now_init()
ESP-NOW no recibe Verificar que sender y receiver estan en el MISMO canal WiFi
Broadcast siempre "SUCCESS" Normal — broadcast no tiene ACK. Usar unicast para verificar
ADC satura en 1V Configurar atenuacion: ADC_ATTEN_DB_12 para rango 0-3.3V
ADC da basura con WiFi Usar ADC1, no ADC2 (ADC2 comparte hardware con WiFi)
Struct tiene tamano incorrecto Agregar __attribute__((packed))
deep sleep consume mucho UART/GPIO no desactivados antes de dormir
RTC variable siempre 0 Falta static o RTC_DATA_ATTR, o es cold boot

Memoria

Error Solucion
Stack overflow (crash) Aumentar stack de la tarea (default 4KB)
Heap se agota Verificar cJSON_Delete() y free() despues de cada uso
guru meditation error Null pointer, stack overflow, o division por cero. Ver backtrace

Dashboard embebido (Preact SPA en SPIFFS)

Error Solucion
HTTP 404 al pedir / SPIFFS no montada, o archivo index.html no en la particion SPIFFS
Build Vite no genera dist/ Ejecutar npm run build dentro de firmware/gateway/web/
SPIFFS llena al flashear Verificar idf.py partition-table: la particion SPIFFS debe tener suficiente espacio
WebSocket se desconecta El servidor no envia keepalive. Implementar ping cada 30s o reconectar en cliente
CORS en fetch desde la SPA Agregar Access-Control-Allow-Origin: * en las respuestas REST del HTTP server
Valores de sensor no actualizan WebSocket no suscrito al topic correcto, o el gateway no publica al conectar un nuevo cliente

Ver tambien

  • [[ESP-IDF]]
  • [[FreeRTOS]]
  • [[NVS]]
  • [[REST-API]]
  • [[WebSocket]]