Guía de uso de ESP32-CAM
Objetivo
Configurar una ESP32-CAM (sensor GC2145) para tomar fotos y controlarla desde una UI web (resolución, calidad JPEG, AWB, flash y captura), dejando todo listo en Windows 10/11 con Arduino IDE.
Aclaración
Guía elaborada en 2025. Incluye enlaces a páginas oficiales para drivers y el soporte de ESP32 en Arduino IDE. Revísalos por si hay versiones más nuevas.
¿Qué placa/driver USB tengo?
Muchas placas usan CH340/CH341 (WCH) y otras usan CP2102/CP210x (Silicon Labs).
Cómo reconocerlo:
Mira el chip junto al conector USB: si dice CH340/CH341 o CP2102/CP210x, ese es tu driver.
En Administrador de dispositivos → Puertos (COM y LPT) verás algo como:
USB-SERIAL CH340 (COMx) // si es WCH (CH34x)
CP210x USB to UART Bridge (COMx) // si es Silicon Labs (CP210x)
Instalar el driver USB en Windows
Opción A) CH340/CH341 (WCH)
Descarga el instalador oficial (CH341SER.EXE) desde WCH. wch-ic.com
Ejecuta el instalador (permite Windows 11/10/8/7).
Reconecta el adaptador USB–TTL y verifica que aparece un puerto COM. Guia Driver CH340
Opción B) CP210x (Silicon Labs)
Descarga el CP210x USB to UART Bridge VCP Driver desde Silicon Labs. silabs.com
Instala la versión para Windows (x64 en la mayoría de PCs).
Reconecta y comprueba el COM en el Administrador de dispositivos. Guia Driver CP2102
Instalar Arduino IDE + soporte ESP32
Instala Arduino IDE (1.8.x o 2.x).
Abre Archivo → Preferencias y en URL adicionales de gestor de tarjetas pega:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.jsonVe a Herramientas → Placa → Gestor de tarjetas, busca esp32 by Espressif Systems e instala.
Selecciona la placa AI Thinker ESP32-CAM (o ESP32 Wrover Module) y, si existe la opción, activa PSRAM: Enabled.
Cargar el sketch de la UI web
Abre el Arduino IDE y pega el sketch completo. Descargar código
(Opcional) Ajusta credenciales por defecto:
String WIFI_SSID = "TU_SSID";
String WIFI_PASS = "TU_PASSWORD";Conexión física (programación vs ejecución)
Conectar al computador con cable micro usb
Para CARGAR el código debes mantener presionado el botón Flash, luego sin soltarlo debes presionar por un segundo el botón Reset. Sueltas Reset y después Flash.
**Por último le das click a Cagar **
Librerías necesarias
No necesitas instalar librerías extra: el core ESP32 trae WiFi, WebServer, FS/SPIFFS y esp_camera (incluye img_converters.h). Con eso compila el sketch de la UI web.
Primera prueba (Serial + Web)
Abre el Monitor Serie a 115200 (8-N-1).
Conéctate al Wi-Fi:
wifi "Nombre de tu red" "TuClave"
ip
statusInicia servidor:
view // o: server onAbre la URL que aparece (p. ej.
http://192.168.1.152/). Verás la imagen, los controles (res, Q, AWB, Flash) y el botón Tomar foto.
La página usa no-cache + warm-up + seq para mostrar siempre la última foto (evita ver la “penúltima”).
Controles desde la UI
Resolución: desplegable (qqvga…uxga).
Calidad (Q): deslizador (10 = mejor calidad, archivo más grande).
AWB: ON/OFF.
Flash: ON/OFF o AUTO (se enciende durante la captura).
Tomar foto: botón que llama a
/api/snapy actualiza la imagen con?seq=....
Comandos por Serial (atajos)
Comando | Qué hace | Ejemplo |
|---|---|---|
|
|
|
| Conecta al Wi-Fi. Si no pasas argumentos, usa los del sketch. Usa comillas si hay espacios. |
|
| Muestra SSID, IP y RSSI. |
|
| Estado completo: FS, CAM, WiFi, HTTP, RES, Q, AWB, FLASH, FLASH_AUTO, SSID, FOTO, SEQ. |
|
| Escanea redes Wi-Fi cercanas (SSID, RSSI, canal). |
|
|
| Enciende el servidor HTTP y muestra la URL. |
| Apaga el servidor HTTP. |
|
| Toma foto y guarda |
|
| Resolucion de la foto |
|
| Ajusta la calidad JPEG (más bajo = mejor calidad / archivo más grande). |
|
| Activa/desactiva Auto White Balance (colores). |
|
| Enciende/apaga el LED flash (GPIO 4). |
|
| Activa/desactiva flash automático durante la captura. |
|
Solución de problemas
“waiting for download” al reiniciar: estás en modo bootloader (IO0 a GND). Quita el puente IO0–GND y pulsa RESET para ejecutar.
No conecta al Wi-Fi: usa red 2.4 GHz, seguridad WPA2-Personal (AES), revisa la potencia (acércate al router) y valida la clave.
Errores al cambiar resolución (frame buffer malloc failed): falta PSRAM. El sketch reintenta con menos buffers y revierte a la resolución anterior si no alcanza.
Foto no se actualiza: usa el botón Tomar foto o Actualizar imagen de la UI; internamente se fuerza
?seqy cabeceras no-cache.Reinicios/brownout: usa 5 V ≥ 1 A al pin 5V y cables cortos. Random Nerd Tutorials