Skip to content

Instantly share code, notes, and snippets.

@SharkWipf
Last active March 6, 2023 23:44
Show Gist options
  • Save SharkWipf/a9268e78bae29e262421200e64ad4d02 to your computer and use it in GitHub Desktop.
Save SharkWipf/a9268e78bae29e262421200e64ad4d02 to your computer and use it in GitHub Desktop.
What I've learned messing around with a 2nd hand Malyan M200, documented for my and others' future reference.

What I've learned messing around with a 2nd hand Malyan M200, documented for my and others' future reference.

This is a simple brain dump after I spent a day and a half figuring out the 2nd hand printer my brother bought, I figured it might be useful to others as well.

First off, beware of the cables. This model is notorious for the Y axis eating the bed heater cables, which will, sooner than later, make the bed heater or thermistor stop working.

Our printer seems to have the exterior of the Malyan M200 v1, but seems to only run the Malyan M200 v2 firmware. This conflicts with the information available on how to recognize what version you have. Well, you figure it out fast enough when you start flashing firmware, only one works properly.

Malyan M200 series is one-to-one compatible with the MonoPrice Select Mini (MPSM or mpselectmini for short) series, white-label rebrand. This means the firmware is one-to-one compatible as well.

If you aren't sure about your model version, you can look at the (stock) firmware version that shows on boot and compare the versions to the versions listed on https://www.mpselectmini.com/.

Marlin 2.x

The build instructions for Marlin 2.x custom firmware were a bit outdated and unclear, so below I documented the changes I had to make. The Marlin build was built using the readme and configs from https://github.com/MarlinFirmware/Configurations/tree/release-2.1.2/config/examples/Malyan/M200, with a little bit of debugging from xC0000005/Marlin#1 (not sure if the Float printf is still necessary). As per MarlinFirmware/Configurations#900, 2 changes were necessary:

  • The line #define F_CPU 72000000 had to be added to the Configuration.h file in order to build with the Arduino IDE, or it would throw a fatal error.
  • As per MarlinFirmware/Marlin#23716, the line #define DISABLE_WATCHDOG_INIT had to be commented out from Marlin/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h to prevent bootlooping.

Also worth noting that, while the STM32 repo mentioned for Arduino IDE is filled with deprecation warnings, you still need 1.9.0 from that deprecated repo. The new repo, which currently goes up to STM Cores 2.4.0, does build successfully, but the resulting image is too big for the printer's flash, so is, well, useless.

Keep in mind only very few SD cards are actually accepted by the bootloader of this printer, the only card we got working so far has been a 1GB non-SDHC non-SDXC unbranded MicroSD card formatted to fat16 ("FAT"). The card that supposedly came with the printer (which we didn't get) is said to be a 128MB MicroSD card.

@SharkWipf
Copy link
Author

Some (bad) pictures of the printer. Note how there's no fan in the rear which, as far as I understood, normally implies it's a v1. Except it's a v2.
Some things are custom, like the mirror print bed, rotary knob and the bed heater cables coming out the side to prevent them from getting run over, again.

image
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment