Drop-in Controller For EBay K40 Laser Engraver Gets Results

[Paul de Groot] wrote in to let us know about a drop-in controller replacement he designed for those economical K40 laser engravers that are everywhere on eBay. With the replacement controller, greatly improved engraving results are possible along with a simplified toolchain. Trade in the proprietary software and that clunky security dongle for Inkscape and a couple of plugins! [Paul] felt that the work he accomplished was too good to keep to himself, and is considering a small production run.

Laser engravers are in many ways not particularly complex devices; a motion controller moves the head in x and y, and the laser is turned on or off when needed. But of course, the devil is in the details and there can be a surprising amount of stuff between having a design on your screen and getting it cut or engraved in the machine. Designing in Inkscape, exporting to DXF, importing the DXF to proprietary software (which requires a USB security dongle to run), cleaning up any DXF import glitches, then finally cutting the job isn’t unusual. And engraving an image with varying shades and complex dithering? The hardware may be capable, but the stock software and controller? Not so much. It’s easy to see why projects to replace the proprietary controllers and software with open-source solutions have grown.

Cheap laser engravers may come with proprietary controllers and software, but they don’t need to stay that way. Other efforts we have seen in this area include LaserWeb, which provides a browser-based interface to a variety of open-source motion controllers like Grbl or Smoothieware. And if you’re considering a laser engraver, take a few minutes to learn from the mistakes of other people.

