ESP32-CAM: lo que debes saber sobre este módulo

ESP32-CAM

Ya hemos publicado sobre el módulo WiFi para Arduino en otra ocasión, pero esta vez se trata del módulo ESP32-CAM, un módulo WiFi ESP32 con una pequeña cámara de vídeo incorporada. Esto le permite nuevas funciones, como las de vigilancia o espionaje remoto capturando todo lo que ocurre cuando tú no estás y enviarlo a cualquier dispositivo para su grabación o para poder ver in-situ.

Casi todo lo dicho para el módulo WiFi que ya tratamos, valdría para este, solo que tiene algunas pequeñas peculiaridades además de la cámara integrada. Pero todo lo que necesitas saber lo vamos a mostrar en esta guía…

¿Qué es el ESP32-CAM?

El ESP32-CAM es un módulo que puedes usar con multitud de proyectos, y con Arduino. Es un completo módulo con un microcontrolador integrado, lo que lo puede hacer funcionar de forma independiente. Además de la conectividad WiFi+Bluetooth, este módulo también cuenta con una cámara de vídeo integrada, y con una ranura microSD para almacenar.

Este módulo no es nada caro, y puede tener multitud de aplicaciones. Desde algunas simples de IoT, como otras más avanzadas para el seguimiento y reconocimiento de imagen usando IA, e incluso como sistema de vigilancia para comprobar lo que sucede en un lugar de forma remota estés donde estés…

Comprar uno

El módulo ESP32-CAM no es nada caro, como he dicho, por unos cuantos euros puedes tener uno. Y lo puedes encontrar fácilmente en algunas tiendas especializadas o en Amazon. Por ejemplo, aquí tienes algunas recomendaciones a buen precio:

Como ves, no es nada caro…

Características técnicas del ESP32-CAM (datasheet)

El módulo ESP32-CAM tiene algunas características técnicas muy interesantes que puedes ver en el datasheet del fabricante. Aquí te resumo las más importantes:

  • Conectividad: WiFi 802.11b/g/n + Bluetooth 4.2 con BLE. Soporta carga de imagen por WiFi.
  • Conexiones: UART, SPI, I2C, y PWM. Tiene 9 pines GPIO.
  • Frecuencia de reloj: hasta 160Mhz.
  • Potencia de cómputo del microcontrolador: hasta 600 DMIPS.
  • Memoria: 520KB de SRAM +  4MB de PSRAM + SD slot para tarjetas
  • Extras: tiene múltiples modos de reposo, firmware actualizable por OTA, y LED para uso de memoria flash built-in.
  • Cámara: soporta cámaras OV2640 que pueden venir en el pack o comprarse independientemente. Este tipo de cámaras tienen:
    • 2 MP en su sensor
    • Tamaño de arreglo UXGA de 1622×1200 px
    • Formato de salida YUV422, YUV420, RGB565, RGB555 y compresión de datos de 8-bit.
    • Puede transferir imagen entre 15 y 60 FPS.

Pinout

pinout ESP32-CAM

El pinout del ESP32-CAM es muy simple, como puedes observar en el diagrama anterior. Y la cámara, va conectada al conector que hay habilitado para ello. Después, con el ejemplo de Arduino, entenderás mejor cómo se conecta y para qué sirve cada uno, aunque ya te puedes ir haciendo una idea.

Por cierto, aunque no aparezca en la imagen, también suelen tener un conector redondo en la PCB que sirve para conectar cables de antenas externas en algunos casos. Suele estar junto a la chapa metálica del socket SD.

Puedes usar un adaptador externo FTDI para conectar este módulo y que te sea más sencillo su control. Eso permite el uso de un puerto tipo miniUSB en vez del cableado del ESP32-CAM. Para usar uno de estos módulos, puedes conectarlo así:

  • Configura el módulo FTDI para trabajar a 3.3v.
  • Puentea el pin GPIO 0 y GND del módulo ESP32-CAM.
  • El pin 3v3 del módulo debe ir conectado a Vcc del FTDI.
  • El GPIO 3 (UOR) del módulo irá al TX del FTDI.
  • GPIO 1 (U0T) del módulo va a RX del FTDI.
  • Y el otro GND del ESP32-CAM con GND del módulo FTDI.

