I am having some hanging issues that I can't resolve, hoping for some guidance.
Here's my hardware:
Everything works individually, unmounted and powered from USB
The only way I can get everything to work:
Provide power to the M4 only, wait for beeping, then enable other devices. I can do this with either USB power only (from a computer). There are two methods I have discovered.
I haven't been able to actually get each unit to consistently talk to each other so getting past this would be greatly appreciated.
Thank you!
Here's my hardware:
- PCB 1.4
- No 2k2 resistors instead I bridged the jumpers bridged on board as directed by https://wiki.ardumower.de/index.php?title=Ardumower_Sunray#Adafruit_Grand_Central_M4
- Grand Central M4
- Wifi - ESP32
- GPS - No base, I'm utilizing our local government's NTRIP correction data
Everything works individually, unmounted and powered from USB
- Grand Central M4 - when unmounted from PCB 1.4 and connected to a computer via USB it will boot and start looking for modules, after pushing the message “error: no BLE module found!” it tries to connect to GPS at alternating GPS baud rates
- Wifi - ESP32 - when unmounted from PCB 1.4 and connected to a computer via USB it will boot, connect to my wifi and start to ping
- GPS - when unmounted from PCB 1.4 and connected to a computer via USB it will lock onto satellites, get a fix / float location (confirmed with u-center) and attempts to send / receive data
The only way I can get everything to work:
Provide power to the M4 only, wait for beeping, then enable other devices. I can do this with either USB power only (from a computer). There are two methods I have discovered.
- If I mount both the Grand Central M4 and the GPS to PCB 1.4 then power both from individual USB cables (battery disconnected from PCB 1.4), the M4 will boot, find the GPS, start beeping and receive GPS data (if GPS does not have USB power during M4 boot, this method will not work). At this point, if I connect the Wifi module to PCB 1.4 and then plug it into USB it will connect, the beep gets louder (more power from an additional USB?) And all three units begin to work with PCB 1.4. I can confirm this by connecting the EVO Things app on my phone, at which point I can view GPS coordinates. Keep in mind, this entire time, the PCB 1.4 is not powered by anything other than USB cables to the M4, GPS & Wifi. Now and only now, if I plug in the 24V battery and close P20 the beeps get even louder and everything as a whole seems to act like I think it's supposed to. With P20 open, the beeps go away but the unit continues to work. The above sequence of events are very important. Otherwise I get a hang / crash.
- If I plug the battery into PCB 1.4 while the M4, Wifi and GPS are already connected to PCB 1.4 (M4 plugged into USB for serial monitoring). There is a hang, nothing is displayed on serial output. The only way I can trigger the M4 to begin it's process is by temporarily pulling JP1. When JP1 is removed the M4 begins with:
PCB not powered ON or RTC module missing.
I must wait for beeping from PCB 1.4. Then I can re-enable JP1 and supply power to the rest of the board. Shortly thereafter the serial output will show GPS communications. This method doesn't always work and when it does I don't completely understand it because the only time it beeps is after some sort of GPS communications is established between the M4 and the GPS, but the GPS shouldn't have power until JP1 is connected...
If I replace JP1 after the M4 begins but prior to beeping, the M4 will reboot after the following sequence
15: 38: 37.450 -> PCB not powered ON or RTC module missing
15: 38: 41.692 -> SD card found!
15: 38: 41.753 -> logfile: log1070.txt
15: 38: 41.753 -> RESET cause: watchdog
15: 38: 41.753 -> Ardumower Sunray, 1.0.186
15: 38: 41.753 -> compiled for: Adafruit Grand Central M4
15: 38: 41.753 -> MOTOR_DRIVER_BRUSHLESS: no
15: 38: 41.799 -> enableCharging 0
15: 38: 41.799 -> trying to detect Bluetooth 4.0 / BLE module (make sure your phone is NOT connected) 9600 ...
15: 38: 42.315 -> BLE: AT
15: 38: 44.329 -> trying to detect Bluetooth 4.0 / BLE module (make sure your phone is NOT connected) 115200 ...
15: 38: 44.843 -> BLE: AT
15: 38: 46.851 -> error: no BLE module found!
15: 38: 46.851 -> SERIAL_BUFFER_SIZE = 1024 (increase if you experience GPS checksum errors)
15: 38: 46.898 -> ------------------------------------------- ----------
15: 38: 46.898 -> UBLOX :: begin
15: 38: 46.898 -> trying to connect to ublox f9p ...
15: 38: 46.898 -> NOTE: if GPS is not responding either set 'GPS_CONFIG = false' in config.h or perform GPS wire fix (see Wiki)
15: 38: 46.945 -> trying baud 115200
15: 38: 48.025 -> GPS receiver found!
15: 38: 48.072 -> ublox f9p: sending GPS rover configuration ...
15: 38: 48.072 -> idx = 0 ... OK
15: 38: 48.072 -> idx = 1 ... OK
15: 38: 48.072 -> idx = 2 ... OK
15: 38: 48.072 -> config sent successfully
15: 38: 48.117 -> sizeof point = 4
15: 38: 48.117 -> map load ... no map file!
15: 38: 48.117 -> map dump - mapCRC = 0
15: 38: 48.117 -> points:
15: 38: 48.117 -> perimeter pts: 0
15: 38: 48.117 -> exclusion pts: 0
15: 38: 48.117 -> exclusions: 0
15: 38: 48.163 -> dock pts: 0
15: 38: 48.163 -> mow pts: 0
15: 38: 48.163 -> free pts: 0
15: 38: 48.163 -> mowPointsIdx = 0 dockPointsIdx = 0 freePointsIdx = 0 wayMode = 3
15: 38: 48.677 -> WIFI (ESP8266) not found! If the problem persist, you may need to flash your ESP to firmware 2.2.1
I haven't been able to actually get each unit to consistently talk to each other so getting past this would be greatly appreciated.
Thank you!