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)
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.
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.
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 |
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.
The images should be added to gcode file when slicing, and MKS has developed the plugin for Cura to make it.
- 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.
- 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
- Update firmware:
- Enter the
.pio\build\mks_robin_nano35
directory, copy theassets
folder andRobin_nano35.bin
to the sd card - SD card is connected to the motherboard, and you can see the update interface after powering on.
- 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
- Update firmware:
- Enter the
.pio\build\mks_robin_nano35
directory, copy theassets
folder andRobin_nano35.bin
to the sd card - SD card is connected to the motherboard, and you can see the update interface after powering on.
Please refer to MKS Robin Nano github.
Please refer to MKS-Robin-Nano-V2 wiki.