Laserweb was featured on!

Go read the full article on




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:

#freeburn2 – Open Source CO2 Laser Cutter


Now that FreeBurn-1 is up and running (see

I think it’s time to start working on my 4th iteration of a lasercutter design: FreeBurn-2-Mini

The Mini is a much smaller (900x650mm desktop footprint) machine that offers approximately 600x400mm work area, with a 40-50w tube (larger tubes need a longer body – so you would be better off building a FreeBurn-1 style machine if you want higher wattage)

Furthermore, the Mini will use a lot more lasercut/waterjetted metal sheeting (yes I hear you – but trust me every big town has a shop just hunt them down) with some strategic bends. Also, a BIG challenge is to make the whole design be bolt-together. If I could use spot welds my job would be a lot easier but then that would make reproducing the machine / packing as a kit / later disassembly impossible – and I’m not prepared to compromise those. No the FreeBurn-2 Mini will need nothing but a few bolts to assemble!

The sheetmetal frame will be easier to align than a FreeBurn-v1


Raspberry Pi Zero, Grbl All in One CNC Controller

So, yesterday the Raspberry Pi Foundation, released a new Pi!  The Pi Zero!


So what happens when I am bored, sitting in a guesthouse, armed with Eagle, a crazy idea, a community encouraging me, and a handful of parts in my parts bin just itching to be used?   Mixed in with a passion for CNC? Yip exactly that what you were just thinking!

Couple of points to plan in…


So, first off: USB.  The Pi Zero is great right?  Except it doesnt come with proper USB Ports ):  Sucks right?

So first problem I want to tackle is a board on top, or on the size, with a 4 port USB hub.  To connect to the Pi Zero, instead of a small cable, I want to have a small PCB soldered on at 90 deg to the main board, holding a PCB mount USB Micro socket:  I just received a few hundred of these from Aliexpress a few weeks back….
usb plug pcb

This allows a clean, slot on adapter – no messy wires.

Next, for the USB circuit, I will go with my old trusty building block circuit, the TI TUSB2046: (already open sourced it on my Github, here:

Grbl and TinyG – yes both

So what else does a RPI ZERO CNC CONTROLLER need?  Grbl! The old easy favourite, although, John Lauer of just asked me on Google Plus (thread on if I can make it work with TinyG too and I said, sure, why not! So two versions in the pipeline!

High powered Stepper Driver stage

I’m going to need a good stepper driver setup.  And again, I already have a building block in my github from a design I was working on before the Zero came out:  The TMC2660, capable of 4A per motor, 256 microstep!


So what about the lack of networking on the Pi Zero?  Well I am already working in a USB Hub, I wonder if I can add a USB Wifi Adapter.  But lets make it super cool and add a footprint for one of these:,searchweb201644_5,searchweb201560_8  – a surface mountable Realtek Wifi NIC module?

PCB Design coming this Sunday!

I will post up preliminary board design by Sunday (On the road today and tomorrow, so being brief with this post to get it done rather quickly, instead of blogging…) – in the meantime, as always, I will open source the whole thing, including BOM so you can go ahead and make it for yourself or some friends. If you sell it, just remember you owe me some beer (:
If you would like to help with paying the prototyping costs, you can shoot me a donation on Paypal if you wish: – would be great since I need to order those USB Wifi modules, some TMC2660s, and a Pi Zero (;

#cnc, #grbl, #pi, #raspberry, #tinyg, #zero

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