Skip to content

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

License

X-Ryl669/MarlinForMKS

 
 

Repository files navigation

This repository is maintained as an updated merge of Marlin with specific MKS fork's commits.

In order to do that, I'm maintaining a patchset above Marlin's firmware from here and the MKS fork.

This means that I'm not keeping a stable history (the bigChange branch is rebased regularly on top of Marlin). If you are not used to this kind of process, it means that you'll need to call git fetch followed by git reset --hard origin/bigChange (if you have local modification, you should git stash them beforehand)

Features received from MKS

There are some "bug fixes" in MKS concerning WIFI that are supposed to be merged here. Makerbase integrated their most interesting feature in Marlin in August 2020 (mainly their nice GUI) so this is alread in Marlin.

My own code

Since I'm testing the code on my printer, I need to use some Configuration.h and Configuration_adv.h. However, this will likely be different for you, so I've started a branch called Sapphire that's supposedly supporting TwoTrees's CoreXY 3D printer. This branch is exactly equal to this branch but with an additional commit on top for the Sapphire Plus configuration file and the built firmware in the Firmware/SapphirePlus folder. Please notice that I've upgraded my printer with many mods, so it might or might now work for you (you'll probably need to re-tune the PID for the hot bed and the hot end). A description of the modification are provided here.

Known bugs

The following bugs were found by running the firmware:

Bug In MKS version Expected solution
Pause and resume does not work as expected Yes Need to implement 2 types of pauses: one for filament break detection (like the current), where resuming implies unloading and reloading the filament, the other for temporary pause and resume without filament/extruder operation (maybe a small retract?)
Crash in the file listing if the GCode contains a picture Yes Not found yet
No position report in the "move" menu, like before Yes Need to add the missing label and update it on position change

Build

As the firmware is based on Marlin2.0.x which is built on the core of PlatformIO, the buid compiling steps are the same as Marlin2.0.x. You can directly using PlatformIO Shell Commands, or using IDEs contain built-in PlatformIO Core(CLI), for example, VSCode and Atom. VSCode is recommended.

About the gcode file preview

The images should be added to gcode file when slicing, and MKS has developed the plugin for Cura to make it.

About the image conversion

  • Open LVGL online image converter tool.
  • Open bmp images.
  • Enter the saved file name.
  • Choose color format:True color.
  • Choose file output format:Binary RGB565.
  • Start convertion.
  • Save bin file.
  • Copy the converted bin file to the assets folder.
  • Copy the assets folder to the SD card.
  • SD card is connected to the motherboard, and you can see the update interface after powering on.

Firmware Can be run on Robin Nano V1.x and V2.x boards

MKS Robin Nano V1.x build and update firmware

  1. Build config:
  • platformio.ini:

    default_envs = mks_robin_nano35

  • Configuation.h:

    #define MOTHERBOARD BOARD_MKS_ROBIN_NANO

    #define TFT_LVGL_UI_FSMC

    //#define TFT_LVGL_UI_SPI

  1. Update firmware:
  • Enter the .pio\build\mks_robin_nano35 directory, copy the assets folder and Robin_nano35.bin to the sd card
  • SD card is connected to the motherboard, and you can see the update interface after powering on.

MKS Robin Nano V2.x build and update firmware

  1. Build config:
  • platformio.ini:

    default_envs = mks_robin_nano35

  • Configuation.h:

    #define MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2

    //#define TFT_LVGL_UI_FSMC

    #define TFT_LVGL_UI_SPI

  1. Update firmware:
  • Enter the .pio\build\mks_robin_nano35 directory, copy the assets folder and Robin_nano35.bin to the sd card
  • SD card is connected to the motherboard, and you can see the update interface after powering on.

More information about the Robin Nano V1.X

Please refer to MKS Robin Nano github.

More information about the Robin Nano V2.X

Please refer to MKS-Robin-Nano-V2 wiki.

Marlin 3D Printer Firmware

GitHub GitHub contributors GitHub Release Date

About

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. | Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 71.5%
  • C 24.4%
  • Objective-C 2.2%
  • Python 0.8%
  • Shell 0.6%
  • Makefile 0.3%
  • Other 0.2%