SKR pro board freezes up mid job

I recently finished building my MPCNC using a SKR pro board.
Its been working fine but twice the screen becomes unresponsive during the job. The first time I had to abort, the second time I plugged the board to my pc and ran repetier Host, that seemed to make the board response again, the screen showed pause and I just pressed it and it continued without issues.

Anyone experienced something similar?

Do you have any pauses (M0) in the gcode? Does it freeze at the same place?

Repetier will reset the controller. So that’s not good.

No M0 in the Gcode.
It does not seem to pause at the same place.
After i plugged the pc and ran repetier, the lcd just got reponsive, the pause botton turned into play and I was able to continue the job.

1 Like

RAMBo boards back in stock!.
I have to admit I really like the graphics interface of the SKR Pro board LCD, but I keep getting the error described above. Luckily I have found a way to get around it by connecting the board to the PC running Repetier Host, but it gets tiring…

So I went ahead and purchased one of those recently stocked RAMBo boards.

Anyone here can show me how the LCD interface on the RAMBo looks like? I guess most people like to use a computer, but I don’t know why I like the LCD interface, more convenient for me.

The reprap full discount display, or the tft in “marlin mode” connects through the gray, 10pin cables.

I don’t think the rambo is going to change anything. The issue is that the M0 is getting to Marlin, but there is no Marlin Mode LCD attached, so there’s no way to continue.

I can think of a few work arounds:

  1. We could change the tft software so when it sees an M0 in a gcode file, it instead does it’s own pause routine. It would just stop sending commands to Marlin, and pop up a screen asking you to hit continue.
  2. You can switch the V2_E3 screens to marlin mode by holding the knob for a few seconds. That should show the pause message and let you continue
  3. There is a gcode for resuming from a pause. I vaguely remember a user having trouble using that. Let me see if I can dig that up. You could send that command via the terminal, but there is a good chance that it won’t work, because the sending queue would be stopped from the pause. IDK.

Hi Jeff, thanks for answering…
The problem is that it is surely not a M0 code, I have searched the Gcode file. Also, the board LCD freezes, not possible to enter any commands. As soon as I connected to Repetier Host, it becomes responsive again.

Oh, sorry. I just skimmed what I saw earlier and missed that you said it wasn’t an M0.

I think repetier host resets the board on connection. So it would be the same as quickly unplugging and plugging it back in. Or pressing the reset button.

I wonder if the problem is in the tft code. You’re sending gcode from the sd card in the tft, right?

Run the screen in marlin mode by holding down the knob for a few seconds, run your gcode from the SD card, do not plug a usb cable into anything.

Still an issue?

Yes I am.

Will try this now… what SD card should I use?, the one on the LCD?

Yes the slot on the side of the screen. Start it and run it in Marlin mode only.

Did this ever get resolved? Had similar issues tonight. Ran the same g-code three times. First two times it would freeze up after the first hole third time it ran all the way through.

There is no fix using the GUI mode on the SKR Board. Some of my gcodes freeze once during cutting if ran from the GUI, but never has one job froze more than once. You can get them going again if you connect the board to Repetier Host, it will resume without issues.

The only fix, like Ryan said, is to use Marlin Mode.

Since I really like the GUI mode, I am still using it and just have a Pc near by connected in case it freezes up.

1 Like

I have not had it happen yet, but that doesn’t mean much you guys use it way more than me. Have you tried using the newest version of the screen firmware? The custom one we are using is not updated.

Hi Ryan, thank you for your reply.
I’m still learning about these boards… can I flash my SKR Pro board with the updated firmware, (not the custom you have here on your website) and use it without any special customization?
If I do need to customize it, could you please show me how?
Thanks.

The stock firmware from them will work you just need to change the speed to 250000 after you flash it.

The instructions are the same you just use their files instead of ours.