42 thoughts on “Drop-in Controller For EBay K40 Laser Engraver Gets Results

  1. Is there actually any information about this project? The page seems to be a thinly veiled add for their kickstarter.

    The software seems to be stock version of grbl, so the magic arduino-to-k40 adapter board seems to be the meat of this project, but all I could find was a picture of the board on the blog. Am I missing something?

    1. You might have to go to the main page and my blogs where I describe the details behind this project. The shield can either work with a standard uno or the bespoke engraving AVR. The bespoke controller allows 16 bits PWM. The inkscape plug ins allow you to do the detailed engraving.

      1. I have a question i have a woodpecker cnc Motherboard i want to drop into my upgraded K40 laser but im confused with wiring cause the k40 needs 24v and has a 5v a grnd and a Lo??? the woodpecker has spindel controll that is 24v my question is, is this gonna be ok for the k40’s 24v and from what ive researched the Lo on the K40 is essentially the Pwn control for the C02 is that gonna work with the pwn on the woodpecker??

  2. As much as I like Inkscape, it also has so many little quirks and annoyances about it as well, at least for laser use. It’s probably remarkably better than a proprietary toolchain and it might be suitable for homebrew or intermittent use and it is very likely that it is improving since it is, well, open source but the last time I tried to use it, I encountered all sorts of problems and issues with it that made using it for engraving specifically rather difficult. It just felt like it lacked the polish that you might see in a commercial product was sort of the feeling I got. A number of little strange quirks, a few major irritations but nothing that made it exceptionally unusable. Just not quite polished and easy to just use either.

    Curious what other people’s experiences have been.

    I am personally fond of the open source Lasersaur project. http://www.lasersaur.com/
    Not quite as easy as buying a cheap laser and modifying it but so much more solid of a project when it comes to the end result. Just a thought.

    1. I’ve made some laser extensions for inkscape and would also be interested to know what problems you’re having.
      Inkscape just moved to gitlab – so more chance to get things fixed (from my POV anyway).

      1. It has been probably two years or more now but it was mostly annoying little things like SVG scaling issues (which is a file format without any implicit scale to begin with), GUI issues (how the heck do you change some what seem to be fairly common settings but you had to go way behind the scenes to access them) and some random crash bugs or bugs in creating output files that were annoying but not worth digging further into to try to correct.

        Also the way in which you had to change colors or line widths was clunky. Mostly stuff like that which made the workflow challenging and difficult to automate to any appreciable extent without developing addon plugins or other custom solutions. Yes, it could be done but it just wasn’t worth the hassle given the other issues we encountered.

        DXF export was a disaster as well. Maybe (hopefully?) that has been fixed. That was a real showstopper as we needed to be able to actually save vector files as DXFs without introducing all kinds of errors AND ideally do so in a sane manner with clean polylines, minimal arcs, etc. That sort of thing.

        It felt like good software but not polished software was our general takeaway though I freely admit that the software has great promise and is generally quite usable for most basic applications. It’s just when you push it to the limits of what it normally does that we ran into some “not working as intended” type of irritations and bugs that made it feel not quite suitable at that point in time for what we were trying to do specifically.

        Though exporting DXFs in a sane way should not be that fringe to be honest. Then again, my understanding is that other popular laser software options such as Coreldraw absolutely fails miserably at DXF export too.

        Daniel Reetz, are you having similar issues with your setup or do you not use a DXF workflow?

        1. I concur on most of this – although I don’t use DXF. For me I go direct SVG into LaserWeb, which means I hit the scaling issue especially since Inkscape finally switched to the standard 96dpi, but the mac version is still on 90dpi (or was it the other way).

          All that said – by far the most frustrating thing using Inkscape for me is it changing my object dimensions on me… I’ll put in 10.00mm x 10.00 mm, and it will change it to 10.04mm or sometimes even 9.7mm. I move an object to 0,0 – it then changes it to 0,-0.054.

          Driving me NUTS.

          1. That reminds me that we also had a similar “floating point approximation” type of issue with Inkscape where it was close but not quite right. When making most parts, it would be nice that the laser made something, well, close to the output we asked it to (assuming the machine was correctly calibrated to begin with of course). If the software is introducing tolerance errors, that is a problem. There’s probably a reason (auto converting but not using enough significant digits?) but it again just wasn’t worth the hassle of trying to go and track it down and submit a patch for it in light of the other errors we were seeing that prevented us from using it for production work.

            Looks like as of Inkscape release, 0.92, (released on 2017-01-01), the default DPI was moved from 90 to 96.

            Don’t get me wrong, I thoroughly like the idea of what it can do and it is very capable software that I would consider to be getting somewhat mature. It was just a bit rough around the edges for some fringe use cases back a few years ago. Hopefully it continues to improve and winds up resolving some of those errors as it continues to be developed since it is fairly capable software for laser cutting applications.

          2. The scaling issue isn’t entirely Inkscape’s fault. The CSS standard had a typo in it. Inkscape’s finally corrected the issue… but then you’ve got those assholes over at Adobe, who made Illustrator export SVGs at SEVENTY TWO DPI.

            So it’s a big mess, and you can’t easily point fingers at any one party.

    2. The controller accepts g code so any software that produces gcode like laserweb can be used. I used Inkscape because it allows me to build the engraving plug in and use the Jtech plug in for vector cutting. ????

    3. Lasersaur wastes the good BeagleBoneBlack controller by NOT using the dual core 32-coprocessor that would be PERFECT for real-time driving the I/O and steppers motors, and dedicates that job to a clunky 8bit Arduino connected over a serial link, with all the latency, buffer overruns, limited RAM and Arduino flashing problems you can expect. The Lasersaur forum is cluttered of people having such issues.

  3. Glad to see more thought out solutions to replace the goofy dongle-based controllers in these units. I did a RAMPS 1.4/Marlin-based conversion to mine and the tool chain is much improved.

    The latest Inkscape version can use mm as the main unit for an SVG file so I can move back and forth from Freecad and Inkscape with ease. The Turnkey Tyranny plugin for Inkscape creates g code that can go straight to the cutter on a SD card. (To work with the newest Inkscape version the plugin needs a tweak to NOT convert px to mm but this makes things much cleaner.)

  4. I’d love one which can handle more than a K40. We tried on an 80W laser, to use a smoothieboard and laserweb, unfortunately, I think due to a combination of smoothieware’s serial and laserweb being written in the abomination that is JS, resulted in inconsistent sending, meaning that it was not consistent. It also doesn’t do overscan. It runs a LOT faster than a K40 could.

    It did result in some awesome engravings. I’ve got a board to easily swap out, but we haven’t tried to upgrade it since we set it back.

  5. This is awesome.

    I had been thinking for a while a laser engraver/ cutter would be an awesome addition to the workshop I didn’t realise the cost was so low.

    And now with this work by Paul it’s even more tempting to hit buy it now :)

    Does HaD get a kick back from eBay ;-)

        1. ^ This. Kickstarter is the land of false promises. If you have code that makes the thing work well, show it. This will allow the community to see (a) that it really exists and (b) that it’s more than just a straightforward application of existing open source stuff.

          1. Will do, it’s just juggling a demanding full time job with a crazy hobby project/kickstarter. The research is now to find the best and cheapest parts on the market and ordering these parts to test my BOM. Nothing worse than order the wrong parts and loose money. This takes time as well. Follow me on github where my member name is paulusjacobus and you will find my firmware and two inkscape plugins soon. They are based on existing open source software so I am oblighed to publish and fully support this. I’m also a collaborator on Marlin 3d printer software on Github. So just bear with me. My kickstarter will ask for a very modest price for the controller since this is just a hobby.

  6. Honestly why using a 20 years old chips, 32 bits ARM is the way to go (Smoothie or C3D board) is much faster (engrave), you can run Smoothie or GRBL firmware on those board. changing the board is 30mn job, changing firmware is easy as copying a file on a SD card. then you can use open source softwares like laserweb 4 or Visicut.


    1. The problem is not so much the speed and processing power but more the cost. On ebay you buy this machine for usd 250. So the solution needs to be extremely cheap since people don’t want to invest too much in a cheap machine. Next to this, porting and writing firmware for a new processor is not a simple task and would take too long to achieve. So I took a short route with using a similar avr chip with 4 16 bits timers. It does the job reliably and satisfactory and I have been using it for over one year. Made 10 controllers which went to beta testers.

  7. This sounds like a good initiative. I’m surprised the Chinese laser-engraver manufacturers themselves haven’t moved to open-source hardware and software (like they do with a lot of other projects) since it reduces the software and hardware design costs to near zero.

    I’m playing with one of those Eleks Maker bolt-together open frame engravers with a small solid-state laser. I quickly moved to the GRBL firmware on the controller, and Laserweb 4, and I’m much happier. I too find Inkscape quirky, but I’m managing to get some good results.

    I imagine that someone has published recipes for getting work done in Inkscape and exporting to Laserweb. I haven’t found one comprehensive site yet, but the Laserweb Google community has many tips.

  8. As far as drop in options to upgrade the K40, there is already the Cohesion3D Mini, which is the same size and mounting hole pattern as the stock M2Nano board as well as having the K40-specific connectors to drop right in. It should literally be 4 screws and 3 cables to make the swap.
    The Mini is a 32 bit control board that runs Smoothieware – it’s fast and highly configurable.
    Even better, you can flash the 32 bit port of grbl, grbl-lpc, onto this board, and it is blazing fast!
    Finally, the Mini has lots of room for expansion – it can run a Graphic LCD status display, run jobs off its MicroSD Card, supports 4 Axis – we’ve got people doing Z table and Rotary axis upgrades, and the additional mosfets/ IO pins can control accessories such as fans, pumps, lighting, air assist, and more.


    Just wanted you all to know that this is another option that is already on the market. I’m the creator of this board, feel free to ask me any questions.


    1. I am running Ray’s boards on 2 of my lasers and I could not be happier. Well designed and super simple to install. And if you want to run grbl, there is a port of grbl that will run on his board that the laserweb developers created.

  9. I have a pre release version of this board (I think I am the only one in the wild with one), and I can say that it is a very easy install process and works with OpenSource software like LaserWeb, as well as with just about any standard Gcode sender that works with Grbl. Paul has done an excellent job with this controller, he has optimized quite a few things, including upgrading the standard 328 chip with an upgraded version that has more timers in it, allowing him to process greyscales better. The method and hardware he used is on the awesome.tech web site, you just have to dig a little deeper into the links about the project.

    1. Thanks Anthony, I gave 10 controllers away for people to test since that seems the best way to improve the hardware, software and instructions. So far it seems to work well.

  10. Nice to see there are solutions rising here and there for laser cutters…

    I’ve never used the original board on my K40, it has been unmounted as soon as received, and resell on ebay (quite quickly, surprisely!). Instead I’ve set a Arduino Due + gShield, running Synthetos’ G2. In my point of view it’s a very reliable solution, despite the fact there’s no laser mode yet: the spindle changes are managed as “move”, so movement stops when changing laser power, or ligthing/shutting it. But I know they are working on it, and also on solutions for 3D printers.
    So it’s not usable at now for picture engraving, but for cutting it’s a really good solution.

  11. The article is quite misleading unless I have missed something. I went to check out his site excited about the prospect of buying and upgrading the engraver but it doesn’t seem like he is sharing his work with people’s. All I see is the mention of a kickstarter and a poll on how much you would be willing to pay.

  12. The devs behind Laser Ink (another kickstarter project) have pledged to make there custom software compatible with the Gerbil board. More choice in the toolchain is always a good thing. So you can choose to use the Inkscape plugins, LaserWeb V4, or the Laser Ink software with the Gerbil board.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.