aegean-odyssey / mpmd_marlin_1.1.x

a fork of Marlin firmware (bugfix-1.1.x) for the Monoprice MP Mini Delta 3d printer
GNU General Public License v3.0
76 stars 19 forks source link

Corrupt display #63

Closed john-clark closed 3 years ago

john-clark commented 3 years ago

I followed the instructions and ended up with a non functioning printer.

The display looks like this: https://i.imgur.com/TSITvip.jpg

The web page gcode box does not respond, the serial port also will not connect.

I renamed mpmd_marlin_1.1.x-119r15-SM0001-ACfan-10Alimit.bin to firmware.bin and put it in the root of the sdcard as instructed with the rest of the files in the zip.

aegean-odyssey commented 3 years ago

A corrupt display is a sign of an issue with the printer's UI controller circuit board; the mpmd_marlin_1.1.x firmware is installed on the printer's mainboard circuit board. And in the case of the MP Mini Delta printer, the Marlin firmware has very little ability to control the UI controller board let alone alter its programming -- I am completely at a loss as to how updating the firmware on one circuit board has seemingly corrupted the firmware on the other circuit board.

Stil, there are a couple of things:

As for fixing the UI controller firmware, I have zero experience with this issue. There is a quick mention on the mpminidelta.com site, but the required ui.bin file does not seem to be available. Perhaps someone will "chime in" on this issue. OR, perhaps contacting the very knowlegable Matthew Upp will help -- Matthew Upp (facebook) and Matthew Upp (reddit).

Please report any findings. Yours is the first report of "updating the firmware affecting the UI controller". Also the firmware and mainboard should work even without the UI controller board, so we should try to figure out why the USB port is not working for you.

PurpleHullPeas commented 3 years ago

I have seen at least a couple of others mentioning that "flashing the firmware" (in the most general sense, not necessarily MPMD Marlin 1.1.X), "bricked their printer." At least one person came back to report that they fixed it with a successful firmware flash.

I do not know what they did differently. I just know that the MPMD can be very finicky about SD Cards and the stock SD Card is prone to failure. If you lived in my area (North AL), I would offer to let you try my known working card.

Chris from the Facebook Group also found a way to flash the bootloader and firmware using an ST Link, instead. I copy-pasted it here to make his information accessible outside of Facebook.

rgrobe commented 3 years ago

While I have flashed the various MPMD firmwares multiple times, I also tried my luck updating the UI software more than once (mostly following the mpminidelta.com suggestions), and somehow managed to damage the UI assets slightly (not as bad as here, but with some erroneous bits in the extruder motion submenu). I finally managed to download a UI.bin file from another Monoprice-related forum (don´t remember exactly from where) and could reload the UI assets properly using the MiniDelta´s own webpage (following the upload explanation on the mpminidelta.com site). I have attached it here - please use at your own risk. Good luck!

m200_-_ui_assets_forv100.2-v120.2-_monoprice_logo.zip

john-clark commented 3 years ago

I tried the firmware @rgrobe suggested and I had a different mangled display. https://i.imgur.com/S0ncLbb.jpg

I did find various lcd.bin/update.bin, ui.bin, firmware.bin, combinations available although none with any real documentation. I was able to get my display back by flashing various firmware found online. To get back to something semi functional I flashed:

mpmd_-_motionv41-20170815-firmware.zip m200-_ui_assets_forv150.2-v160.2-_malyan_logo.zip

Once I had the motion v41 flashed from sdcard I was able to get the usb/serial port working again. To be honest I am not sure if it was the combination or the result of the accumulation. Now, I will now start over with mpmd_marlin_1.1.x to try and get a functional flash as I may have had a corrupted download or something wrong with the card.

My guess is that when flashing the firmware all these different bin files flash different parts of the controller, and there is no protection for large files over writing other parts. It would be nice if they released code and documentation for the firmware, since seems it to be abandoned by the OEM.

john-clark commented 3 years ago

With the above flashing the web ui was corrupt so I clicked upload to get back the default webui.

Then I flashed mpmd_marlin_1.1.x-119r15-SM0001-ACfan-10Alimit.bin and it seems to be working. Except, now have weird flashing on the lcd when I select menus, but the menus are not corrupt.

The first time I ran /setup_gcode/AUTO_CALIBRATE.gcode it locked up the machine right away. I restarted and it ran about 5 times back to back without stopping, I was able to cancel. Then I ran G33 V3 T from pronterface and was able to see that it was going to run several iterations. But it locked up the 2nd time through. I was able to see this error: Error:MINTEMP triggered, system stopped! Heater_ID: bed [ERROR] Error:MINTEMP triggered, system stopped! Heater_ID: bed

Error:Printer halted. kill() called! [ERROR] Error:Printer halted. kill() called!

The serial connection is working.

aegean-odyssey commented 3 years ago

First, @PurpleHullPeas and @rgrobe, thank you for helping out. I've no experience with this display issue, and I'm still trying to come up with a plausible set of circumstances that lead to flash memory on the UI display board somehow being altered while programming the flash memory on the motion controller board -- especially since there is only the single serial port connection between the two boards AND there is no code at all in the Marlin firmware that tries to "configure" the UI board other than an initial "reset" sequence. So it seems that it would be one helluva fluke for the controller board to happen to write something to the UI board that corrupts the UI board's firmware. On the other hand, we have evidence that it can happen.

I recall seeing a comment somewhere that perhaps in some of the early Monoprice printers the display board could be flashed by placing ui.bin on the micro SD card along with all endstops tripped and some other hoops to jump through. At the time I thought it was some extra function the Monoprice firmware performed to be able to program the UI board. But maybe it's something that is built into the bootloader. As @john-clark mentions, it's hard to know without documentation or source code for the bootloader, etc.

@john-clark, the G33 code can make quite a few passes before it decides that another calibration pass won't improve things and that it's time to wrap up the calibration procedure. As for the "MINTEMP" error, I believe this occurs when a temperature set with the M104 S... g-code cannot be established or maintained. This behavior is part of Marlin's safety features regarding the printer's hotend.

BUT, the /setup_gcode/AUTO_CALIBRATE.gcode command doesn't mess with the hotend or bed temperatures, so if your scenario didn't include setting the hotend or bed temperatures, it sounds like a bug. Either way, I'd like to better understand how the error manifests itself, so any additional information you can provide will be helpful.

Glad to hear that your printer's display is again working and I appreciate your perserverance with the mpmd_marlin_1.1.x firmware.

aegean-odyssey commented 3 years ago

Closing. If you feel the issue should remain open, please comment and re-open it.