iPhone 18.x. I don’t think this is necessarily a “phone” issue, but it might be the phone software that’s disconnecting. I can open an HTTP connection to the ESP32 with no problem and I’m prompted with the OTA upgrade page.
Me ocurrió lo mismo con mi Rover, comencé revisando la carga de la batería, después añadí una antena externa al Esp32 ( cambiando el resistor de posición) y finalmente descubrí el problema, en el teléfono que usas para conectar al RVR, debes hacerle olvidar todas las demás SSDI que tengas y sus contraseñas, porque de lo contrario tú teléfono se quiere conectar con otra red que tenga internet y por eso se desconecta.
Espero que se entienda, no hablo inglés
No worries. We love Google translate! That solution did not work for me because I’m not connecting directly to the rover as an AP (but that does fail also). I’m connecting over my home wifi network and it does not drop packets. It just disconnects the app. I am always able to ping the ESP32.
We’d like to check if your issue has been resolved. If it has, could you kindly share the solution that worked for you? This will help us improve our troubleshooting process for future cases.
If the problem persists, we may need to send you a replacement ESP32 module to see if that resolves the issue. Please contact service@sunfounder.com to provide your address.
It is not resolved I’ve just been very busy with work. I’ll send an email to service.
Please try switching between AP mode and STA mode, then re-upload the galaxy-rvr.ino code using the IDE, and reconnect via the APP to check the results.
If the repeated disconnections persist, we recommend visiting the ESP32-CAM OTA update page and trying different channels multiple times. Press the reset button to restart the device, then reconnect via the APP to check its performance.
If the issue still cannot be resolved, please contact service@sunfounder.com to request a replacement ESP32 module to see if that resolves the problem.
I’m sorry, but I have tried all these steps over and over so many times now. It is not helping.
I work in IT servicing hundreds of people in Azure/AWS/ESX environments - so I’m pretty darn good with technology, and also an avid Arduino hobbyist/builder in my free time. These steps do not solve the problem. Also, I live in a very rural area with no neighbors or other wifi signals. I have one access point in my home and only 2.4ghz is enabled on a single SSID and channel so there is little chance of interference from neighbors.
I will try it all one more time after which it will sadly sit on a shelf because my time is more valuable than this.
Wrote galaxy-rvr.ino again. Tested all steps. no change…just random disconnects.
Output from upload:
FQBN: arduino:avr:uno
Using board ‘uno’ from platform in folder: C:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core ‘arduino’ from platform in folder: C:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Detecting libraries used…
C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp -o nul
Alternatives for SoftPWM.h: [SoftPWM@1.0.1]
ResolveLibrary(SoftPWM.h)
→ candidates: [SoftPWM@1.0.1]
C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp -o nul
Alternatives for SunFounder_AI_Camera.h: [SunFounder AI Camera@1.1.1]
ResolveLibrary(SunFounder_AI_Camera.h)
→ candidates: [SunFounder AI Camera@1.1.1]
C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera\src C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp -o nul
Alternatives for ArduinoJson.h: [ArduinoJson@7.4.0]
ResolveLibrary(ArduinoJson.h)
→ candidates: [ArduinoJson@7.4.0]
C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera\src -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\ArduinoJson\src C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\car_control.cpp
Using cached library dependencies for file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ir_obstacle.cpp
Using cached library dependencies for file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\rgb.cpp
Using cached library dependencies for file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\soft_servo.cpp
Using cached library dependencies for file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ultrasonic.cpp
Using cached library dependencies for file: C:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM\SoftPWM.cpp
Using cached library dependencies for file: C:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera\src\SunFounder_AI_Camera.cpp
Generating function prototypes…
C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera\src -IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\ArduinoJson\src C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp -o C:\Users\user274\AppData\Local\Temp\2555312221\sketch_merged.cpp
C:\Users\user274\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c+±kinds=svpf --fields=KSTtzns --line-directives C:\Users\user274\AppData\Local\Temp\2555312221\sketch_merged.cpp
Compiling sketch…
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino” “-IC:\Users\user274\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\standard” “-IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM” “-IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera\src” “-IC:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\ArduinoJson\src” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp” -o “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp.o”
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\car_control.cpp.o
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ir_obstacle.cpp.o
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\soft_servo.cpp.o
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\rgb.cpp.o
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ultrasonic.cpp.o
Compiling libraries…
Compiling library “SoftPWM”
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\libraries\SoftPWM\SoftPWM.cpp.o
Compiling library “SunFounder AI Camera”
Using previously compiled file: C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\libraries\SunFounder_AI_Camera\SunFounder_AI_Camera.cpp.o
Compiling library “ArduinoJson”
Compiling core…
Using precompiled core: C:\Users\user274\AppData\Local\arduino\cores\arduino_avr_uno_1a3981ac10a4d0dae9fb8d4e89673149\core.a
Linking everything together…
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc” -w -Os -g -flto -fuse-linker-plugin -Wl,–gc-sections -mmcu=atmega328p -o “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.elf” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\car_control.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\galaxy-rvr.ino.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ir_obstacle.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\rgb.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\soft_servo.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\sketch\ultrasonic.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\libraries\SoftPWM\SoftPWM.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900\libraries\SunFounder_AI_Camera\SunFounder_AI_Camera.cpp.o” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/..\..\cores\arduino_avr_uno_1a3981ac10a4d0dae9fb8d4e89673149\core.a” “-LC:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900” -lm
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy” -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.elf” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.eep”
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy” -O ihex -R .eeprom “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.elf” “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex”
Using library SoftPWM at version 1.0.1 in folder: C:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SoftPWM
Using library SunFounder AI Camera at version 1.1.1 in folder: C:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\SunFounder_AI_Camera
Using library ArduinoJson at version 7.4.0 in folder: C:\Users\user274\OneDrive - Contoso\Documents\Arduino\libraries\ArduinoJson
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-size” -A “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.elf”
Sketch uses 15520 bytes (48%) of program storage space. Maximum is 32256 bytes.
Global variables use 1022 bytes (49%) of dynamic memory, leaving 1026 bytes for local variables. Maximum is 2048 bytes.
“C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude” “-CC:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf” -v -patmega328p -carduino “-PCOM3” -b115200 -D “-Uflash:w:C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex:i”
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\user274\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file “C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex”
avrdude: writing flash (15520 bytes):
Writing | ################################################## | 100% 2.40s
avrdude: 15520 bytes of flash written
avrdude: verifying flash memory against C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex:
avrdude: load data flash data from input file C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex:
avrdude: input file C:\Users\user274\AppData\Local\arduino\sketches\502D08009143218E2AF6F4AE0A90D900/galaxy-rvr.ino.hex contains 15520 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.84s
avrdude: verifying …
avrdude: 15520 bytes of flash verified
avrdude done. Thank you.
8mb limit for a video?? Seriously?
Here is link to video on my OneDrive.
RVR video of error happening.
Regarding the questions:
- AP Channel Selection
The optimal AP channel depends on your specific environment, so we cannot definitively recommend one channel over others. We suggest testing different channels in your environment to determine which performs best. - Forum Attachments
Yes, the forum has file size limitations for attachments. Uploading files to OneDrive and sharing the link (as you did) is the perfect solution - great work! - Video Analysis
We’ve reviewed your video and observed some disconnection issues. Additionally, when your APP successfully connects, the camera feed doesn’t display immediately. Could you please:
- Click “Stop” and then “Run” again to see if the video feed appears normally?
- Hardware Replacement
We will send you the camera replacement to help resolve the issue.
I’m still not sure this is an issue with the ESP32. I suspect it’s a problem in the phone applications and their web sockets implementation. I haven’t had time to reverse engineer the protocol and just drop this on a simple web based client but that’s going to be my nice take.
As for building the firmware and uploading to the ESP32 thats a whole other problem to contend with because of the various platform and library version issues.
To better assist you, could you please:
- Share your current APP version number (screenshot preferred)
- Try the following troubleshooting steps:
Step-by-Step Solution:
Update SunFounder_AI_Camera to v1.1.1
Upgrade ESP32-CAM firmware:
Firmware Update Guide
Adjust Wi-Fi channel:
Wi-Fi Channel Change Guide
Re-upload galaxy-rvr.ino code:
If disconnections persist:
• Downgrade ESP32-CAM firmware to v1.4.0 (attached file)
Should the issue remain unresolved, we’ll arrange a free replacement ESP32 module for you.
Please share your test results – we’re committed to solving this for you!
please download here:ai-camera-firmware-1.4.0.zip - Google Drive