ESP32-CAM Development Board

La ESP32-CAM Development Board è una scheda elettronica basata su un SoC (System On Chip) ESP32S, equipaggiata con una videocamera da 2MPixel (OV2640) e uno slot per una memoria Micro SD fino a 4GByte. Sulla scheda è presente un LED ad alta luminosità che può essere impiegato come flash o come illuminatore per la scena da riprendere e alcune linee GPIO per interfacciarsi con il mondo esterno.

Citazione dell’articolo nelle sezioni Arduino e ESP32 di Elettronica In

Descrizione dei pin GPIO

esp32-cam Development Board

esp32-cam Development Board

Descrizione dello schema elettrico

Analizziamo come funziona il modulo ESP32-CAM Development Board , vediamo in dettaglio le varie sezioni che compongono la scheda

esp32-cam Development Board

Circuito ESP-32

Vediamo prima di tutto il circuito del modulo ESP-32 e vediamo tutti i vari pin e la loro funzione

esp32-cam Development Board

Circuito alimentazione

Proseguendo passiamo alla sezione del circuito di alimentazione, questo è formato da tre regolatori lineari: un AMS1117-3.3 che si occupa di convertire i 5V provenienti dall’alimentazione esterna ai 3,3V necessari per il modulo ESP32S. A valle è presente un MOSFET comandato dal segnale CAM_POWER il quale controlla (tramite la libreria Espressif) l’applicazione dei 3,3V ad altri due regolatori, uno da 2,8V ed uno da 1,2V (usati entrambi per alimentare la videocamera).

esp32-cam Development Board

Chip PSRAM

Per poter utilizzare il modulo con delle risoluzioni più elevate è presente di un chip PSRAM.

Circuito miniSD

È presente anche uno slot per la miniSD che può essere utilizzato per memorizzare immagini acquisite dalla camera. Per il funzionamento della microSD servono diversi segnali, alcuni dei quali sono esposti sul connettore del modulo ESP32-CAM, ma se impiegati per la card non si possono utilizzare per altro.

Led di segnalazione

Quanto ai LED, il primo LED1 è collegato al pin GPIO33 e si trova sul lato opposto rispetto alla camera; impegna un pin che non è neppure esposto esternamente.

esp32-cam Development Board

L’altro LED è posizionato frontalmente ed è ad alta luminosità (LED_FLASH) gestito dal GPIO4 e controllato tramite un transistore NPN (Q1).

Il GPIO33 tuttavia è condiviso (HS2_DATA1) con la scheda microSD e quindi lampeggerà mentre la SD sarà in attività. E possibile utilizzare questo LED per illuminare la scena .
A bordo del modulo ESP32-CAM è presente un pulsante di reset K1 del ESP32S collegato a pin E32_RST. Questo pin non è stato reso accessibile dall’esterno.

Connettori

I due pin U0TXD (TX) e U0RXD (RX) che ci permettono di caricare il nostro codice sul modulo ESP32- CAM sono, invece, esposti sul connettore esterno, sul quale è presente anche una seconda seriale U2RXD (RX) utilizzabile nel caso in cui serva ricevere dati tramite seriale. La piedi natura completa del modulo è illustrata nella figura sottostante.

A bordo si trova un’antenna WiFi integrata nel PCB, ma c’è la possibilità di collegare un’antenna esterna tramite un micro connettore IPEX (U.FL) che si trova sul lato inferiore del PCB, in prossimità dell’antenna integrata.
Il segnale di reset della microcamera è derivato da una rete RC composta da R16 e C12 e quindi la camera si resetta automaticamente nella fase di applicazione della tensione di alimentazione.

Alimentazione del modulo ESP32-CAM

il modulo può essere alimentato tramite i pin 5V e GND, in questo caso può essere utilizzata una batteria  LiPo da 3,7V e un modulo DC/DC Step Up converter basato per esempio sull’integrato MT3608.
Se il valore della correste non fosse sufficiente , quello che può accadere alimentando il modulo dalla porta USB è che, a causa della poca corrente erogabile, presenti un comportamenti inaspettato con ripetuti riavvii, blocchi o malfunzionamenti.

esp32-cam Development Board

Dove trovare la ESP32-CAM

Il modulo ESP32-CAM può essere trovato in rete presso molti siti, in Italia lo potrete trovare presso il sito di Futura Elettronica (Cod. 2846-ESP32-CAM ), il costo al momento della pubblicazione di questo articolo è di 16,50 €.

Collegamento del L’ESP32-CAM al PC

Come visto nel precedente paragrafo, il modulo ESP32-CAM è privo di una porta USB per cui, per poterlo programmare tramite un PC, deve essere collegato ad un adattatore USB/Seriale.

 FT232 FT230X CP2102
Ourpcb

Attualmente sono disponibili  varie tipologie di adattatori l’importante e che sia in grado di alimentare l’ESP32 con una tensione di 3.3 volt.
L’ESP32-CAM può’ essere programmato mediante l’IDE di Arduino, opportunamente implementato come vedremo in seguito. Il modulo convertitore dovrà essere collegato come nello schema sotto riportato,

esp32-cam Development Board

