This is my first time asking for some help on here and I have Googled, but only found a few reference to this issue. I know I am doing something dumb but I have no clue what it is.

I get an unknown motherboard error every time I try to setup my MKS GEN L. At first I found that in the boards.h file there was no reference to this board and the pins.h file was not there either. I have added both of these in and still nothing. I have checked the configuration.h and as far as I can tell I cannot find the error.

I have tried this in 1.1.9 and 2.x of marlin and get the same error.

The message is:

    Arduino: 1.8.9 (Windows 10), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from sketch\MarlinConfig.h:33:0,

                 from C:\Users\name\OneDrive\Desktop\Ender 5 1.1.61 version (1)\Ender 5 1.1.61 version\Marlin\Marlin.ino:31:

pins.h:235:4: error: #error "Unknown MOTHERBOARD value set in Configuration.h"

   #error "Unknown MOTHERBOARD value set in Configuration.h"


In file included from sketch\MarlinConfig.h:39:0,

                 from C:\Users\jcgra\OneDrive\Desktop\Ender 5 1.1.61 version (1)\Ender 5 1.1.61 version\Marlin\Marlin.ino:31:

SanityCheck.h:311:6: error: #error "BABYSTEP_ZPROBE_OFFSET requires a probe."

     #error "BABYSTEP_ZPROBE_OFFSET requires a probe."


SanityCheck.h:624:8: error: #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined."

       #error "Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN requires the Z_MIN_PIN to be defined."


SanityCheck.h:909:4: error: #error "HEATER_0_PIN not defined for this board."

   #error "HEATER_0_PIN not defined for this board."


exit status 1
#error "Unknown MOTHERBOARD value set in Configuration.h"

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

My config file is as follows Config.h.

Please let me know if there is anything else you might need to help with this matter and thank you for your time and attention.

  • $\begingroup$ What firmware are you using? Marlin has your board in the boards.h file under 1110 in Marlin 2.x. $\endgroup$ – 0scar Jan 26 '20 at 23:38
  • $\begingroup$ In this iteration I had 1.1.9. I have used 2.x and I get the same problems. In the later versons of Marlin the MKS Gen L is missing from Marlin all together. It is only seen in the 1.1.9 so far unless I am missing something. $\endgroup$ – James Gray Jan 26 '20 at 23:53
  • $\begingroup$ Well it's not missing in Marlin 2.0 on Github: github.com/MarlinFirmware/Marlin/blob/2.0.x/Marlin/src/core/… $\endgroup$ – towe Jan 27 '20 at 7:29
  • 1
    $\begingroup$ I've just went over the configuration.h you posted, and it appears you're using the 1.1.6 (or older) release of Marlin. The MKS_GEN_L was added in 1.1.7 $\endgroup$ – towe Jan 27 '20 at 7:37

As explained in the answer by @towe, you are using an older version of the configuration file, it appears that you aren't using the latest sources from the 1.1.x and the 2.0.x trees.

In addition to the answer, the MKS GEN L is basically a RAMPS board with RAMPS pin layout except for a few pins. The board is defined in both 1.1.9 and 2.0.x (if you scroll down you see that it includes the pin definition for a RAMPS layout: #include "pins_RAMPS.h"). This being said, you could get it to work in pre 1.1.7 release of Marlin if you must. Choosing a RAMPS board for MOTHERBOARD constant and overriding/defining MOSFET_D_PIN to 7, X_CS_PIN to 59 and X_CS_PIN to 63 will make the firmware work. But, it is advised to get the latest version, even Marlin 2.0.x will run fine on Arduino Mega 2560 based boards.

  • $\begingroup$ bahh I did not catch that. I have adjusted and this was what I needed. The version of marlin i was downloading only had mks base and mks 1.3. The version you linked had the right thing in it. Not sure how i missed it. Thank you!!!! $\endgroup$ – James Gray Jan 28 '20 at 0:43

The MKS GEN L board was added in Marlin release 1.1.7 .

According to the configuration file you've linked and previous Marlin releases, your copy of Marlin is release 1.1.6. While all Marlin releases before 1.1.7 had "010100" as "CONFIGURATION_H_VERSION", earlier versions had less features than listed in your configuration file.

In Marlin 2.0.x, the MKS GEN L is also available.

Since you said it was also unavailable in 2.0.x, please provide a copy of your entire 2.0.x setup.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.