|

Use the MKS Gen L V1.0 Board for CNC Foam Cutting

What is an MKS Gen L V1.0 Board

The USB CNC hot wire foam cutter design I released in July 2019 is based on Arduino 2560 with a RAMPS 1.4 board. You can buy each one separately and then join them together. The MKS Gen L board is the same thing but it’s integrated into one unit. Which in itself isn’t a big deal. But there are a few features on the board that makes it an attractive alternative.

You can use the V2.1 MKS board with the alternative firmware check this post on how to use it.

MKS Gen L for CNC Foam cutting
MKS GEN L with NEMA17 stepper motors and DRV8825 drivers – 24 Volt PSU

Why use the MKS Gen L V1.0 Board?

The two main reasons I believe it may be a good choice for foam cutting are that it can run at 24 Volts and use external drivers with bigger stepper motors.

24 Volts

A few builders have built the machine where the distance between the carriage is over 1 meter or 39 inches. Some have struggled to get the wire hot enough. The D8 connector on the RAMPS board works from a 12 Volt power supply.

The MKS board can operate at 12 or 24 volts which can help if your hot wire is very long.

External Drivers

You can use external drivers as the board provides connectors to take the step and direction signals to external drivers. This would allow you to use much bigger stepper motors like the NEMA23.

If you use onboard drivers like the A4988 or the DRV8825 these can only support at most 2 Amps in a burst. Generally, they run best at 1.5 Amps or less with NEMA17 stepper motors

The foam cutter doesn’t need NEMA23 or bigger stepper motors if you build the version on this site. But if your build is going to be bigger then NEMA23 stepper motors may be a better option. You will need to connect to some suitable external stepper drivers like the TB6560. Which can support up to 3 Amps.

You may already have some NEMA23 stepper motors and drivers from an old parallel port controller. If your old parallel port computer has died then this can get you running again. One caveat though is that you won’t be able to use Mach3 or LinuxCNC. If you still want to use Mach3 then check my post here where I discuss 6 possible solutions

Why did I buy one?

I have two Arduino’s Mega 2560’s one which operates the machine and one I did use for testing. Notice I said did. Well, it decided it didn’t want to play anymore. The USB interface failed and it wouldn’t connect. It was a cheap Chinese clone so that’s a chance you take.

So I decided it would be a good opportunity to try the MKS board. I’ve had a few builders ask me if you could. I said, in theory, it should work but not having tried one I couldn’t be certain. So I ordered one and in a few days, it arrived. I already had a 24 Volt power supply to try with it as well.

A bit of a surprise

When the MKS board arrived I uploaded the Mega 5X firmware and connected it up to the computer and it worked as expected. The board showed status messages and reading on the DRO’s(digital readouts). Great I thought, then a few days later I connected it to one of my test laptops.

To my surprise, it seemed to connect but there was no data coming back. DRO’s (Digitial Read Outs) were blank and had no status messages. I spent several days trying all sorts of fixes like drivers and settings but nothing made any difference. My suspicion was that it was something to do with Mega 5X controller Windows software. If I used the Arduino IDE or installed the DevCNC foam cutter firmware it worked fine

I even built a small test application to send and receive data and that worked. Well after many hours I found the issue. It was to do with the way the software was resetting the board when it first connected. I didn’t write the original program, so it can be a bit of a detective game to follow someone else’s code.

The board now resets using the standard GRBL way of sending a ctrl-X instead of toggling the DTR signal. Why it worked on one laptop and not another can only be the differences in the USB serial chip implementation. So please use the latest version of the WIndows controller program in the downloads section.

Load the firmware onto the MKS board

This operation is the same as the Arduino Mega 2560. Follow this post here

Install the Grbl HotWire software

This is a simple install just go to the downloads page and get the latest version. If you have a previous version you may get an error saying it was already installed. Just remove the previous version and it will install.

Connections

The connections to the MKS board are the same as the RAMPS board but they are in different locations. The picture below shows where you should make the connections and install the drivers. This first picture is for the onboard drivers.

Please note that the socket “-FAN+” printed on the board will not work with this firmware. Please use the white socket next to the X-AXIS socket as shown in the picture.

Using the onboard stepper drivers

The MKS board can use several different types of drivers. I’ve only used the A4988 and the DRV8825 on the RAMPS board, so I’ll only be explaining how to configure these.

The driver module’s current needs to be adjusted to match the stepper motor. If you don’t do this it can possibly overheat or even destroy the driver module or not have enough current to move the stepper motor.

Have a look at my video here explaining how to set the driver current. We need to set a voltage reference for the stepper motor current. When you buy your stepper motors check the current per phase, Using the A4988 or the DRV8825 try to stay below 1.5 Amps. The drivers will handle a burst of 2 Amps but not for long. Make sure you have a cooling fan to blow over the heat sinks as well.

