Home Creators Posts Import Register Favorites Logout

Content

Dear Patrons,

Slower than I would like with this one but hopefully it delivers. Please find links below for Marlin firmware pre-configured for the MKS Gen L and various combinations of stepper motor drivers.

Created from Scratch today using the newest Marlin 1.1.9. All created as shown in my videos. More notes below. Ask if you have any questions.

General Instructions:

Download your chosen set of files.

Install the U8GLIB library from the Arduino library manager.

Select Mega 2560 as the board from the menu.

For the stepper motor driver variants, the configuration is set up for running them on all four axis.

BLtouch variants:

Setup for a standard mount such as this with an offset of -44, -16: https://www.thingiverse.com/thing:3003725/

If your mount is different, change the offset on line 776 of configuration.h, and if the offset is greater than 45, change this from line 1023.

Don't forget to add G29 to your start gcode.

LCDs

These files are configured to use the two cables for the factory LCD without SD card as in my original video. If you are using an MKS TFT28, no changes are needed.

A4998

For the cheap and cheerful A4988 stepper motor drivers.

No ABL: https://drive.google.com/open?id=1pxg1iHyZOiqMCDKpkQVX-4fsh9Yu7fdl

BLtouch: https://drive.google.com/open?id=1KH43U9ydXmCXChjceJSZLPGGnV-bG7cM

TMC2100

For TMC2100s as drop in replacements.

No ABL: https://drive.google.com/open?id=1IN37F3ErXVrOBUp5APZ1FdO5vRkPBAB8

BLtouch: https://drive.google.com/open?id=1e4rHlCY9amddfyO6RikrMwr-fYOqMVZC

TMC2208 UART

Set up up for UART mode as shown in my guide. VREFs are set in firmware as 760, 760, 760, 900. Native microstepping at 1/16, interpolated to 1/256. Stealthchop enabled but not hybrid threshold. Uncomment if you want this.

No ABL: https://drive.google.com/open?id=1Cfb_csjxsvqmvibMFAZyUFWVrp_K6LhX

BLtouch: https://drive.google.com/open?id=1MUi7Cqci82JBkn-gJvNOOFCWLJaOwRFh

TMC2130 SPI with sensorless homing

Set up for SPI mode as shown in my guide.  VREFs are set in firmware as 760, 760, 760, 900. Native microstepping at 1/16, interpolated to 1/256. Sensorless homing for X and Y with sensitivity values that work for me. Stealthchop enabled but not hybrid threshold. Uncomment if you want this.  

No ABL: https://drive.google.com/open?id=1ZLNiLmFpBiIYN4k-UMaE-FWi8jUiZiwC

BLtouch: https://drive.google.com/open?id=1nfOL9ELrAxBI1Jb9EnPiIPu1sMzVx-Xy

Comments

Kumra

Thank you so much! Hoping that this will sort my issues.

Kumra

Hi, the files for TMC2130 SPI with sensorless homing (BL Touch), will not compile, with error "SENSORLESS_HOMING requires X_MIN_ENDSTOP_INVERTING and ENDSTOPPULLUP_XMIN when homing to X_MIN."

Kumra

yeah that compiled fine now after changing those, testing with a print now.

Brett Thomas

Michael, even though I don't own an Ender 3 I still appreciate all the hard work you put into helping out your Patreons. Thankyou. :)

Andrea Flego

Hello teach I have 2 question for you is possibole have the picture where connect the fan noctua 5 volt and possible to have all line for bltouch sorry but I ‘m young for Ender 3

Rotem Buhbut

Hi I have just heard about this new 32bit cheap board like mks one from china what u think about it <a href="https://m.aliexpress.com/item/32981807406.html?trace=wwwdetail2mobilesitedetail&productId=32981807406&productSubject=BIGTREETECH-SKR-V1-3-Control-Board-32Bits-CPU-Smoothieboard-TMC2208-A4988-DRV8825-TMC2130-3D-Printer-Parts&albbt=1&tag1=32BITS&fbclid=IwAR0thhyFHXIjO3dshtTEnp8YsCWZxMjMdDPALKQBe6PfDZozDnNQnMXx8jU&isdl=y&albslr=205797132&aff_platform=true&src=Facebook%2CYoutube&aff_short_key=uNb6i2f" rel="nofollow noopener" target="_blank">https://m.aliexpress.com/item/32981807406.html?trace=wwwdetail2mobilesitedetail&productId=32981807406&productSubject=BIGTREETECH-SKR-V1-3-Control-Board-32Bits-CPU-Smoothieboard-TMC2208-A4988-DRV8825-TMC2130-3D-Printer-Parts&albbt=1&tag1=32BITS&fbclid=IwAR0thhyFHXIjO3dshtTEnp8YsCWZxMjMdDPALKQBe6PfDZozDnNQnMXx8jU&isdl=y&albslr=205797132&aff_platform=true&src=Facebook%2CYoutube&aff_short_key=uNb6i2f</a>

The Walrus

After reviewing the No ABL for the A4988 config.h file, I noticed that none of the A4988 lines are enabled. See below: //#define X_DRIVER_TYPE A4988 //#define Y_DRIVER_TYPE A4988 //#define Z_DRIVER_TYPE A4988 //#define X2_DRIVER_TYPE A4988 //#define Y2_DRIVER_TYPE A4988 //#define Z2_DRIVER_TYPE A4988 //#define E0_DRIVER_TYPE A4988 //#define E1_DRIVER_TYPE A4988 //#define E2_DRIVER_TYPE A4988 //#define E3_DRIVER_TYPE A4988 //#define E4_DRIVER_TYPE A4988 Is this correct? Did i miss something?

