This page needs more content for completeness. Please contribute!
Graphical LCD Artifacts
After a new install of Marlin your graphical LCD shows glitches or is blank. This is caused by bad timing in the LCD data transmission.
Solution: Define custom delays. Add the following lines to
Configuration.h as your starting-point and adjust values upward until the display works reliably. You should keep testing to find the lowest values that produce a reliable display because the LCD update steals time from the main loop.
#define ST7920_DELAY_1 DELAY_NS(200) // After CLK LOW #define ST7920_DELAY_2 DELAY_NS(400) // After DAT #define ST7920_DELAY_3 DELAY_NS(200) // After CLK HIGH
- For AVR boards open
#pragma GCC optimize (3)to reduce code optimization.
- Add 4.7k pullup resistors to the SPI lines if they are not commonly used for SPI.
Long Beep on Boot
This is a hardware issue due to the connected beeper pin being HIGH when the board is first powered. Marlin turns off the BEEPER pin as soon as it possibly can. A new bootloader for your board might fix the issue in the future.
After flashing a new version of Marlin, the existing EEPROM contents may no longer conform to the updated EEPROM layout. As a result, you may see an error like one of these:
Error:EEPROM datasize error.
EEPROM CRC mismatch - (stored) 4235 != 6244 (calculated)!
- If using Octoprint, turn off the option to disconnect on “Error” messages before proceeding.
M500and then reboot the machine. This procedure will initialize the EEPROM to your configured “factory” settings.
- If you still see checksum or data-size errors, add the following option to your
Configuration.h, flash, and reboot.
This option makes Marlin check the EEPROM data during
M500(write) and report mismatched fields. Please report these errors to the Marlin project, because a mismatched field may indicate a bug in the code.
- You can also enable the
EEPROM_AUTO_INIToption to automatically reset the EEPROM when the data structure changes or the data gets corrupted.
Sanity Check Errors
SanityCheck.h files exist to check the validity of settings and make sure obsolete settings get updated for the newest Marlin. Be sure to read and follow all directions provided by these checks.
Build Too Large
A Marlin build can range in size from under 60K to over 200K with a generous complement of features enabled. All features try to use as little SRAM as possible, but some have a higher SRAM cost. As a guide and starting-point, be sure to use the example configuration included with Marlin that best matches your specific machine model.
Trinamic Stepper Drivers
- See Trinamic troubleshooting for guidance.
- Increase the
False Endstop Triggering
- Enable and set
ENDSTOP_NOISE_THRESHOLDto filter the endstop signals.
BLTouch Pin Drop / Blinking
- Servo voltage / signals may be unstable due to heater signal lines being too close to servo traces.
- Solution: Disconnect the servo signal line after the print starts.