ESP32-S3 Camera board 0x105 initalization error
Posted: Wed Mar 20, 2024 12:46 am
After dumping 40 hours into this time sink and 2 board revisions later, I'm asking for help. I designed this board after following the ESP32-S3 datasheet and the schematics of several existing espcam boards with the intention of running the OpenIris firmware that's based on the Arduino framework in platformio. The most notable changes between the two revisions is that the first revision does not have length matched camera traces while the second does except for the i2c lines. Some of the second revision's camera traces are using gpio attached to PSRAM due to an oversight but it should still theoretically function as long as PSRAM is disabled. After assembling and testing both revisions, they present this error:
E (11150) camera: Camera probe failed with error 0x105(ESP_ERR_NOT_FOUND)
Schematics and board layout: https://oshwlab.com/epicmadmax/babble-mouth-tracker
Firmware used (Minus custom board definitions): https://github.com/EyeTrackVR/OpenIris
pinouts.ini:
Full output log from the second revision. The first is identical minus the lines about PSRAM.
This is the most complicated project I've worked on to date and any help is greatly appreciated.
Thanks for your time.
E (11150) camera: Camera probe failed with error 0x105(ESP_ERR_NOT_FOUND)
Schematics and board layout: https://oshwlab.com/epicmadmax/babble-mouth-tracker
Firmware used (Minus custom board definitions): https://github.com/EyeTrackVR/OpenIris
pinouts.ini:
Code: Select all
[pinoutsESPS3BABBLEM1]
pwdn_gpio_num = -1
reset_gpio_num = -1
xclk_gpio_num = 4
siod_gpio_num = 48
sioc_gpio_num = 47
y9_gpio_num = 39
y8_gpio_num = 5
y7_gpio_num = 6
y6_gpio_num = 15
y5_gpio_num = 17
y4_gpio_num = 8
y3_gpio_num = 18
y2_gpio_num = 16
vsync_gpio_num = 35
href_gpio_num = 36
pclk_gpio_num = 7
build_flags =
'-DCAMERA_MODULE_NAME="ESP32S3_BABBLEM1"'
-DCONFIG_CAMERA_MODULE_ESP32S3_BABBLEM1=1
-DRESET_GPIO_NUM=${pinoutsESPS3BABBLEM1.RESET_GPIO_NUM}
-DXCLK_GPIO_NUM=${pinoutsESPS3BABBLEM1.XCLK_GPIO_NUM}
-DSIOD_GPIO_NUM=${pinoutsESPS3BABBLEM1.SIOD_GPIO_NUM}
-DSIOC_GPIO_NUM=${pinoutsESPS3BABBLEM1.SIOC_GPIO_NUM}
-DY9_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y9_GPIO_NUM}
-DY8_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y8_GPIO_NUM}
-DY7_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y7_GPIO_NUM}
-DY6_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y6_GPIO_NUM}
-DY5_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y5_GPIO_NUM}
-DY4_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y4_GPIO_NUM}
-DY3_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y3_GPIO_NUM}
-DY2_GPIO_NUM=${pinoutsESPS3BABBLEM1.Y2_GPIO_NUM}
-DVSYNC_GPIO_NUM=${pinoutsESPS3BABBLEM1.VSYNC_GPIO_NUM}
-DHREF_GPIO_NUM=${pinoutsESPS3BABBLEM1.HREF_GPIO_NUM}
-DPCLK_GPIO_NUM=${pinoutsESPS3BABBLEM1.PCLK_GPIO_NUM}
Code: Select all
19:11:00.132 > ESP-ROM:esp32s3-20210327
19:11:00.133 > Build:Mar 27 2021
19:11:00.133 > rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
19:11:00.133 > Saved PC:0x420d18b2
19:11:00.134 > SPIWP:0xee
19:11:00.135 > mode:DIO, clock div:1
19:11:00.136 > load:0x3fce3808,len:0x44c
19:11:00.138 > load:0x403c9700,len:0xbd8
19:11:00.141 > load:0x403cc700,len:0x2a80
19:11:00.148 > entry 0x403c98d0
19:11:00.372 > E (241) opi psram: PSRAM ID read error: 0x00000000, PSRAM chip not found or not supported, or wrong PSRAM line mode
19:11:00.377 > E (241) spiram: SPI RAM enabled but initialization failed. Bailing out.
19:11:00.421 > (replaced welcome ascii art with this line)
19:11:00.432 > [ 300][D][LEDManager.cpp:69] begin(): begin 0
19:11:00.432 > [ 301][D][project_config.cpp:143] load(): Loading project config
19:11:00.438 > [ 301][I][project_config.cpp:24] initConfig(): [Project Config]: Config name: openiris
19:11:00.445 > [ 307][I][project_config.cpp:25] initConfig(): [Project Config]: Config loaded: true
19:11:00.453 > [ 315][I][project_config.cpp:44] initConfig(): [Project Config]: MDNS name: openiristrackerbabble
19:11:00.462 > [ 324][E][Preferences.cpp:483] getString(): nvs_get_str len fail: OTALogin NOT_FOUND
19:11:00.470 > [ 331][E][Preferences.cpp:483] getString(): nvs_get_str len fail: OTAPassword NOT_FOUND
19:11:00.478 > [ 339][E][Preferences.cpp:483] getString(): nvs_get_str len fail: hostname NOT_FOUND
19:11:00.485 > [ 347][E][Preferences.cpp:483] getString(): nvs_get_str len fail: service NOT_FOUND
19:11:00.493 > [ 354][E][Preferences.cpp:483] getString(): nvs_get_str len fail: apSSID NOT_FOUND
19:11:00.500 > [ 362][E][Preferences.cpp:483] getString(): nvs_get_str len fail: apPass NOT_FOUND
19:11:00.507 > [ 369][D][cameraHandler.cpp:150] setupCamera(): [Camera]: Setting up camera pinout
19:11:00.515 > [ 377][I][cameraHandler.cpp:11] setupCameraPinout(): [Camera]: Camera module is undefined
19:11:00.523 > [ 385][D][cameraHandler.cpp:152] setupCamera(): [Camera]: Setting up camera with resolution
19:11:00.534 > [ 393][E][cameraHandler.cpp:74] setupBasicResolution(): [Camera]: Did not find psram, setting lower image quality
19:11:00.541 > [ 403][D][cameraHandler.cpp:154] setupCamera(): [Camera]: Initializing camera...
19:11:11.558 > E (11150) camera: Camera probe failed with error 0x105(ESP_ERR_NOT_FOUND)
19:11:11.562 > [ 11428][D][cameraHandler.cpp:158] setupCamera(): [Camera]: Camera initialized: ESP_ERR_NOT_FOUND
19:11:11.562 >
19:11:11.572 > [ 11432][E][cameraHandler.cpp:161] setupCamera(): [Camera]: Camera initialization failed with error: ESP_ERR_NOT_FOUND
19:11:11.572 >
19:11:11.587 > [ 11442][E][cameraHandler.cpp:166] setupCamera(): [Camera]: Camera most likely not seated properly in the socket. Please fix the camera and reboot the device.
19:11:11.587 >
19:11:11.594 > [ 11456][D][cameraHandler.cpp:176] loadConfigData(): [Camera]: Loading camera config data
19:11:11.600 > [ 11464][D][cameraHandler.cpp:178] loadConfigData(): [Camera]: Pass1
19:11:11.836 > Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
19:11:11.836 >
19:11:11.836 > Core 1 register dump:
19:11:11.836 > PC : 0x420d0d91 PS : 0x00060c30 A0 : 0x820080ab A1 : 0x3fcebb10
19:11:11.836 > A2 : 0x3fc9cb50 A3 : 0x00000000 A4 : 0x3c0e4cfe A5 : 0x000000b2
19:11:11.836 > A6 : 0x3c0e5208 A7 : 0x3c0f902d A8 : 0x8201e090 A9 : 0x3fceba70
19:11:11.836 > A10 : 0x00000000 A11 : 0x3fcec4bc A12 : 0x0000003f A13 : 0x00000047
19:11:11.836 > A14 : 0x3c0e50d0 A15 : 0xff000000 SAR : 0x0000001b EXCCAUSE: 0x0000001c
19:11:11.836 > EXCVADDR: 0x00000070 LBEG : 0x400556d5 LEND : 0x400556e5 LCOUNT : 0xfffffffc
19:11:11.836 >
19:11:11.836 >
19:11:11.836 > Backtrace: 0x420d0d8e:0x3fcebb10 0x420080a8:0x3fcebb30 0x420081eb:0x3fcebb60 0x4200638d:0x3fcebb80 0x420041e2:0x3fcebcc0 0x4200fdb6:0x3fcebd10
19:11:11.836 >
19:11:11.836 >
19:11:11.836 >
19:11:11.836 >
19:11:11.836 > ELF file SHA256: 507c8af6776680b1
19:11:11.836 >
19:11:11.836 > Rebooting...
Thanks for your time.