Andrea Flego

hello prof i want install tmc 2208 in legacy mode and bltouch wich lines in marlin.ino file i must change from tmc2208 uart or from a4988 file

Andrea Flego

bltouch setting on marlin for mks gen l configuration.h #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. why don't set true ?

Teaching Tech

I would start with the 2100 file, and change tmc2100 to tmc2208_standalone at the bottom of configuration.h

Tiff and Tim Rubans

Thanks Michael - I just signed up for Patreon, been following you and playing with my Ender 3 Pro for about 2 months and have had the MKS Gen l and 2208 sitting awaiting.... this will hep big time! THANKYOU!

Will Bradley

I am upgrading my Ender 5 to a MKS Gen L... Is this the same firmware regardless of printer?

Andrea Flego

Hello teach can you make frimware mks gen L - A4998 with bltouch V.3 with marlin 1.9.x ? Tks

Russell T Hoffman

Thanks for doing what you do! Your the first person I've ever supported via this app and rightfully so! Your videos are superb and you've taken me from pleb to pro with my new Ender 3! MKS is on its way with some 2208s. Keep up the awesome work!

Teaching Tech

MKS gen L requires no changes for BLtouch V3, so please just use the MKS Gen L / A4988 combo in this post.

Aubrey Williams

Just joined as a Patron and ordered the MKS Gen L, having these files will be a big help for learning. Thank you for wonderful videos, my kids and I are loving 3D printing and it is in large part due to your lessons, guidance and sense of fun. Well-done, Michael!

Will Bradley

Ok, so I think I flashed this correctly, but my axis are acting up. I am using an MKS Gen L, do I need to make them the inverse of what you have on here? Also, I am running TMC2208s on Standalone mode if that matters.

Kelly Hartley

Thank you! The Gen L video and this post are the reasons I joined.

Aubrey Williams

Hi Michael, wanted to give an update that the MKS Gen L linked at Amazon is out of stock, there are other clones such as Kingprint and I ordered one, but it is longer dimensionally and will not fit in the stock enclosure or your replacement enclosuer. There are other clones such as from BIQU that do appear to have the same dimensions, but the reviews indicate issues with MOSFETs blowing out and other issues such as unsoldered pins. Banggood and AliExpress do still have the board you used in stock, but with delivery times to the USA of ~25 days. I ordered one of the BIQU boards and I'll share how it works when I get it.

Aubrey Williams

I ordered the BIQU/Bigtreetech MKS Gen L with BIQU/Bigtreetech 2130s. The 2130s came pre-configured to run in SPI mode (no need to bridge or desolder any pads). I did have to add a header to the diagnostics via for sensorless homing. The MKS Gen L board is working great, no issues with solder quality or build issues. Also though I would mention for clarity that the MKS TFT32 does not fit in the Ender 3 Pro frame, while the TFT28 that you went with does fit, though it requires the frame you designed to fill in the edges. Thank you for the preconfigured Marlin for MKS Gen L and BL touch!

Thomas Proctor

My version of MSK GEN V 1.4 is much longer than the version 1.1 so the case as printed is too short.i did find another case and it fits fine.

Shane Pollard

Thank you so very much for this and all your work! You are a fantastic teacher. Truly. Everything is clear but also concise--extremely well done. Thank you again. I have an Ender 3 Pro that I've been prepping to upgrade (MKS Gen L, TMC UART, BLtouch). I had decided to do all of these upgrades and watched the relevant 10+ videos of yours probably 5 times each, and finally compiled what I thought was the correct Marlin config... but with these posted configs I was able to catch a few of my mistakes. This has greatly helped in my understanding of Marlin and the process in general. Please keep doing what you're doing!

Shane Pollard

Hello Michael! Thanks to your videos, I did it! I have an Ender 3 with recently installed MKS Gen L, TMC2208s running in UART, and vanilla Marlin. The vrefs I chose to initially set in Marlin were too high for my setup (I chose the values used in the 2208 video but my motors were scorching hot after a few layers). I used an M906 with new values to drop the vrefs a bit and found the motor temperature dropped, so I used an M500 to save to EEPROM. Yet, at the next print, the motors were running hot again. I checked the vrefs with M906 and it was indeed reporting the newer, lower setting, but the motors were just as hot as the first print. I dropped the numbers further and saved again and the rest of the print ran cooler. The next print, the same thing happened. I noticed that each time I dropped the vrefs even farther, the motors ran much cooler than the post-vref-drop-adjustment of the previous prints. After a few rounds of this, I realized that the motors/drivers must be starting each print running off of the vrefs I originally set in Marlin. Setting the new lower vref resulted in the amounts being dropped even further from the initial setting each time. The M906 always returned the previous, most recent value that I had set, however, the value wasn't "utilized" until I set a new value. I don't know why this is, but I came up with a work around. I put the M906 with the vref values I want to use in my start GCode in Simplify3D and this seems to work. I could re-flash the firmware with new settings and I may give that a go, but my question is, do you have any idea why this is behaving this way? AND, can you think of any reason why my temporary solution isn't a good idea? Thanks!

Teaching Tech

Hi Shane, that is very strange behaviour. I can't really explain it. Your solution is sound and will work long term.