LightBurn - laser software

Better software for laser cutters

Similar projects worth following
LightBurn is a from-scratch vector editor that aims to replace RDWorks or other proprietary software for hobby-level users by offering a better user experience and a comparable feature set.

This is an ongoing personal project that's still in early development, but enough people are interested that I figured I'd give occasional updates to show how it's progressing.

The software is being written to run on PC and Mac, and currently supports the Ruida RDC6442G controller, as well as Grbl and Smoothie based boards, and can generate GCode output.

LightBurn is being written as an alternative to the proprietary software that comes with imported laser cutters.  I bought a Chinese machine with a Ruida controller, and found the user experience lacking even though the hardware is very good.

After doing a bunch of reading, I discovered that with very few exceptions they're all like this - badly translated GUIs, dialogs, and manuals, limited hotkeys, and often suffering from limitations that the hardware itself doesn't have.  For example, the software for my laser cutter doesn't have a "number of passes" option when cutting.  This cannot stand.

LightBurn is a C++ project, based on the Qt framework, being compiled and tested for both PC and Mac.  The laser protocol and connection objects are abstracted, making it relatively easy to support new hardware.  I currently support the Ruida RDC6442G, as well as lpc-based Grbl and Smoothie boards, like the Cohesion3D Mini.

It is designed primarily for layout of existing graphics and setting up cut parameters, but it does include a host of editing features as well, including an offset tool, grid array layout, node editing, full undo/redo, text entry, and much more.

I currently have import support for AI (Illustrator), PDF, and EPS files.  As their file-specs are incredibly complex (850 pages for PDF!), I'm adding support based on exemplar files from users, so it's continually being improved.  I will be adding DXF, SVG, and likely others as well.  Image formats are JPG, PNG, and whichever others are handled by the Qt framework.

I support both vector and raster scanning of vector shapes, and raster scanning of bitmaps with either dithering or thresholding. The internal plumbing supports cutting full grayscale, but I haven't built the rasterizer for that yet.

The cut planner will order by any combination of cut type, inner-to-outer traversal for nested cuts, shortest traversal (greedy), reduced direction changes, and will optionally optimize the entry points to reduce travel.

I can export to GCode or Ruida RD format, and will be adding export support for SVG, and probably AI and DXF as well.

