Aller au contenu

ESP32-CAM Troubleshooting

Guide de depannage pour les problemes courants de l'ESP32-CAM.

PSRAM - Frame Buffer Malloc Failed

Erreur

cam_hal: Allocating 3276 Byte frame buffer in PSRAM
cam_hal: frame buffer malloc failed
camera: Camera config failed with error 0xffffffff

Cause

La camera est detectee mais l'initialisation echoue car la memoire PSRAM n'est pas disponible ou mal configuree. L'ESP32 tente d'allouer le frame buffer en PSRAM mais echoue.

Solution via menuconfig

cd espilon_bot
idf.py menuconfig

Naviguer vers:

Component config
  --> ESP32-specific
      --> Support for external, SPI-connected RAM

Activer les options suivantes:

[*] Support for external, SPI-connected RAM
    SPI RAM config  --->
        [*] Initialize SPI RAM during startup
        [*] Run memory test on SPI RAM initialization
        (Make RAM allocatable using malloc()) SPI RAM access method

Configuration recommandee

Option Valeur Description
Support for external, SPI-connected RAM Enabled Active le driver PSRAM
Initialize SPI RAM during startup Enabled Initialise au demarrage
Run memory test on SPI RAM initialization Enabled Verifie l'integrite
SPI RAM access method Make RAM allocatable using malloc() Permet au driver camera d'allouer les buffers

sdkconfig.defaults

Ajouter ces lignes pour une configuration persistante:

CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_USE_MALLOC=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384

Verification

Apres le flash, verifier dans la sortie serie:

I (xxx) spiram: Found 64MBit SPI RAM device
I (xxx) spiram: SPI RAM mode: flash 40m sram 40m
I (xxx) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
I (xxx) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): DRAM
I (xxx) heap_init: At 3FFC0000 len 0001F000 (124 KiB): DRAM
I (xxx) heap_init: At 3FF80000 len 0000C000 (48 KiB): IRAM
I (xxx) spiram: Adding pool of 4096K of external SPI memory to heap allocator

Camera Non Detectee

Erreur

camera_init: Camera probe failed with error 0x105

Causes possibles

  1. Cable ruban mal connecte
  2. Alimentation insuffisante
  3. Module camera defectueux

Solutions

  1. Verifier le cable ruban
  2. Deconnecter et reconnecter fermement
  3. Verifier l'orientation (contacts vers le bas)

  4. Verifier l'alimentation

  5. Utiliser une alimentation 5V 1A minimum
  6. Les adaptateurs USB-Serie ne fournissent souvent pas assez de courant

  7. Tester avec un autre module camera


Brownout / Redemarrage

Erreur

Brownout detector was triggered

Cause

Alimentation insuffisante, surtout pendant la capture ou le streaming.

Solutions

  1. Alimentation externe 5V 1A+
  2. Ajouter un condensateur 100uF entre VCC et GND
  3. Reduire la resolution de capture
  4. Desactiver le flash LED pendant la capture
c3po> send cam_agent capture_settings flash off

Qualite d'Image Mediocre

Symptomes

  • Images floues
  • Images sombres
  • Bruit excessif

Solutions

  1. Nettoyer l'objectif avec un chiffon microfibre

  2. Ajuster la qualite JPEG (0-63, plus bas = meilleur)

    c3po> send cam_agent capture_settings quality 8
    

  3. Ajuster la luminosite (-2 a 2)

    c3po> send cam_agent capture_settings brightness 1
    

  4. Utiliser le flash en conditions de faible luminosite

    c3po> send cam_agent capture_settings flash on
    


Deconnexion WiFi pendant le Streaming

Cause

Bande passante insuffisante ou signal faible.

Solutions

  1. Reduire la resolution

    c3po> send cam_agent capture_settings resolution QVGA
    

  2. Reduire le framerate

  3. Rapprocher l'ESP32-CAM du point d'acces

  4. Utiliser une antenne externe (si disponible)


Conflit SD Card / Flash LED

Probleme

Le GPIO 4 est partage entre le flash LED et le SD card DATA1.

Solution

Ne pas utiliser la carte SD et le flash LED simultanement. Choisir l'un ou l'autre selon le cas d'usage.


Logs de Debug

Pour obtenir plus d'informations de debug:

idf.py menuconfig

Naviguer vers:

Component config
  --> Log output
      --> Default log verbosity: Debug

Puis rebuild et reflash:

idf.py build
idf.py -p /dev/ttyUSB0 flash monitor

Voir aussi: ESP32-CAM Guide | Troubleshooting General