Many 3D printers are based on an Arduino with some stepper motor drivers, commonly on a RAMPS shield. The Fabrikator Mini is using an MKS-Base board, which is basically an Arduino Mega (with an ATmega2560) and a RAMPS 1.4 shield on a single PCB.

I’ve also got the so-called RepRapDiscount Full Graphic Smart Controller, a graphic LCD, a beeper, some buttons to control the menu and an SD-card slot. It does, however, not work out-of-the-box, you need to compile a new firmware to get it to run.

The YouTuber Chuck Hellebuyck offers a pre-configured Marlin Firmware on his website, but it seems to be a very old version. That’s why I’ve decided to get the newest Marlin Firmware working on the Fabrikator Mini.

At the time of this writing, Marlin version 1.1.0-RC3 was the newest available firmware release. Clone the repository and check out the corresponding tag:

The configuration happens in the files Marlin/Configuration.h and Marlin/Configuration_adv.h. It’s best to read through the whole file to get to know all available options. I’ve listed the important changes in the following section, including the changes required to get the display and SD card working:

With its default firmware, the Fabrikator Mini by default runs the fan as soon as the extruder temperature exceeds 50 degrees Celsius. To get this behavior from the Marlin Firmware, EXTRUDER_0_AUTO_FAN_PIN is set to the same value as FAN_PIN. This leads to a compile error. To fix this, FAN_PIN has to be undefined. This can be achieved by modifying the pins.h file corresponding to the mainboard used, in this case Marlin/pins_RAMPS_13_EFB.h, adding these lines at the end:

That’s it. You can now open the Marlin/Marlin.ino file in the Arduino IDE, select Arduino Mega 2560 as device and the Fabrikator Mini USB port and hit upload. If this is your first time compiling Marlin with Graphic LCD support, you need to install the u8glib from the Arduino IDE library manager.