I pin GPIO 1 e GPIO 3 gestiscono la comunicazione seriale e sono quindi utilizzati per caricare il programma compilato dall’IDE di Arduino; il pin GPIO 0 e’ invece utilizzato per gestire lo stato del modulo: se e’ connesso a GND il modulo e’ in “flashing mode” può cioè ricevere e memorizzare un programma nella memoria flash, se non e’ collegato a GND il sistema è operativo ed esegue il programma precedentemente memorizzato.

Pin adattatore USBPin ESP32-CAM
VCC (3V)3V3
GNDGND
TXUOR
RXUOT

NOTA: il pin IO0 deve essere connesso a GND durante la programmazione, questo ponticello deve essere tolto a programmazione avvenuta.

Configurazione dell’IDE per la gestione dell’ ESP32-CAM

Il modulo ESP32-CAM è un microcontrollore e, per poterlo utilizzare, è necessario dotarlo di un programma che deve essere predisposto in un ambiente di sviluppo in grado di compilarlo e di farne l’upload su ESP32.
Dando per scontato che abbiate già installato l’IDE in una versione almeno superiore alla 1.8.9.
A questo punto si potrà inserire lo speciale driver per per l’ESP32-CAM ed è quindi necessario:

  • Aprire l’IDE e aprire file ->impostazioni
  • Inserire la stringa https://dl.espressif.com/dl/package_esp32_index.json nella zona “URL aggiuntive
    per il gestore schede” (vedi foto)

  • Premere OK ed attendere l’installazione del software
  • Riaprire l’IDE ed andare in strumenti->scheda->gestore di schede

  • Ricercare “esp32” ed installare esp32 by Espressif System, l’installazione durerà’ qualche secondo.


• Andare in strumenti -> schede e selezionare “ESP32 Wrover Module

  • Collegare la scheda ESP32-CAM Development Board al PC  tramite l’adattatore USB (lo FTDI adapter FT232RL):

  • Selezionare la porta in strumenti->porta, selezionare la porta mostrata dall’iDE.
  • Selezionare lo schema in strumenti->Parititon Scheme-> Huge APP (3MB No OTA/1MB SPIFFS)

A questo punto il sistema è pronto per compilare il programma e caricare il codice su ESP32,  A questo puto possiamo caricare un programma di test per cui seguire i prossimi passi.

  • Caricare il programma CameraWebServer da File->Esempi->ESP32->Camera-
    >CameraWebServer)

  • Indicare all’interno del programma i valori di di SSID e la PASSWORD del vostro router WI-FI al quale si intende connettere l’ESP32, inserendoli nelle istruzioni
  • Selezionare ora il modello del modulo ESP32-CAM che si sta usando (in questo caso il modello AI Thinker),

Assicurarsi che il pin GPIO 0 sia collegato a GND (come appare nello schema). Quindi seguire questi passi

  • Premere il pulsante di reset su ESP32-CAM (per preparalo al caricamento del programma)

esp32-cam Development Board

  • Lanciare la compilazione (il caricamento durerà qualche secondo)
  • Al termine, quando sul monitor apparirà  “Leaving….”

  • Togliere il ponticello di collegamento tra GPIO 0 e GND
  •  Premere nuovamente il pulsante di reset su ESP32-CAM (in modo da avviare il programma appena caricato)
  • Aprire il monitor seriale ad un baud-rate di 115200 (se è diverso, selezionare il baud-rate corretto nella casella di selezione posta in basso a destra): apparirà’ la sequenza di connessione

esp32-cam Development Board

Se non appare la sequenza di connessione o se la compilazione non è andata a buon fine controllare nuovamente tutti settaggi dell’IDE e verificare l’assenza del ponte tra GPIO 0 e GND.
Se tutto ok aprire il browser sul PC, inserire l’URL indicata nel monitor (in questo caso: http://192.168.1.234).

esp32-cam Development BoardSarà possibile avviare lo streaming oppure ottenere delle immagini agendo sui tasti presenti in fondo alla schermata. Agire sui tasti dell’applicazione per migliorare o comunque ottimizzare l’immagine.

Sarà anche possibile modificare l’orientamento dell’immagine se questa non fosse corretta agendo sui tasi H-Mirror e V- Flip.

Utilizzo del modulo ESP32-CAM

A questo punto il modulo ESP32-CAM Development Board è stato programmato e provato, e potrà quindi essere separato dal PC ed essere alimentato da fonte esterna.
il modulo può essere alimentato tramite i pin 5V e GND, in questo caso può essere utilizzata una batteria  LiPo da 3,7V e un modulo DC/DC Step Up converter basato per esempio sull’integrato MT3608.

Prima di utilizzare il modulo,  verificare che la telecamere sia fissata, questo eviterà tremolii, la soluzione migliore è quella di far aderire la telecamera all’alloggiamento della scheda Secure Digital usando, ad esempio, una striscia di nastro biadesivo.
A questo punto appena alimentato il modulo ESP32-CAM si connetterà automaticamente al router wifi e renderà disponibile le immagini a qualunque browser collegato a quel router.
Se la camera non venisse riconosciuta dal browser sul PC, molto probabilmente ha cambiato il proprio indirizzo.  In questo caso occorre trovare il nuovo indirizzo indicato dal router. Per trovarlo occorre far riferimento alla documentazione del proprio modello di router.