issue with esp32-Cam - Aithinker + wifi battery problem
Posted: Sat Nov 28, 2020 10:43 pm
Hi everyone,
i've spent the last 2 weeks trying to figure out this challange. and i really tried google, videos. the whole nine yards and i am stuck. and i am at your mercy here.
Here is what i got,
I have the ESP32CAM-AI thinker version, from amazon. they work great.
Here is what im trying to do:
Connect the camera to a battery source and use the wifi to upload an image every 5 minutes and go back to sleep.
The project:
The project works great when connected to a USB 5 v PC, or AC usb 5v power supply.
The issues:
i have tried using 2 Li-Ion 3.7v batteries in series and in parralel, both with a step up and a step down converter respectively.
I have even tried putting a resistor from 7.4v to 3.3v directly.
i have tried putting a resistor from 7.4v to 3.3v with a capacitor rated 10v 250Uf and i tried up to 1000uF.
i have tried 3.2v to step up> 10v capacitor rated at 440uF > 5v output
i have tried 3.2v to 10v capacitor 440uf to step up and another 440uF capactiro 10v to 5v
i have tried using 4 batteries in parallels thinking that it may be a juice problem, i have tried using the batteries in series and using a buck converter to bring it down to 5v and 3.3v
The results have always been the same! except for when i plug it into the computer.
I noticed this:
when i use the step up or step down, my Amperage jumps from 0.6 to 1.1 but from the PC i noticed the amperage jump from 0.6 to 1.4,
This happends when the ESP32 is trying to intialize the WIFI. i have concluded the WIFI is the problem because if i disable the WIFI component, like a simple loop, the ESP will run, but the moment it starts the Wifi unit, it stalls.
the output from the serial is like this when having issues:
16:48:03.715 ->
16:48:03.715 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
16:48:03.715 -> configsip: 0, SPIWP:0xee
16:48:03.715 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:48:03.715 -> mode:DIO, clock div:2
16:48:03.715 -> load:0x3fff0018,len:4
16:48:03.715 -> load:0x3fff001c,len:1216
16:48:03.715 -> ho 0 tail 12 room 4
16:48:03.715 -> load:0x40078000,len:9720
16:48:03.715 -> ho 0 tail 12 room 4
16:48:03.715 -> load:0x40080400,len:6364
16:48:03.715 -> entry 0x400806b8
16:48:04.318 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:48:06.312 -> ⸮o⸮⸮⸮B⸮⸮⸮e*j⸮e⸮*⸮⸮%⸮⸮U⸮Hh⸮⸮⸮V⸮⸮W-.'HL⸮⸮SPIWP:0xee
16:48:32.395 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:48:32.395 -> mode:DIO, clock div:2
16:48:32.395 -> load:0x3fff0018,len:4
16:48:32.395 -> load:0x3fff001c,len:1216
16:48:32.395 -> ho 0 tail 12 room 4
16:48:32.395 -> load:0x40078000,len:9720
16:48:32.395 -> ho 0 tail 12 room 4
16:48:32.395 -> load:0x40080400,len:6364
16:48:32.395 -> entry 0x400806b8
16:48:33.044 -> ;fW⸮Y.\&⸮KZX⸮K,\]⸮,⸮L⸮i⸮⸮
⸮⸮ɕ⸮Օ⸮⸮⸮5⸮⸮J⸮⸮⸮⸮J⸮⸮⸮z⸮⸮j⸮⸮
16:48:33.044 -> %J⸮⸮⸮⸮⸮⸮B⸮5R⸮⸮⸮⸮⸮⸮⸮13 (SPI_FAST_FLASH_BOOT)
16:49:15.962 -> configsip: 0, SPIWP:0xee
16:49:15.962 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:49:15.962 -> mode:DIO, clock div:2
16:49:15.962 -> load:0x3fff0018,len:4
16:49:15.962 -> load:0x3fff001c,len:1216
16:49:15.962 -> ho 0 tail 12 room 4
16:49:15.962 -> load:0x40078000,len:9720
16:49:15.962 -> ho 0 tail 12 room 4
16:49:15.962 -> load:0x40080400,len:6364
16:49:15.962 -> entry 0x400806b8
16:49:16.610 -> ⸮f⸮Uk⸮͒jB⸮⸮⸮⸮չ銺⸮⸮⸮⸮⸮
⸮⸮ɕ⸮Օ⸮⸮⸮5⸮⸮J⸮⸮⸮⸮J⸮⸮⸮z⸮⸮j⸮⸮
16:49:16.610 -> %J⸮⸮⸮⸮⸮⸮B⸮5R⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮^w⸮⸮M⸮L&HJ*TRe*j⸮e⸮*⸮⸮%⸮⸮U⸮Hh⸮⸮⸮V⸮⸮W-.'HL⸮⸮SPIWP:0xee
16:49:52.521 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:49:52.521 -> mode:DIO, clock div:2
16:49:52.521 -> load:0x3fff0018,len:4
16:49:52.521 -> load:0x3fff001c,len:1216
16:49:52.521 -> ho 0 tail 12 room 4
16:49:52.521 -> load:0x40078000,len:9720
16:49:52.521 -> ho 0 tail 12 room 4
16:49:52.521 -> load:0x40080400,len:6364
16:49:52.521 -> entry 0x400806b8
16:49:53.124 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:49:53.263 -> ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
as you can see above, this was 3 separate attempts.
A succesfull attempt looks like this:
16:39:16.244 ->
16:39:16.244 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
16:39:16.244 -> configsip: 0, SPIWP:0xee
16:39:16.244 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:39:16.244 -> mode:DIO, clock div:2
16:39:16.244 -> load:0x3fff0018,len:4
16:39:16.244 -> load:0x3fff001c,len:1216
16:39:16.244 -> ho 0 tail 12 room 4
16:39:16.244 -> load:0x40078000,len:9720
16:39:16.244 -> ho 0 tail 12 room 4
16:39:16.244 -> load:0x40080400,len:6364
16:39:16.244 -> entry 0x400806b8
16:39:16.848 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:39:16.986 ->
16:39:17.543 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
16:39:17.543 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
16:39:17.728 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 4 - STA_CONNECTED
16:39:18.052 -> .[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 7 - STA_GOT_IP
16:39:18.470 -> [D][WiFiGeneric.cpp:381] _eventCallback(): STA IP: 192.168.0.116, MASK: 255.255.255.0, GW: 192.168.0.1
16:39:18.517 -> .
16:39:18.517 -> WiFi connected
16:39:18.517 -> Starting web server on port: '80'
16:39:18.563 -> Starting stream server on port: '81'
16:39:18.563 -> Camera Ready! Use 'http://192.168.0.116' to connect
i have even tried using typical AA 1.5v batteries, 4 AAA, 2AA i even did 2 AA in parallel with another set. for some reason i cant get it to work with batteries, but will work just fine with a pc USB.
i dont know if its a power frequency thing, or what.
i would like to also mention i have 4 or 5 of these, the expiernce the same behaviour accross all of them, so its not a burnt board or a bad board scenario...
i looked google, forums, learned about resistors, and capcitors, and youtube. i did notice funny enough that a really good youtuber was ussing the FTTL usb and needed a battery bank to help it work, defeating the purpose of my goal
my original code will function like this:
5min deep sleep
boot, take a photo, on for about 20 seconds
upload photo via wifi
Deep sleep again
repeat.
but the code i used in this battery issue is the simple Camera Server example and i cant figure it out.
Please help - has anyone even successfully got this to work with a camera,Wifi and via Battery?
i've spent the last 2 weeks trying to figure out this challange. and i really tried google, videos. the whole nine yards and i am stuck. and i am at your mercy here.
Here is what i got,
I have the ESP32CAM-AI thinker version, from amazon. they work great.
Here is what im trying to do:
Connect the camera to a battery source and use the wifi to upload an image every 5 minutes and go back to sleep.
The project:
The project works great when connected to a USB 5 v PC, or AC usb 5v power supply.
The issues:
i have tried using 2 Li-Ion 3.7v batteries in series and in parralel, both with a step up and a step down converter respectively.
I have even tried putting a resistor from 7.4v to 3.3v directly.
i have tried putting a resistor from 7.4v to 3.3v with a capacitor rated 10v 250Uf and i tried up to 1000uF.
i have tried 3.2v to step up> 10v capacitor rated at 440uF > 5v output
i have tried 3.2v to 10v capacitor 440uf to step up and another 440uF capactiro 10v to 5v
i have tried using 4 batteries in parallels thinking that it may be a juice problem, i have tried using the batteries in series and using a buck converter to bring it down to 5v and 3.3v
The results have always been the same! except for when i plug it into the computer.
I noticed this:
when i use the step up or step down, my Amperage jumps from 0.6 to 1.1 but from the PC i noticed the amperage jump from 0.6 to 1.4,
This happends when the ESP32 is trying to intialize the WIFI. i have concluded the WIFI is the problem because if i disable the WIFI component, like a simple loop, the ESP will run, but the moment it starts the Wifi unit, it stalls.
the output from the serial is like this when having issues:
16:48:03.715 ->
16:48:03.715 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
16:48:03.715 -> configsip: 0, SPIWP:0xee
16:48:03.715 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:48:03.715 -> mode:DIO, clock div:2
16:48:03.715 -> load:0x3fff0018,len:4
16:48:03.715 -> load:0x3fff001c,len:1216
16:48:03.715 -> ho 0 tail 12 room 4
16:48:03.715 -> load:0x40078000,len:9720
16:48:03.715 -> ho 0 tail 12 room 4
16:48:03.715 -> load:0x40080400,len:6364
16:48:03.715 -> entry 0x400806b8
16:48:04.318 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:48:06.312 -> ⸮o⸮⸮⸮B⸮⸮⸮e*j⸮e⸮*⸮⸮%⸮⸮U⸮Hh⸮⸮⸮V⸮⸮W-.'HL⸮⸮SPIWP:0xee
16:48:32.395 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:48:32.395 -> mode:DIO, clock div:2
16:48:32.395 -> load:0x3fff0018,len:4
16:48:32.395 -> load:0x3fff001c,len:1216
16:48:32.395 -> ho 0 tail 12 room 4
16:48:32.395 -> load:0x40078000,len:9720
16:48:32.395 -> ho 0 tail 12 room 4
16:48:32.395 -> load:0x40080400,len:6364
16:48:32.395 -> entry 0x400806b8
16:48:33.044 -> ;fW⸮Y.\&⸮KZX⸮K,\]⸮,⸮L⸮i⸮⸮
⸮⸮ɕ⸮Օ⸮⸮⸮5⸮⸮J⸮⸮⸮⸮J⸮⸮⸮z⸮⸮j⸮⸮
16:48:33.044 -> %J⸮⸮⸮⸮⸮⸮B⸮5R⸮⸮⸮⸮⸮⸮⸮13 (SPI_FAST_FLASH_BOOT)
16:49:15.962 -> configsip: 0, SPIWP:0xee
16:49:15.962 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:49:15.962 -> mode:DIO, clock div:2
16:49:15.962 -> load:0x3fff0018,len:4
16:49:15.962 -> load:0x3fff001c,len:1216
16:49:15.962 -> ho 0 tail 12 room 4
16:49:15.962 -> load:0x40078000,len:9720
16:49:15.962 -> ho 0 tail 12 room 4
16:49:15.962 -> load:0x40080400,len:6364
16:49:15.962 -> entry 0x400806b8
16:49:16.610 -> ⸮f⸮Uk⸮͒jB⸮⸮⸮⸮չ銺⸮⸮⸮⸮⸮
⸮⸮ɕ⸮Օ⸮⸮⸮5⸮⸮J⸮⸮⸮⸮J⸮⸮⸮z⸮⸮j⸮⸮
16:49:16.610 -> %J⸮⸮⸮⸮⸮⸮B⸮5R⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮^w⸮⸮M⸮L&HJ*TRe*j⸮e⸮*⸮⸮%⸮⸮U⸮Hh⸮⸮⸮V⸮⸮W-.'HL⸮⸮SPIWP:0xee
16:49:52.521 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:49:52.521 -> mode:DIO, clock div:2
16:49:52.521 -> load:0x3fff0018,len:4
16:49:52.521 -> load:0x3fff001c,len:1216
16:49:52.521 -> ho 0 tail 12 room 4
16:49:52.521 -> load:0x40078000,len:9720
16:49:52.521 -> ho 0 tail 12 room 4
16:49:52.521 -> load:0x40080400,len:6364
16:49:52.521 -> entry 0x400806b8
16:49:53.124 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:49:53.263 -> ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
as you can see above, this was 3 separate attempts.
A succesfull attempt looks like this:
16:39:16.244 ->
16:39:16.244 -> rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
16:39:16.244 -> configsip: 0, SPIWP:0xee
16:39:16.244 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
16:39:16.244 -> mode:DIO, clock div:2
16:39:16.244 -> load:0x3fff0018,len:4
16:39:16.244 -> load:0x3fff001c,len:1216
16:39:16.244 -> ho 0 tail 12 room 4
16:39:16.244 -> load:0x40078000,len:9720
16:39:16.244 -> ho 0 tail 12 room 4
16:39:16.244 -> load:0x40080400,len:6364
16:39:16.244 -> entry 0x400806b8
16:39:16.848 -> ;⸮][esp32-hal-cpu.c:178] setCpuFrequencyMhz(): PLL: 320 / 4 = 80 Mhz, APB: 80000000 Hz
16:39:16.986 ->
16:39:17.543 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
16:39:17.543 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
16:39:17.728 -> [D][WiFiGeneric.cpp:337] _eventCallback(): Event: 4 - STA_CONNECTED
16:39:18.052 -> .[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 7 - STA_GOT_IP
16:39:18.470 -> [D][WiFiGeneric.cpp:381] _eventCallback(): STA IP: 192.168.0.116, MASK: 255.255.255.0, GW: 192.168.0.1
16:39:18.517 -> .
16:39:18.517 -> WiFi connected
16:39:18.517 -> Starting web server on port: '80'
16:39:18.563 -> Starting stream server on port: '81'
16:39:18.563 -> Camera Ready! Use 'http://192.168.0.116' to connect
i have even tried using typical AA 1.5v batteries, 4 AAA, 2AA i even did 2 AA in parallel with another set. for some reason i cant get it to work with batteries, but will work just fine with a pc USB.
i dont know if its a power frequency thing, or what.
i would like to also mention i have 4 or 5 of these, the expiernce the same behaviour accross all of them, so its not a burnt board or a bad board scenario...
i looked google, forums, learned about resistors, and capcitors, and youtube. i did notice funny enough that a really good youtuber was ussing the FTTL usb and needed a battery bank to help it work, defeating the purpose of my goal
my original code will function like this:
5min deep sleep
boot, take a photo, on for about 20 seconds
upload photo via wifi
Deep sleep again
repeat.
but the code i used in this battery issue is the simple Camera Server example and i cant figure it out.
Please help - has anyone even successfully got this to work with a camera,Wifi and via Battery?