Mks dlc 32 v 2.1

Nice OS… that’s why I run Linux. :crazy_face:


ch341ser.inf_amd64_084c012580251feb.txt (40.4 KB)

Rename to ZIP and go through regular “add hardware” process, select location=>folder where unzipped files are. After complete - you should see in device manager under “COM Ports”

I’m professional EE hardware designer. I use MKS boards for hobby and they are pretty well designed and made, and priced so well - there is no competition. They are fantastic value! Call them “dirt” is not fair. As a fact I rarely find any real defect in them.

You can’t not care about it, programming in particular, ignore the facts it and expect it to do what you fancied. If this is not you cup of tea - ask friends, community or maybe Chat GPT.

CH 340 is a a response to originally pirated IP silicon and then heavy handed “resolution” by Prolific (maker of the most popular USB to serial chip ever) by bricking millions of devices with mandatory Windows driver update.
My experience: CH340 is very robust, when used with crystal. There is
option with RC clock only and that one is iffy. MKS use crystal. CH340 and CP2100 (higher performance) become dominant on the market. Prolific originally being victim, now is like angry zombie, at least for Windows. Linux has a patch where bricking is undone.

Drivers I’ve posted, are from original manufacturer, a few years old, I recall they are signed by Microsoft. I never had any problem with them and all auto scan for GRBL response always works as expected.

Nothing wrong with MKS boards. Have a patience.

1 Like

Good reason to stay with Linux :grimacing:


Any idea how to enable wifi? I tried to enable it via the settings on the sd card, but I couldn’t see it looking at the available wifi entries…



WiFi on DLC32 setup with custom G-code extended commands, similar to M-commands. You may send 'em manually or compile and execute G-code file. Some Googling will help with command list for WiFi control.

Once WiFI connected - there are x3 ways to use wireless connection:

  • Upload G-code file through web interface. Then job can run offline, autonomously.
  • Telnet
  • Web Socket

Later two methods are direct replacement for serial and talking the same language as serial and can be used for online control just like serial.
LaserGRBL has connection option in the program to select Telnet or Web Socket instead of serial. I’m not sure about LightBurn as I still do not have it.

There is semi-hardware alternative in case application cannot talk Telnet or WS: ESP-Link. Can be flashed on ESP-01 (can be found for a buck) or any ESP for that matter, that can be flashed and used to convert PCs serial to Telnet or WS.

Which way you prefer to use it?

I believe most folks do upload and use offline. You just have to post your project to g-code file and save, then upload.

Right, but that direction would be the exact opposite to what OP is complaining about. Also not the right choice for absolute majority of folks.
Situation with USB-serial driver is messy across the board. Even with Apple.
Ubuntu had tonnes of problems, thou most are resolved.
Prolific driver for Linux initially did the same as for Windows, but being open source - folks figured it out and patched it pronto. That required collective of software heads, and that what OP don’t give $$$ about.

Apparently that USB to serial saga has name now: “FTDI gate” and “FTDI gate 2.0”. It is fascinating and I recommend to google it and read some articles as Tech Entertainment read.

My definition of “windows mandatory update” is when it does not warn that driver will be updated and it will brick most Prolific chips in the wild because most are NOT authentic. One always have a choice to not install the update, even critical security updates.

Are you talking about the original firmware? For the DLC32 I prefer FluidNC as firmware. There, it can be activated already at the flash process. I never used the original firmware for a longer period, so I have no experience with that one.

1 Like

Was hoping to use the newer connection method in Lightburn using Ethernet.

I’m using a laser version from github that was a supplied link that came with the board… There seems to be a number of them and little information detailed to allow a simple choice… I’d take a complicated choice if I could find basic specification of what the firmware is doing…

The end hope is to swap out the Ruida (temporarily) and run the dlc32 in my OMTech 50W machine. The theory is to make it where I can just unplug the Ruida and plug in the dlc…

Since the machine is in the garage I currently have no way to talk to the board once it’s in the machine out in the garage. Some people have complained that the wifi isn’t fast enough… I’ll cross that bridge when I get there…

When I loaded the laser firmware, I’ve lost the display screen… it just says waiting…

Any suggestions for a different firmware site would be nice… Currently it’s on my desk, so firmware updates shouldn’t be an issue…



I will answer here but maybe worth another thread?

I assume you are still running DLC32 headless. With LCD and original manufacturer’s firmware there is a menu to connect to WiFi, very simple process.
If headless (no LCD) - you need to connect USB (UART mode) to get initial control. Original firmware is FluidNC based, or maybe you already did your own version, as Melvin suggested above. FluidNC does have config file for DLC32.

If you use FluidNC : I’m not sure about LCD support, I’ve never tried that. I assume you cannot use LCD unless using OEM firmware.

