LaserWeb: Preliminary work on Javascript based Raster Support

Over the past two days I have been working on using Paper.JS to generate Raster GCODE so I can later integrate that into LaserWeb:

test raster

TO read about the specifics of this work, I am not going to blog about it here since it can get very technical with links back to Github lines all over, so I am going to use a Github Issue as a worklog / collaboration tool:
Review the thread on


LaserWeb – Added Parametric Gear Generator and Parametric Tabbed Box Maker

I added an OpenJSCAD based backend to LaserWeb:

This allows me to add “apps” for parametric generators by simply adding a few lines of code and uploading a parametric OpenJSCAD script:

So far I added two apps:

  1. Parametric Gear Generator

parametric gear generator.png

2.  Tabbed Box creator

tabbed box.png


For more details see

LaserWeb – How it’s coming along

On Nov 8, 2015, I saddled up the crazy horse to start developing a new frontend for running Laser cutters!

That was after years of frustrating experiences with chinese DSPs, and Inkscape Plugins and Visicut that doesnt want to connect, the Lasersaur ecosystem thats not too friendly to non-lasersaurs and trying to use 3D printer hosts to work a laser…  Those just never worked!

6 Weeks in, here’s some of the interesting stats:

  • 92 Commits! 21 Stars, 4 forks, 2 contributors!
    92 COMMITS!!!
  • 81 Commits by myself, adding 130679 changes and removing 54948!


  • Working on it from 6AM to 11PM sometimes!



Thats a LOT of work!


So how does it look now?

Let me give you the quick tour!


Overview of the main window


machine control

Machine Control Widget

2. console

Command Console

4 webcam

WebCam Widget

dxf params

Supports DXF, SVG, Millcrum and GCODE. For DXF/SVG you can specify cutting parameters on import! No External CAM needed Material Thickness + Z-Down per pass allows for multipass cutting (which changes the Z height if your machine support it – to allow optimal focus distance even on the subsequent passes)


gcode editor

Gcode/Millcrum editor allows you to make last minute changes manually

port and drc

Serial Port selector and DRO


DRO data also updates the position of the beam indicator in realtime so you can see where the cut currently is / jog the machine to position








Depending on which firmware you connect to (note you can have multiple boards running different firmware on each, all connected to the same PC and managed by the same instance of LaserWeb!) – it dynamically adds/removes features in the UI – to match the capabilities/requirements of the firmware! (For example if it detect LasaurApp, it shows status indicators for the endstops, doors and chiller.   If it detect Grbl, it adds reset, unlock, help and settings buttons.   This also makes changes to the GCode dialect (LasaurGrbl needs to receive G30 to home, but the others need G28, with this capability we can have a single GUI talk different dialects!)

So what firmware is supported?

  • Smoothieware
  • Marlin for Lasers
  • LasaurGrbl
  • Grbl 0.9 / 0.8
  • Repetier Firmware

I’ll create and post a tour video later!

Download and use instructions:

New project: LaserWeb – a Node.JS based Lasercutter/Engraver frontend for machines converted to run on Marlin Firmware

So, you bought a chinese laser cutter…

BUY NOW: 40W 300x200mm Desktop CO2 mini laser Engraver BUY NOW (Ship from DE) High Quality 40W 200*300mm Mini CO2 Laser Engraver


First you spend a few weeks fixing the blatant safety flaws (door switches and the like) … only to get frustrated with Moshidraw and LaserDraw and all the other software that comes with it.

You start googling, you find out theres a lot of people who converted their K40 40w chinese lasers to run on RAMPS+Marlin.  For example

2015 - 1 (3)

PS: a note on using a RAMPS, sure that’s great and everything, but if you decide to follow this conversion, look at the stunning board I spun up to do that for you, tailored for lasers, better than using a RAMPS,  over on, at


So you jump in, and do the hardware conversion.

Only to get thrown back under the bus with lots of new words like CAM, and Gcode, and svg, and dxf, inkscape plugins written in python and … well long story short – how the heck to I take my drawing and just cut it without having to go through tonnes of ‘cam workflows’ converting from one format to the other to the next to finally to gcode then use a 3D printer host to send gcode to my laser… and you lost focus halfway through that rant right?

So, I started a little project a few days ago, called LaserWeb.  To make running your Marlin based lasercutter (be it a converted K40, or a Diode laser, or a #FREEBURN2) as easy as it can get…

laserweb nov

For more information on this rapidly changing project, head over to

Its designed to be simplistic:

Open a GCODE, SVG, DXF or file and start cutting right away!

If you have feedback, issues or bugs, please report it at