Once you know the current for your stepper motors then use this calculation to work out the VREF and follow the video linked above to show how to adjust the current. The video shows the Arduino Mega with the RAMPS board but the procedure is the same for the MKS board.

Using external stepper drivers

MKS GEN L external drivers and NEMA23 stepper motors
MKS GEN L external drivers and NEMA23 stepper motors

This is one of the advantages of the MKS board. You can do this with the RAMPS board by not fitting any onboard drivers or inserting wires into the sockets but it’s a bit messy and you will need 2 power supplies. The RAMPS board requires 12 Volts and most external stepper drives work on 24 Volts or higher.

QtyImageDescription
14 x Drivers Modules such as TB6560 or TB6600.
Similar drivers can be used as well. See the section on External Drivers
SuitableDrivers
1MKS Gen L BoardMKS Gen L V1.0 Board
4
nema23
Nema 23 Stepper
NEMA 23 Stepper Motors 57BYGH56-401A or similar.
ferrules crimp kitSelf-Adjustable Ratchet Wire Crimping Tool with 1900 Wire Terminal Crimp Connectors

Which external stepper drivers should I use?

There are quite a few to choose from but like the onboard drivers, you need to make sure the driver can supply the current for stepper motors. Popular choices are the TB6560, TB6600, DM542 and the Gecko drivers. The main differences are current capacity and price. If you search the Internet you’ll find good and bad user experiences with the cheaper drivers. I ran my old foam cutter using the TB6560 all-in-one controller and still use it on my CNC router and it’s been 100% reliable. So my advice to you is to buy the best you can afford with a good returns policy.

Connecting the drivers to the MKS board

I ordered some NEMA17 4 to 6 ping cables to connect to the external connectors to take the enable, step, direction and ground pin to the TB6560 drivers. I cut off and discarded the 6-pin connector and then used some ferrules and a crimping tool to make the 4 connections. I connected each one as the wiring diagram below.

Before you connect any power we need to set the current to match the stepper motor. On most external drivers DIP switches are used. My NEMA23 stepper motors are rated a 2.8 Amps so I’ve set the DIP switches to 2.6 Amps and 1/8 micro-stepping.

TB6560 DIP SETTINGS

The EN-, CW- and CLK- pins on the TB6560 need to be bridged and connected to GND on the drivers to make them work.

On the TB6600 and the DM542, you will probably need to leave the EN- and EN+ disconnected. I don’t have these drivers but a couple of builders have confirmed this.

Connecting the Stepper Motors

Most stepper motors used for hobbyist projects are usually 4-wire bi-polar. Connecting is quite simple just find the pairs and connect them into A-A+ and B-B+. It doesn’t matter which pairs go to A or B but keep them all the same. The only effect it has is the direction of rotation. We can change this in settings on the Windows controller program later if needed.

You can find the pairs very simply. Just hold two wires together so they are connected and turn the motor. If you feel resistance then that is a pair if it turns very freely then try another wire. Then make a note of the colours of each pair. Quite often the manufacturer will give the colour codes for each pair.

A common colour code for pairs is GREEN/BLACK and RED/BLUE. But check as above to make sure they are pairs.

Power Supply

If you are using internal drivers and want to use 24 volts for the hot wire then you don’t need a big current power supply. So if using the DRV8825 or the A4988 if you allowed 2A for each the MKS will take around 1A and the hotwire will at most need 3-4A then we have a total of 13A. So a 15A power supply will be fine. Remember the drivers won’t be drawing maximum current and if your build is very smooth in operation with no binding it will probably never hit 2A.

For external drivers, it’s the same procedure. My motors are 2.8A so that’s a total of 16.2A with 1A for the MKS board and 3-4A for the hot wire. So a 20A power supply will be fine for this.

If you are unsure going for a bigger 24 Volt power supply won’t hurt it will just cost a little more.

End-Stops

The configuration on the end-stops or limit switches to get Homing working is the same as the RAMPS board so please follow this link GRBL HotWire Mega 5X for CNC Foam Cutters

The connections are different so use the picture below and only connect the signal and ground wires. Don’t use the top pin in each socket or you will probably damage the board. This is for the MKS Gen L V1.0 board only.

Optional 3d printed parts used

If you have a 3d printer then these parts can make a nice addition to your build here are the links to some parts I created and a few I found on Thingiverse

MKS Gen L Casehttps://www.thingiverse.com/thing:2621002
Limit Switch Mounts and Fan Lidhttps://www.thingiverse.com/thing:4672516
TB6560 Driver Supporthttps://www.thingiverse.com/thing:3785335

Summary

Hopefully following this post and the e-book you have your MKS Gen L board working now. Check the videos as well where I go through it all, calibration and homing in Part 2.

If you have any issues please double-check all your connections and software settings. If that doesn’t help then drop me a line at hotwire.cnc@gmail.com and I’ll do my best to help you out. I always respond to emails and YouTube comments.

Similar Posts