Got stuck here:
If you are trying to share your precompiled firmware, or load it to an SD card enabled board this step is actually already done. You simply need to locate the file that was created during the build. This file should be inside a folder in the previously mentioned Marlin folder that was unzipped, then in a folder titled “.pio”, then build, then a folder named after your board type. Example “Marlin/.pio/build/rambo/firmware.hex”

That folder does not have any file with my board name. But how could it know my board name?, I followed the steps and it never asked me what board I was using

Also, the build part never said IGNORING anything:

Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/megaatmega2560.html
PLATFORM: Atmel AVR (3.0.0) > Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)
HARDWARE: ATMEGA2560 16MHz, 8KB RAM, 248KB Flash
DEBUG: Current (avr-stub) On-board (avr-stub, simavr)
PACKAGES:

  • framework-arduino-avr 5.1.0
  • toolchain-atmelavr 1.50400.190710 (5.4.0)
    Converting Marlin.ino
    LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 5 compatible libraries
    Scanning dependencies…
    Dependency Graph
    |-- 1.0
    |-- 1.0
    |-- 2.0
    |-- 1.0
    Building in release mode
    Compiling .pio\build\mega2560\src\src\HAL\AVR\HAL.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\HAL_SPI.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\MarlinSerial.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\Servo.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\eeprom.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\fast_pwm.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\fastio.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\u8g_com_HAL_AVR_sw_spi.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\AVR\watchdog.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\HAL_spi_L6470.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\eeprom_api.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\eeprom_if_i2c.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\eeprom_if_spi.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\esp_wifi.cpp.o
    Compiling .pio\build\mega2560\src\src\HAL\shared\servo.cpp.o
    Compiling .pio\build\mega2560\src\src\MarlinCore.cpp.o
    Compiling .pio\build\mega2560\src\src\core\serial.cpp.o
    Compiling .pio\build\mega2560\src\src\core\utility.cpp.o
    Compiling .pio\build\mega2560\src\src\feature\bedlevel\bedlevel.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\calibrate\G28.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M200-M205.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M220.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M221.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M301.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M302.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\config\M92.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M108_M112_M410.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M111.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M120_M121.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M17_M18_M84.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M211.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M280.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M350_M351.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M400.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M80_M81.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M85.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M993_M994.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M997.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\M999.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\control\T.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\eeprom\M500-M504.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\feature\digipot\M907-M910.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\gcode.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\gcode_d.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\geometry\G92.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\geometry\M206_M428.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M110.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M113.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M114.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M115.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M118.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\host\M119.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\lcd\M117.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\lcd\M145.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\lcd\M300.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\motion\G0_G1.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\motion\G2_G3.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\motion\G4.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\parser.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\queue.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\stats\M31.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\stats\M75-M78.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M104_M109.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M105.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M106_M107.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M140_M190.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M141_M191.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M155.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\temp\M303.cpp.o
    Compiling .pio\build\mega2560\src\src\gcode\units\M82_M83.cpp.o
    Compiling .pio\build\mega2560\src\src\lcd\extui\ui_api.cpp.o
    Compiling .pio\build\mega2560\src\src\lcd\fontutils.cpp.o
    Compiling .pio\build\mega2560\src\src\lcd\ultralcd.cpp.o
    Compiling .pio\build\mega2560\src\src\libs\buzzer.cpp.o
    Compiling .pio\build\mega2560\src\src\libs\crc16.cpp.o
    Compiling .pio\build\mega2560\src\src\libs\numtostr.cpp.o
    Compiling .pio\build\mega2560\src\src\libs\stopwatch.cpp.o
    Compiling .pio\build\mega2560\src\src\libs\vector_3.cpp.o
    Compiling .pio\build\mega2560\src\src\module\endstops.cpp.o
    Compiling .pio\build\mega2560\src\src\module\motion.cpp.o
    Compiling .pio\build\mega2560\src\src\module\planner.cpp.o
    Compiling .pio\build\mega2560\src\src\module\servo.cpp.o
    Compiling .pio\build\mega2560\src\src\module\settings.cpp.o
    Compiling .pio\build\mega2560\src\src\module\stepper.cpp.o
    Compiling .pio\build\mega2560\src\src\module\stepper\indirection.cpp.o
    Compiling .pio\build\mega2560\src\src\module\temperature.cpp.o
    Compiling .pio\build\mega2560\src\src\module\tool_change.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\Sd2Card.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\SdBaseFile.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\SdFatUtil.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\SdFile.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\SdVolume.cpp.o
    Compiling .pio\build\mega2560\src\src\sd\cardreader.cpp.o
    Compiling .pio\build\mega2560\lib1b8\Wire\Wire.cpp.o
    Compiling .pio\build\mega2560\lib1b8\Wire\utility\twi.c.o
    Compiling .pio\build\mega2560\libd4d\SPI\SPI.cpp.o
    Archiving .pio\build\mega2560\lib7a1\libEEPROM.a
    Compiling .pio\build\mega2560\lib771\SoftwareSerial\SoftwareSerial.cpp.o
    Archiving .pio\build\mega2560\libd4d\libSPI.a
    Archiving .pio\build\mega2560\libFrameworkArduinoVariant.a
    Compiling .pio\build\mega2560\FrameworkArduino\CDC.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\HardwareSerial.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\HardwareSerial0.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\HardwareSerial1.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\HardwareSerial2.cpp.o
    Archiving .pio\build\mega2560\lib771\libSoftwareSerial.a
    Compiling .pio\build\mega2560\FrameworkArduino\HardwareSerial3.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\IPAddress.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\PluggableUSB.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\Print.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\Stream.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\Tone.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\USBCore.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\WInterrupts.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\WMath.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\WString.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\abi.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\hooks.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\main.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\new.cpp.o
    Compiling .pio\build\mega2560\FrameworkArduino\wiring.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\wiring_analog.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\wiring_digital.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\wiring_pulse.S.o
    C:\Users\Gian.platformio\packages\framework-arduino-avr\libraries\Wire\src\utility\twi.c: In function ‘__vector_39’:
    C:\Users\Gian.platformio\packages\framework-arduino-avr\libraries\Wire\src\utility\twi.c:552:7: warning: empty declaration
    attribute ((fallthrough));
    ^
    C:\Users\Gian.platformio\packages\framework-arduino-avr\libraries\Wire\src\utility\twi.c:638:7: warning: empty declaration
    attribute ((fallthrough));
    ^
    Compiling .pio\build\mega2560\FrameworkArduino\wiring_pulse.c.o
    Compiling .pio\build\mega2560\FrameworkArduino\wiring_shift.c.o
    Archiving .pio\build\mega2560\lib1b8\libWire.a
    Archiving .pio\build\mega2560\libFrameworkArduino.a
    Linking .pio\build\mega2560\firmware.elf
    Checking size .pio\build\mega2560\firmware.elf
    Building .pio\build\mega2560\firmware.hex
    Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
    RAM: [=== ] 30.0% (used 2459 bytes from 8192 bytes)
    Flash: [== ] 21.6% (used 54890 bytes from 253952 bytes)
    ================================================================================================= [SUCCESS] Took 21.61 seconds =================================================================================================

Environment Status Duration


mega2560 SUCCESS 00:00:21.614
================================================================================================== 1 succeeded in 00:00:21.614 ==================================================================================================
Terminal will be reused by tasks, press any key to close it.

I think this is getting confused. I am referring to the TFT firmware (GUI), not the SKR Pro.

Im Sorry Ryan, I don’t mean to be confusing. I assure you I am trying really hard to understand.
So it is not the board firmware that freezes up but it is actually the Screen. Thats why I was so confused when you said I could use the stock firmware with only a small change.
I appreciate your support, please be patient with me, I am sure more stupid questions will follow.

No worries at all, First time we have ever had to flash screen firmware so I think we all get a bit turned around. Heck I am not sure if that is even the problem.