When connected over serial - use this guide to check and change settings. Enable Telnet, notice port.
According to this - LightBurn now has Telnet option.

Bandwidth of streaming G-code over Telnet is tiny. Normally running control of laser or CNC or a printer over Telnet is absolutely transparent, no performance issues, it runs just like a wire. Still a subject to your WiFi reach and traffic situation. Weak signal in your garage may cause dropped packets, re-transmits, often getting worse by network broadcasts by other devices on the network.

1 Like

I’m running headless at the moment because all that’s displayed is waiting

Let me check out your threads… thanks… Might have to change firmware…

Thanks again


FluidNC does not support displays (yet). The only exception is a small OLED screen and a new M5Stack Dial controller, but no big touchscreen support so far.

On the surface this is correct, you can’t use LCD with DLC32 with original FluidNC firmware and their configuration. But situation is more interesting:
From early days RepRap going public, the main controller was barely graphical monochrome LCD “12864” (pixels), that was rather a dumb display and support was needed in the controller.
Nowadays, absolute majority of "LCD"s for lasers and printers are actually complete stand alone controllers with G-code streaming capability. The fact is that without any extra programming, such displays can be adopted for most machines that talking G-code. Same with MKS’s line, except once again they have pure 12864, with color backlight. Interestingly, most modern LCD (controllers) have 12864 emulation mode, if you are really nostalgic, or for some reason bought modern LCD but still running ancient motion controller.

I believe Fluid NC does not need to “support” LCD like MKS color line, but it need proper configuration to talk on proper interfaces. Without support/configuration, MKS LCD can be tapped on serial lines from motion controller and provide complete functionality of graphical interface.

This is the current connection message without the SD card…

[MSG:Using machine:MKS DLC32]
[MSG:Mode=STA:SSID=:Status=Not connected:IP=]

If I plug in the card, I get

[MSG:Using machine:MKS DLC32]
[MSG:No Wifi]

Do I need to move to different firmware…, such as the FluidNC?

Current SD card configuration file… dlc_cfg.txt (28.2 KB)




I’m not familiar with that specific version of your firmware. I think it is always good idea to flash the latest.
I do not think you need to have card with configuration inserted all the time. DLC32 OEM firmware, same as any other flavor of FluidNC, holds configuration in its own flash.

Benefit of firmware from OEM - you do not have to tweak settings for your hardware. Using original Fluid NC firmware - you need to apply config (mostly pins/ports mapping) and maybe tweak more for your specific setup. Not a straight forward task, but certainly doable.

To have WiFi working, you need to go through every line of WiFi configuration referred here in WiFi section.
Send each variable separately, as following, for example password:

You may save all lines in text file, usually with extension “.nc”, and send it to controller as any other G-code job. Just having it on the card will do nothing, it have to be run.

You may check if variable is set by, for example:
It will be followed by message with settings of that variable.

It appeared that your DLC is already setup as its own access point. You have to connect computer to it and there will be no other computers nor internet. Connect to it as any other WiFi access point.

You still need to enable web interface and Telnet:
$ Telnet/Enable=on

Then you may set LightBurn to use Telnet instead of serial, with proper IP and Telnet port. Or upload .nc filed through web interface.

Alternative: connect DLC as a client to your home network. Whole network will have access to DLC and you still will have your internet. Change:
Make sure all other related WiFi and network variables also setup correctly.

Above is the same, I believe, for all version of DLC OEM firmware and FluidNC.

I’m not sure which version I should replace it with…

Do you have a suggested link or should I just find the FluidCnc repository?



Yes and no. The interfaces are there, like serial port and telnet. MKS also provides such displays, the TFT series instead of the TS series of displays. Those use an onboard controller to process gcode and send commands via serial line. There are two major drawbacks to that approach: the USB serial line is blocked. No chance to add a PC via cable. And those display firmwares are also outdated and do not support new features, specific settings etc.

In general, I don’t care much about this fact because I think displays on lasers are not required at all, as long as you have a great controller like LB. I never miss a display at any of my lasers :slight_smile:

You still need to tweak settings with the original firmware. Axis might not be correct, and all motion settings are most likely wrong. So there is the same effort as for FluidNC. Though, the learning curve for FluidNC is steeper in the beginning and creating the first config file might take some time. After one is used to the format, it’s easy to create new ones…

For the FluidNC firmware, you just need to download the latest release file from GitHub or use the WebInstaller tool they provide now.

If you like original FluidNC that now has pretty good DLC32 community and support:

Better start with common landing page:

Notice there are two versions: Bluetooth and WiFi. Pick what you prefer, cannot do both same time. I use WiFi.