The software is at the point now where it's actually usable for most of what I do with my laser, though there are still lots of bugs and some pretty glaring holes in functionality.  Work continues in pretty much any spare time I have.

  • LightBurn at NY Maker Faire

    Jason Dorie4 days ago 0 comments

    For anyone attending the NY Maker Faire, the Cohesion3D booth will have a beta version of LightBurn up & running if you'd like to see it in person and give it a whirl.  (probably no cutting - crowded spaces and lasers, and last minute planning, but who knows?)

  • Must.. go.. faster...

    Jason Dorie4 days ago 0 comments

    Spent some time optimizing the output code, and finally switched to a 64 bit compiler.  As a test, I made a dithered 1 meter square image @ 250dpi.  It output 470mb of gcode in about 25 seconds (about 3.5x faster than my previous result).  A 500mm x 500mm version of the same image takes about 6 seconds, and most users won't produce engravings that large.  Trying to get the process down to "more or less instant" to make it as fluid as possible for users.

  • Grid arrays

    Jason Dorie7 days ago 0 comments

  • Arc recovery on file import - and it's fast!

    Jason Dorie09/17/2017 at 05:52 0 comments

    This worked unexpectedly well:

  • New Feature day!

    Jason Dorie09/16/2017 at 18:22 0 comments

    A short demo of the most recent features added to LightBurn.

  • A console for GCode users

    Jason Dorie09/15/2017 at 15:00 0 comments

    With more users on GRBL and Smoothie based controllers, it was time to add a console to help troubleshoot and send commands I don't necessarily have buttons for.


  • Progress and a Picture

    Jason Dorie09/13/2017 at 18:50 0 comments

    The beta testing is going really well, and already resulted in lots of improvements to stability and feature set.

    One of the beta users posted this, and since it's not a private image, I thought I'd share. He's running a C3D mini with Grbl, in a K40. In his words (lightly edited for brevity):

    I wanted to see the effects of dpi change. Both images are done at 100mm/sec, 75% power, on the same piece of 1/8" Baltic birch.

    Left image at 200dpi, right is 400dpi, all other options left as default, using the internal dithering.

  • Initial user feedback

    Jason Dorie09/11/2017 at 21:54 0 comments

    Slowly starting to add more test users, and the initial reviews have been very positive.  Phew.

  • AI / EPS / PDF handling getting better...

    Jason Dorie09/11/2017 at 00:25 0 comments

    Got a few more problem AI files from beta users (alpha, really - I'm not fooling anyone) so the AI / EPS / PDF reader is getting much better. All three formats share a common base, and they're interchangeable in some ways so the improvements affect all three.

    I now have files that won't open in Vectric VCarve or Aspire that LightBurn reads correctly. Still not perfect, but significantly more robust.

  • Progress and a Preview

    Jason Dorie09/10/2017 at 06:53 0 comments


    Chewed through a big list of bugs and issues this weekend, with huge thanks to a handful of beta testers. All of them put a very early beta through its paces, found tons of problems, made great suggestions, and generally kicked my butt all day.

    • AI and EPS file importing is now much more robust
    • GCode generation and sending is more stable
    • Added an 'overscan' feature to prevent burnt edges on rasters
    • Added a help feature that actually contains help
    • Fixed a bunch of bugs in the cut planner
    • Fixed a bunch of UI update bugs
    • Cleaned up the preview window a bit

    And the obligatory demo:

View all 14 project logs

Enjoy this project?



Sean wrote 09/10/2017 at 05:38 point

If your looking for anyone to test this out on a AWC708C controller so you can add to your list of supported machines I have a Chinese 900x 600 80W I am willing to give it a go just tell me what you need.

I would be willing to pay for a license if that's the way you decided to go as your aware there is a huge call for good software on our machines I make do but what your doing looks bloody fantastic!

  Are you sure? yes | no

Jason Dorie wrote 09/10/2017 at 12:25 point

Thanks for the kudos! (and the offer). I actually tried to buy a 2nd hand AWC controller, but that fell through.  I'm interested in doing this, but it'd be quite slow going without having a machine next to me.  The process is very much, "push a button, record traffic, push a different button..." and trying many slight variations of actions to see how the data stream changes. It can be painful.  :)  Now, if you have a spare laying around...

  Are you sure? yes | no

Sean wrote 09/11/2017 at 22:05 point

I am happy to give it a go if you like i can put some time aside thats for sure, the only controllers I have lying around are the older leetro laseercut versions.

I could also give you access through VNC to the computer that runs the laser and a cam I guess :-)

Be interesting to see how different the data stream is thats for sure maybe we could come to a license agreement if I buy you a controller in the long run I guess the alternative is that I replace mine with ruida.

  Are you sure? yes | no

Jason Dorie wrote 09/11/2017 at 22:22 point

I bit the bullet and ordered one (AWC708C).  It'll take a while to figure it out, and my current workload is focused on stability and usability before new features, but I'll pick at it over time.

  Are you sure? yes | no

Sean wrote 09/12/2017 at 00:20 point

Awesome Jason if you need a tester down the track for that controller just give me a yell I am more then willing to help, make sure at least you get some money for this in the long run as in licensing etc 

Otherwise you will just be giving a free ride to companies that will make a profit from your hard work.

  Are you sure? yes | no

Gravis wrote 09/08/2017 at 00:35 point

Do you have a repo somewhere?  I am a fellow C++/Qt coder and I am interested in your project.

  Are you sure? yes | no

Jason Dorie wrote 09/08/2017 at 01:08 point

There's a repo, but I haven't decided yet if I want to open it up.  Send me a message (JasonDorie at gmail).

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates