The driver could not talk to the camera sensor. Error 0x105 means the sensor did not answer on the I2C bus. The usual causes are a loose ribbon cable, wrong pin definitions for your board model, or a weak supply.
What the message means
The camera driver starts the sensor over a small I2C link before it reads any image. If the sensor does not answer, initialisation stops and prints the error code.
Fix it in this order
- Power off and reseat the ribbon cable. Lift the latch, push the cable in fully, close the latch.
- Select the right board in the sketch. The pin definitions for AI-Thinker, M5Stack and other modules differ; use the one that matches your board.
- Power the board from a supply that can give 5 V at 500 mA or more. USB from a weak port causes failed starts.
- In the Arduino IDE, enable PSRAM under Tools if your board has it.
- Keep GPIO 0 free of ground after upload. Held low, it keeps the board in flash mode.
- Try another camera module. Sensors and cables fail, especially on cheap kits.
Why it happens
Camera init failed with 0x105 means the driver could not find the camera sensor. The usual causes are a loose ribbon cable, a camera module that is not the one the code selects, or a pin map that does not match your board.
Re-seat the ribbon cable with the board unpowered, power the board from a supply that can give enough current, and select the right camera model in the sketch for your board (for example CAMERA_MODEL_AI_THINKER on the common ESP32-CAM).
If you see this, do this
| You see | Do this |
|---|---|
| Fails on every start | Cable seating or wrong pin definitions. |
| Works sometimes | Power supply is too weak. |
| Error mentions PSRAM | Enable PSRAM in the board options. |
Related
ESP32 brownout, ESP32 pinout for robotics.
Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.