Ahora ya dispones de una interfaz tipo USB, lo que puede facilitar la conexión de tu proyecto…

Integración con Arduino IDE

FTDI, ESP32-CAM Arduino

Para poder integrar con FTDI, la conexión es muy sencilla. Tan solo tienes que hacer lo siguiente:

  • Conecta la conexión de 5v del módulo ESP32-CAM al Vcc del módulo FTDI.
  • Conecta GND del módulo ESP32-CAM a GND del módulo FTDI.
  • TX0 de la placa FTDI va a GPIO 3 (U0RXD).
  • RXI de la placa FTDI va a GPIO 1 (U0TXD).
  • Y puentea GPI0 y GND de la placa ESP32-CAM.

Ahora ya podrás conectarla al equipo mediante un cable USB a través del módulo FTDI. Otra opción es conectarlo a Arduino directamente, sin usar el módulo FTDI. Pero veamos el caso con el FTDI que es mejor para la mayoría de los casos…

Los pasos a seguir para configurar y programar todo para que funcione:

  1. Para poder cargar código en la placa, tienes que conectar el USB a tu PC.
  2. El siguiente paso es instalar la biblioteca ESP32 para poder aprovechar ésta. Para eso, desde Arduino IDE ve a Archivo > Preferencias > Allí, en el campo para añadir URL, añade: https://dl.espressif.com/dl/package_esp32_index.json y pulsa Aceptar. Ahora ve a Herramientas > Placa > Gestor de placas > busca ESP32 y pulsa instalar “ESP32 by Espressif Systems».
  3. Luego abre Arduino IDE > Herramientas > Placas > selecciona AI-Thinker ESP32-CAM (deberás tener instalado el addon ESP32 para que aparezca dicha opción en el menú). Después ve a Herramientas > Puerto y selecciona COM, donde está conectada tu placa.
  4. Ahora, puedes cargar un sketch en la placa, para que sea más simple, usa uno de los ejemplos vea Archivo > Ejemplo > ESP32 > Camera > CameraWebServer. Una vez hecho, cuando aparezca el mensaje de que se cargó con éxito, quita el cable del pin GPIO 0 de GND y presiona el botón Reset de la placa.
  5. Por último, puedes usar y comenzar a ver los resultados en la interfaz web… Cuando lo ejecutes, te dará en el monitor una URL con una IP que debes insertar en tu navegador web para acceder. Desde ella se pueden ajustar parámetros y ver lo que se ve desde el sensor de la cámara.

Evidentemente, puedes hacer mucho más aprovechando las capacidades WiFi y Bluetooth de este módulo. Recuerda que el límite es tu imaginación. Aquí simplemente te muestro una introducción sencilla…

Más información – Curso Arduino gratis


3 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

      Manuel dijo

    Buenas tardes.
    Está todo perfectamente explicado, y el programa carga perfectamente, pero cuando reseteo la ESP32 para que detecte en wifi en monitor serie me sale siempre el mismo error de la cámara:

    E (873) camera: Camera probe failed with error 0x105(ESP_ERR_NOT_FOUND)
    Camera init failed with error 0x105

    ¿Qué puede ocurrir?.
    Gracias de antemano.

         Isaac dijo

      Hola,
      Es muy probable que sea por el conector del módulo de la cámara o por una alimentación inadecuada.
      Intenta verificar esas dos cosas.
      Un saludo.

      DOMINGO V. CORTES dijo

    BUENOS DIAS TENGO UNA ESP32 CAM Y CUANDO LA SUBO EL CODIGO EL MODULO NO ENCUENTRA NI LA URL NI LA IP
    LA ESTOY PROGRAMANDO CON EL ESP CAM MB
    ¿ME PUEDEN ALLUDAR SOY NUEVO EN ESTO ?
    MUCHAS GRACIAS.