LCD screen distorted and reboot loop

Continuing the discussion from LCD Display brick?:

I am experiencing the exact same screen as the above link, except mine is on a Monoprice Maker Select Plus.
I am using a new 8GB Sandisk microSD card bought from Newegg, delivered two days ago.
I have tried installing and reinstalling firmware in all orders. The latest attempt was:

  1. CleanEEPROM firmware installed to mainboard via avrdude
  2. 4.0.6 installed to LCD via SD card
  3. 4.0.6 installed to mainboard via avrdude

I have done screen /dev/ttyUSB0 115200 from Ubuntu. A few lines appear:
start
echo:Marlin 1.1.9
echo: Last Updated: 2020-03-08 12:00 | Author: (andrivet)
echo:Compiled: Mar 8 2020
echo: Free Memory: 2717 PlannerBufferBytes: 1664
echo:EEPROM version mismatch (EEPROM= Marlin=V55)
echo:Hardcoded Default Settings Loaded
echo:SD init fail
Based on ADVi3++, Copyright (C) 2017-2020 Sebastien Andrivet
Sponsored by Alexander Cherenegar
This message repeats ad infinitum. So the mainboard must be in a reboot loop. I think that on the “EEPROM version mismatch” line there should be “EEPROM=V##” but instead there is “EEPROM=”.

What are some ways to troubleshoot and/or fix the issue?

I have checked the LCD-mainboard cable connection and pushed the two ends into their respective connector ports. The connections seem solid.

Actually I made some progress just now.

From Arduino IDE Serial Monitor I entered command M501 followed by M500. Now the EEPROM version mismatch is gone, but I still have a reboot loop. The new message is:
start
echo:Marlin 1.1.9

echo: Last Updated: 2020-03-08 12:00 | Author: (andrivet)
echo:Compiled: Mar 8 2020
echo: Free Memory: 2717 PlannerBufferBytes: 1664
echo:V55 stored settings retrieved (767 bytes; crc 58324)
echo: G21 ; (mm)

echo:Filament settings: Disabled
echo: M200 D1.75
echo: M200 D0
echo:Steps per unit:
echo: M92 X80.00 Y80.00 Z400.00 E93.00
echo:Maximum feedrates (units/s):
echo: M203 X450.00 Y450.00 Z20.00 E25.00
echo:Maximum Acceleration (units/s2):
echo: M201 X1000.00 Y1000.00 Z100.00 E1000.00
echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
echo: M204 P800.00 R800.00 T800.00
echo:Advanced: Q<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
echo: M205 Q20000.00 S0.00 T0.00 X8.00 Y8.00 Z0.40 E1.00
echo:Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:PID settings:
echo: M301 P33.41 I1.47 D189.27
echo: M304 P333.66 I60.79 D457.83
echo:LCD Contrast:
echo: M250 C64
echo:Linear Advance:
echo: M900 K0.00
echo:Filament load/unload lengths:
echo: M603 L0.00 U100.00
echo:SD init fail
Based on ADVi3++, Copyright (C) 2017-2020 Sebastien Andrivet
Sponsored by Alexander Cherenegar

So it looks like the firmware is installed correctly but the reboot loop persists. Does this mean it is a hardware problem? That would be very unfortunate as I have no idea where to even start beyond the LCD-mainboard connector cable.

You mean you have a corrupted display? Please post a picture.

Yes. It appears exactly the same as in the link. I have copied the image from the link to this topic for reference.image1

Please post a picture of YOUR screen, not of someone else.

20200710_161249 Here is a recent photo of my screen. I cannot see a difference between this photo and the other one.

Your LCD screen has forgotten its own configuration. There are not always reliable and it can also be due to a defective microSD.

The solution is to give it back its configuration. The latest version of ADVi3++ tries to do that with a configuration file but in your case, it does not work (again, maybe because of a problem with the microSD).

It is possible to connect directly to the LCD panel to put back its configuration. But for that, you will need some material such as a USB to serial TTL converter. Do you have such thing?

Regarding the boot loop, this is very likely because of the problem with the LCD panel. The mainboard send it a command, wait for an answer and since there is none, the watchdog triggers and reboot the firmware.

I have reread the messages. Have you tried to flash this file?

It should put back the configuration of your screen so you can then flash the firmware. I recommend to flash with another microSD card.

I should have mentioned earlier… the first microSD that I used to try to flash the LCD had 2GB printed on the microSD card itself, but the computer thinks there are 4GB available in that card. But then I read elsewhere on this forum that you wrote that this might have caused issues. So in response to that I purchased a brand new 8GB microSD card. I have been using the 8GB microSD card since then. I would be surprised if the 8GB microSD card is also defective because I literally just bought it once I learned that the 2GB card may have been the issue. But the configuration was probably lost/corrupted when using the first 2GB card to flash the LCD according to what you’ve written.

Yes, I flashed the mainboard with that hex file, then flashed with ADVi3++ 4.0.6. Are you saying I can reset the LCD’s configuration with that file as well? Can I do that with a microSD card or must I get a USB-TTL cable? I do not have such a cable right now but I can order one if that is the most likely course of correction for my issue.

Are there any other ways to reset the LCD configuration using my computer if I am connected to the mainboard with a Serial Monitor through the Arduino IDE? I have tried reflashing 4.0.6 onto the LCD many times with the 8GB SD card but I have not seen any improvement.

The first flashing with the corrupted first microSD (2GiB / 4GiB) may have bricked the display and this is why it does not work now even if you try to reflash with another microSD.

You can try the following file (for the LCD panel) from Wanhao:

http://www.wanhao3dprinter.com/xiazai/LCD_display_formating_firmware.rar

Thanks, that fixed the issue of the glitched screen.

For the record, I downloaded the file and copied it to a freshly formatted SD card. For good measure, I also extracted the contents of the file to the SD card’s top directory. Then I flashed as normal and when the screen was white I removed the SD card, etched the ADVi3++ firmware onto it, and plugged it back in. The flash for the LCD screen worked as expected.

I am still having an issue with a reboot loop. I believe I bent one of the wires inside the cable connector port after all the manhandling and it’s not making a proper connection anymore. Do you have a link to where I can buy just the connector port? If not, I will have to buy a new LCD screen right?

Can you send a picture of which connector has a problem?
(because there are different screen models with different ports)

20200723_191334

20200723_191613

20200723_191635

The pin I messed up is the far right one. I popped it back in place but I think it’s bent out of shape on the inside.

So something like this:

Be sure to select 1mm pitch and 10p (pins). There are many sellers of similar products. I just took the first one. It is around USD 1 for 10 connectors. So very cheap.

I also recommend to buy some flat flexible cables FFC FPC 1mm pitch, 10p, type B (also called type 2). It is also cheap and useful if you damage your cable.