With modern browser that support serial port control (Edge?) you may flash ESP right from the web page. Obviously DLC must be connected to PC over USB and COM port drivers working properly.
I would rather download firmware and use ESP tool for flashing. Many ways to flash ESP.
Once flashed - follow the guide from Wiki. Just like GRBL, same style, first you need to configure WiFi. Use whatever you normally use to change $ settings in GRBL. See reference for WiFi variables.
Once connected over WiFi - you need to configure FluidNC to match hardware interfaces to DLC hardware. There are example config file for DLC32, start from that. Tweak to your need and preferences.

If you like OEM firmware:

!!! do nto make my mistake, there is a copycat that though did not harm me but caused some lost time because it is not up to date. Some sellers on Ail refer to this site for whatever reason: GitHub - Macrobase-tech/MKS-DLC32: MKS DLC32 is 32bit MCU powerful controller for CNC machine. Just avoid it. Notice it is “Macro”, not “Maker”.

There are two versions, for 2.4" and 3.5" screens. If you are headless - it does not matter. You do not have to have LCD connected to use the board.

I ran Frankenstein firmware with core code from OEM/MKS but web interface from Fluid NC, and that one is tweaked to get lower power for framing. Original settings is 5% and my laser is too bright at that, I did tweak it to 1% framing. There is an option to upload different web interface. I recall it is a separate project on Github. It is a separate topic.

Good luck!


I use DLC32 with Web and Telnet over WiFi and additionally serial over USB and LCD, all at the same time. No problems, no conflicts. All sent commands are happily merged and all interfaces getting the same response at the same time. Web interface has terminal window that I believe is a web socket (not sure though).
If you look at the schematic of DLC32 - everything WiFi coming into ESP not over serial but SPI. Serial lines of ESP connected only to CH340 USB-serial. So in case of MKS/DLC - you do not have to chose only one interface at the time. Well, except you cannot use Bluetooth serial and WiFi at the same time.
Unrelated example: my Malyan/Monoprice 3D printer has controller with WiFi that has two serial interfaces, one connected to GRBL motion controller that does not have WiFi, and another to external USB-serial, and it also can do WiFi, local LCD control and USB serial all at the same time.
But to be fair, there are many simpler GRBL offline controllers that have to be connected to the only serial interface and do not provide any additional interface. Examples from Amazon:
But they are intended for original Atmel based (Arduino) GRBL, which is just crazy how ancient original GRBL is comparing to Fluid NC and DLC32!!!

So, nowadays, in many cases, you do not have to sacrifice one interface for another, all can work at the same time.
LCD displays outdated: maybe true, but all I use it for is to run job without PC, and for that there is nothing can be missing, it just feeds text from SD card line by line.
I always can connect PC to change settings.
I’m yet to run multi-hour laser job, I usually stare at laser while running. Mostly for safety (I had some fires!), so offline controller not that important here. I believe I already stated on this forum years ago that I do not think that offline controller/LCD is really needed for laser. It is needed thou for 3D printers, that I had multi-days jobs, that’s why I prefer to run them offline.

setup file for Fluid NC is another level comparing to GRBL settings. I would not compare them. FluidNC config required different level of technology comprehension. Most folks will be lost in this setup file. Though some will find some familiar items there and may be able to do some minor tweaks. This brings us nicely to OP of this thread, who hates everything programming related, as an example. There is a lot of programming in FluidNC config! It is great concept to not need to recompile whole firmware for different boards/applications, but the result is much heavier config file.

But I guess that what makes it all so much fun! Well, maybe not for Randy. :wink:

I think I didn’t make myself clear enough :slight_smile: I never meant that there is only one connection at a time and that you can’t use more than one simultaneously. I also use USB connection and WiFi in parallel. I was only talking about displays that feature their own controller like MKS TFT displays (GitHub - makerbase-mks/MKS-TFT: MKS TFT touch screen includes TFT24/28/32/35/70, which can be connected to the motherboard for control via AUX-1. Support Simplified Chinese, Traditional Chinese, English, Russian, Spanish and more than 5 languages, and support online language switching ...) which can be used to control a FluidNC machine as well, because there is no display control via Fluid required. Those displays use the hardware serial interface, which is usually the same that the CH340 chip is connected to. So you can only use one of them at a time. The other connections are not influenced by this. Depending on the board and which pins are made available, you can add another UART interface using FluidNC configuration and connect the display to that lines. Then it wouldn’t interfere with the hardware USB connection.

LOL !! Your wrong, yes I get really POed at this stuff “A LOT of TIMES” even most of the time ! But it is still fun. I was talking to someone, I forget who, about trying to hide my tool bar. The gentleman said do this and that and that’s it. I learned something a dead monkey could do, but at least I learned something new ! Thank you!
Sorry for being gone for so long, the storms have quit for now. I think?