SMDByte LAB · Recuperación USB del ESP32-C3

← Todos los LAB

SMDBYTE LAB · SOLUCIONES · NIVEL INICIAL

¿Tu ESP32-C3 no aparece por USB?

Recupera el puerto, configura Arduino IDE y comprueba la comunicación con una prueba sencilla. Empieza por lo básico antes de dar tu placa por perdida.

ESP32-C3 · USB nativo · BOOT / RST
ESP32-C3 SuperMini SMDByte

Primero: ¿qué significa «no lo reconoce»?

Que el LED se encienda solo confirma alimentación. Para programar necesitas que el computador detecte un dispositivo USB y que el IDE pueda abrir su puerto.

No aparece ningún dispositivo

Empieza por cable, puerto USB y modo de descarga. Cambiar el baud rate no arregla un cable sin datos.

Aparece, pero no sube o no imprime

Revisa el puerto seleccionado, el perfil de placa y la salida Serial. Son problemas distintos.

01 · Prepara una prueba simple

  • Usa un cable USB de datos comprobado y un puerto directo del computador.
  • Desconecta primero el USB; retira sensores, pantalla y cables de los GPIO. Luego conecta solo la placa por USB.
  • Cierra otros monitores serie y aplicaciones que puedan ocupar el puerto.
  • Confirma que tu placa es ESP32-C3. Esta guía se centra en SuperMini con USB nativo. Si lleva un puente CH340 o CP210x, revisa la alternativa al final.

Necesitas: placa, cable de datos, computador y Arduino IDE. No hace falta montar un circuito.

RECUPERACIÓN USB

02 · El orden de los botones sí importa

Con la placa conectada al computador, identifica los botones por sus etiquetas. RESET puede aparecer como RST o EN; su posición cambia entre placas.

  1. 1

    Mantén BOOT

    Presiona BOOT y no lo sueltes todavía.

    BOOT presionadoRST libre
  2. 2

    Pulsa y suelta RST

    Da un toque a RST mientras sigues manteniendo BOOT.

    BOOT presionadoRST: pulsar → soltar
  3. 3

    Suelta BOOT

    Ahora libera BOOT y espera a que aparezca el puerto USB.

    BOOT libreRST libre

Resultado esperado: la placa entra en modo de descarga para recibir un programa. Este procedimiento por sí solo no borra el programa guardado.

Vuelve a seleccionar el puerto en Arduino IDE. Puede cambiar después de reiniciar. Si tu placa no tiene RST, desconecta USB, mantén BOOT, conecta USB y luego suelta BOOT.

03 · Configura Arduino IDE para tu C3

Instala el paquete esp32 de Espressif Systems desde el gestor de placas. Estos nombres corresponden al menú Herramientas; las opciones visibles dependen de la placa y versión del paquete.

Opción Qué seleccionar
Placa El perfil exacto de tu placa. Si no existe para tu SuperMini, usa ESP32C3 Dev Module, nunca ESP32 Dev Module ni ESP32S3.
Puerto El que aparece al conectar o recuperar esta placa. No copies un número COM de otra guía.
USB CDC On Boot Enabled para usar Serial por USB nativo con el programa de esta guía.
Upload Speed Si la carga por UART falla a velocidad alta, prueba 115200. En USB nativo no es una solución para un dispositivo que no aparece.
Flash Size / Partition Scheme Deben corresponder a la memoria real. Selecciona 4 MB solo si tu variante está confirmada como 4 MB. Mantén una partición compatible.
Otros ajustes Conserva los del perfil de placa salvo indicación del fabricante. No copies ajustes de PSRAM ni USB DFU de una ESP32-S3.
Monitor serie 115200 baudios, igual que Serial.begin(115200) en el programa. Este ajuste es distinto de Upload Speed.

USB CDC On Boot configura el programa que vas a cargar. Activarlo en el IDE, sin cargar el programa, no cambia lo que ya está ejecutando la placa.

04 · Carga un programa mínimo

Guarda primero tu proyecto anterior: al subir esta prueba se reemplaza el sketch de la placa. No necesitas bibliotecas adicionales ni conocer el pin del LED.

#include <Arduino.h>

void setup() {
  Serial.begin(115200);
  delay(1500);
}

void loop() {
  static unsigned long contador = 0;
  Serial.print("SMDBYTE LAB | ESP32-C3 USB OK | ");
  Serial.println(contador++);
  delay(1000);
}

Para utilizar el programa, copia el código de arriba en un nuevo sketch de Arduino IDE y guárdalo como smdbyte_c3_usb_test.ino.

Abre el archivo en Arduino IDE y acepta crear la carpeta del mismo nombre si lo solicita.

  1. Entra en modo de descarga y selecciona su puerto.
  2. Verifica los ajustes anteriores y pulsa Subir.
  3. Cuando termine correctamente, pulsa y suelta RST sin mantener BOOT.
  4. Revisa de nuevo el puerto y abre el Monitor serie.

Prueba superada: ves «SMDBYTE LAB | ESP32-C3 USB OK» con un contador que aumenta cada segundo.

Esto comprueba carga y salida serie; no diagnostica todos los GPIO, Wi-Fi ni el estado completo del hardware. El ejemplo no ha sido probado físicamente en tu placa.

05 · Si todavía falla, sigue el síntoma

No aparece ni en el sistema operativo

Prueba otro cable de datos, otro puerto directo y otro computador. Repite BOOT → toque RST → soltar BOOT con la placa sin periféricos. En Windows revisa el Administrador de dispositivos; en macOS, Información del Sistema → USB; en Linux, la detección USB y los puertos del sistema.

Si sigue sin enumerar, puede existir un problema de conector, alimentación o hardware. No concluyas que está quemada solo porque el IDE no la muestra.

El sistema la detecta, pero Arduino IDE no muestra el puerto

Reconecta la placa, vuelve a abrir el selector de puerto y reinicia el IDE si no actualiza la lista. En Linux verifica permisos del puerto según tu distribución. Si aparece un dispositivo desconocido o un error de controlador, identifica primero la interfaz USB; no instales controladores al azar.

Se queda en «Connecting…» o aparece «Failed to connect»

Cierra monitores serie externos, confirma el puerto actual y repite la secuencia manual. Comprueba que el perfil sea ESP32-C3 y que no haya periféricos interfiriendo con el arranque. Para conexión por puente UART, prueba una menor velocidad de carga.

Sube correctamente, pero el Monitor serie está vacío

Reinicia sin BOOT, vuelve a seleccionar el puerto y revisa USB CDC On Boot = Enabled para USB nativo. Vuelve a compilar y cargar si cambiaste ese ajuste. Usa el programa mínimo: imprime repetidamente y no espera indefinidamente a que abras el monitor.

El puerto desaparece al ejecutar mi programa

Un sketch puede desactivar el USB, reutilizar sus señales o entrar en reposo. En ESP32-C3, el USB nativo usa GPIO18 (D−) y GPIO19 (D+). Evita usarlos como GPIO mientras dependes de ese USB. Recupera con BOOT/RST, carga la prueba y revisa tu código antes de volver al proyecto.

Mi ESP32-C3 tiene CH340, CP210x o un conector UART

Esa conexión usa un puente USB-serie externo. El controlador debe corresponder al chip real y provenir de su fabricante. Para ver Serial por UART0, normalmente se usa USB CDC On Boot = Disabled. Sigue la documentación de esa placa: los ajustes de USB nativo de esta guía no se aplican directamente.