PCB 1.4 with Grand Central M4 - Hang on Boot

kershner

New member
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
  • 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.

  1. 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.
  2. 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
Almost any other combination of connecting power to modules will result in a reboot of the M4

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!
 
I have a watchdog resetting my M4

My ino.elf file can be found here: https://drive.google.com/uc?export=download&id=1x41J7WymaRGbg8NgwkSRBDbNanMOzhpf

and most recent log file output below:

RESET cause: watchdog
Ardumower Sunray,1.0.186
compiled for: Adafruit Grand Central M4
MOTOR_DRIVER_BRUSHLESS: no
enableCharging 0
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)9600...
BLE: AT
trying to detect Bluetooth 4.0/BLE module (make sure your phone is NOT connected)115200...
BLE: AT
error: no BLE module found!
SERIAL_BUFFER_SIZE=1024 (increase if you experience GPS checksum errors)
-----------------------------------------------------
UBLOX::begin
trying to connect to ublox f9p...
NOTE: if GPS is not responding either set 'GPS_CONFIG=false' in config.h or perform GPS wire fix (see Wiki)
trying baud 115200
GPS receiver found!
ublox f9p: sending GPS rover configuration...
idx=0...OK
idx=1...OK
idx=2...OK
config sent successfully
sizeof Point=4
map load... no map file!
map dump - mapCRC=0
points:
perimeter pts: 0
exclusion pts: 0
exclusions: 0
dock pts: 0
mow pts: 0
free pts: 0
mowPointsIdx=0 dockPointsIdx=0 freePointsIdx=0 wayMode=3
WIFI (ESP8266) not found! If the problem persist, you may need to f
 

Anhänge

  • LOG1092.TXT
    1,1 KB · Aufrufe: 8
not sure if I understand your problem right, but when the models are not running on the PCB, it seems you have a power problem. Is the power button working, all LEDs are on?
 
All LEDs are on indicating proper voltage, verified with an oscilloscope.
Power and signals are passing from GPS through U3/U10 onto the M4 properly
Power and signals are passing from WiFI/BLE (ESP32) through U15/U16 onto the M4 properly

Each item will boot properly however when tied together they cause the watchdog to enable and a reboot occurs.
 
Check the real time clock battery. There are I2C problems if the battery power is to low. But I do not have a really idea what the reason is.
 
I can't see that the IMU will be initiated in your dump do you have installed and configured a IMU right?
 
Well that's interesting, I was not supplied an RTC in my PCB 1.4 kit.

I have tried every combination trying to get a successful boot and it's possible that the IMU (MPU6050) was not plugged in when I created that log file.
 
Sunray is checking the RTC ubit / eeprom on that module;
15: 38: 37.450 -> PCB not powered ON or RTC module missing
 
The only way I could get the M4 to boot was by pulling JP1 jumper.
I assumed it made that comment because I pulled power to the board.
So to be clear I must have an RTC?
 
If you pull JP1, you switch off the 9V / 5V and 3,3V. In that case it that case you vave pluged in the USB Port?

Have you pluged JP8 ?
 
Correct with the USB. As mentioned in the original post. I can get a proper boot by powering each component with USB and plugging into the PCB, but only in a particular sequence.

My problem exists regardless of JP8's position (IOREF vs Pin 4).

It was my understanding that someone could troubleshoot my ino.elf file?

Is the RTC required for PCB 1.4 and should I have received one with my kit?

Thank you for your help.
 
you are correct and thank you for confirming.
My kit did not come with an RTC so I thought it was not included with 1.4.

I used a DS3231 which worked great as only SCL, SDA, VCC and GND are required.
After connecting, everything booted up as expected.
 
Hi!

I seem to have a similar problem. At least the logs also indicate a missing RTC, but I have installed a RTC. All boards are working, when disconnected from PCB 1.4. Voltage on the RTC battery is 3.1V when measuring the battery itself. Voltage when measuring GND and BAT on side P1 is 2.1V.

Any ideas or help is appreciated.

Best regards
Martin
 
Hallo, für Sunary benötigt man keine Uhr. Über GPS kommt auch die Zeit. jedoch läuft ohne Uhr der IC2 Bus nicht.

Lösung: Es sind zwei Widerstande die man anlöten muss. Dann hat man auch keine Probleme mehr mit der Batterie. Schaut mal auf das Bild, da könnt ihr den Widerstandswert und die genaue Position sehen.
 

Anhänge

  • 20210826_120607.jpg
    20210826_120607.jpg
    1,1 MB · Aufrufe: 45
Hallo Hartmut,

Danke, das ist ein gute Hinweis! Zwei Fragen dazu:

1. Sehe ich den Widerstandrichting: lila grau blau lila gelb?
2. Kann ich irgenwie herausbekommen, ob es an der Uhr liegt, bevor ich das ändere? Löstellen sehen ansich gut aus. Wie beschrieben, fällt mir die Differenz zwischen Messung der Spannung an der Batterie und an den Pins auf.

Liebe Grüße
Martin
 
I have just identified that the reason for my issues was not the RTC, but a not working I2C Bus. This malfunction was caused by jumpers (voltage) without having the modules installed....
Easy to solve, but tricky to identify for an electronic newbe ;-)
 
Zuletzt bearbeitet:
Danke. Werde es ggf. noch versuchen, der verlinkte Artikel beschreibt es gut.
Momentan werde ich es aber lassen, da es klappt seitdem ich die Jumper am I2C Bus richtig gesetzt habe (siehe oben).
 
Oben