MKS Gen L V1.0

Here is how I managed to get a MKS Gen L V1.0 to work:

  1. install CH341SER drivers from (this card does not work with the normal USB drivers)
  2. use a version of marlin that is set up for MPCNC that works with a Mega+RAMPS 1.4 and comment out the existing MOTHERBOARD define in Configuration.h and replace it with BOARD_MKS_GEN_L
  3. cut off the tabs from the EXP1 and EXP2 connectors on the cable from my LCD so I could plug them in rotated 180 degrees (the female connectors on the board are mounted with the slot on the wrong side!)

Here is the case that I ended up printing:


I have upgraded my 3D printer with MKS gen L baord. YOu did not need to cut tabs on your cables, you could easily rotate plugs on LCD (pry them out, rotate them 180 degree and put tham back on pins.

How are you satisfied with board?
What drivers are you using?
Did you wire 2 motors one one driver?
Did you use splicer board for cables?

I am also much interested in how this board performs. Could you share more info?

I built a 3d printer using the MKS Gen L V1 board. I programmed it via Arduino on my PC (Win10). I did not need to install any drivers, Win10 recognized it as a serial port, which runs at 250K baud. My 3d printer power supply is 12 volts. For the z-axis I used two steppers with an adapter board I got from Zyltech that let’s you plug 2 steppers in parallel. I used ordinary A4988 stepper drivers. They easily deliver 2 amps to the z stepper and the chip runs only slightly warm. Also, the heat bed FET is hooked directly to my heat bed without an external FET. I simply positioned a small fan directly over the FET and it never exceeds 120F even though it supplies 19 amps when the bed is on. The FET is rated at 30amps, but with cooling of course! I haven’t built an MPCNC yet (soon!) but I think the Gen L V1 should work just fine. There are some extra I/O available on the board. And as others have noted, you have to flip the plastic housing on the display connector of the display. I don’t know if it’s an error on the MKS board or on the 64128 display.

could you show how you have that wired up?

Are you interested in any specific aspect of the wiring?

I’ve been using the MKS Gen L board for about 6 months, and it works with no problems. I use the DRV8825 drivers for all 3 directions. The stepping motors are attached to the X, Y and Z connectors. I only use the z endstop for zeroing purposes, and an “always on” fan connector. All are clearly labeled on the various photos available.

You do need the serial port driver mentioned above, and the RAMPS version of Marlin.

For the 64128 display, it just connects into two ribbon cable connectors on the Board, but you may want to get a couple of longer cables and, yes, you’ll have to reverse the connector housings on the display board.

You can also use an MKS TFT display, but I’ve not done that yet.

About the only issue that I’ve had is that the dupont connector for the y motor was not staying connected, so I made a jumper to the JST connector on the Board. Probably could have bent the pins on the Board slightly.

I’ve also just done a board upgrade on my 3D printer. The implementation on the MPCNC was much simpler for various reasons.

Do we need to change the motor direction and steps/mm when switching from the Mini Rambo to the MKS GEN L with TMC2208 drivers?

So can we use the dual endstop firmware for the ramps board or does it need to be modified for the GEN L? I have already defined the GEN L board, anything else that needs changing?

I am using Gen L with TMC2208 drivers in standalone mode with that firmware. Here are my config files (can’t remember if I actually changed anything in Configuration_adv.h though) .

I’m not using an LCD, instead I have a MKS TFT24 screen. I customised it with some extra buttons for additional functions that I needed (see my other post on “Dual Endstop workflow” in this forum).

Seems like attaching .h files doesn’t work. Here are screenshots of the diffs.

1 Like