Help to set the origin

Hi, everyone
On my DIY laser cutter the reference switches are located on the top left. (For mechanical reasons) I would like to have the 0-point of the whole machine at the bottom left (-330mm). I can do this with a G-code command after homing. G92 X0Y330Z0. After that everything goes as it should. The problem is the view in the main window. The Y-axis of the machine is then displayed from 330 to 660mm. What did I set wrong? I hope my explanation is understandable, otherwise please ask.
I only use the web version ( via browser) on an RPI 3B +. But shouldn’t play a role for this topic, shouldn’t it?

“settings”: {
“__version”: “4.0.999”,
“__selectedProfile”: “DW”,
“__latestRelease”: “2019-11-26T10:45:07Z”,
“showMachine”: true,
“machineWidth”: 310,
“machineHeight”: 330,
“machineBeamDiameter”: 0.3,
“machineBottomLeftX”: 0,
“machineBottomLeftY”: 0,
“machineFeedRange”: {
“XY”: {“min”: 1, “max”: 50000},
“Z”: {“min”: 1, “max”: 50000},
“A”: {“min”: 1, “max”: 50000},
“S”: {“min”: 0, “max”: 30000}
“machineXYProbeOffset”: 0,
“machineZEnabled”: true,
“machineZMatThickness”: 0,
“machineZToolOffset”: 0,
“machineZStartHeight”: “0”,
“machineZProbeOffset”: 0,
“machineAEnabled”: false,
“machineBlowerEnabled”: false,
“machineBlowerGcodeOn”: “”,
“machineBlowerGcodeOff”: “”,
“pxPerInch”: 96,
“forcePxPerInch”: false,
“dpiBitmap”: 300,
“toolGridWidth”: 310,
“toolGridHeight”: 330,
“toolGridMinorSpacing”: 10,
“toolGridMajorSpacing”: 50,
“toolSafetyLockDisabled”: true,
“toolCncMode”: false,
“toolImagePosition”: “BL”,
“toolUseNumpad”: false,
“toolDisplayCache”: false,
“toolUseGamepad”: false,
“toolCreateEmptyOps”: false,
“toolVideoDevice”: null,
“toolVideoPerspective”: {“enabled”: false},
“toolVideoLens”: {“a”: 1, “b”: 1, “F”: 1, “scale”: 1},
“toolVideoFov”: {“x”: 1, “y”: 1},
“toolVideoResolution”: “720p(HD)”,
“toolVideoOMR”: false,
“toolVideoOMROffsetX”: 0,
“toolVideoOMROffsetY”: 0,
“toolVideoOMRMarkerSize”: 20,
“toolWebcamUrl”: “”,
“toolFeedUnits”: “mm/min”,
“toolTestSValue”: 1,
“toolTestDuration”: 0,
“gcodeStart”: “G21 ; Set units to mm\nG90 ; Absolute positioning\nM3\n\n\n\n”,
“gcodeEnd”: “M5 ; Switch tool offEnd\nG0 Z0 F5000\nG0 Y300X0F15000\n\n”,
“gcodeHoming”: “$H\nG92 X0 Y330 Z0”,
“gcodeGenerator”: “default”,
“gcodeToolOn”: “”,
“gcodeToolOff”: “”,
“gcodeLaserIntensity”: “S”,
“gcodeLaserIntensitySeparateLine”: false,
“gcodeSMinValue”: 0,
“gcodeSMaxValue”: 255,
“gcodeCheckSizePower”: 1,
“gcodeToolTestPower”: 1,
“gcodeToolTestDuration”: 0,
“gcodeConcurrency”: 2,
“gcodeCurvePrecision”: 0.1,
“comServerVersion”: “4.1.000”,
“comServerIP”: “”,
“comServerConnect”: false,
“comInterfaces”: [“USB”, “ESP8266”, “Telnet”],
“comPorts”: [
{“path”: “/dev/ttyAMA0”},
“manufacturer”: “1a86”,
“pnpId”: “usb-1a86_USB2.0-Serial-if00-port0”,
“vendorId”: “1a86”,
“productId”: “7523”,
“path”: “/dev/ttyUSB0”
“comAccumulatedJobTime”: 421,
“connectVia”: “USB”,
“connectPort”: “/dev/ttyUSB0”,
“connectBaud”: “115200”,
“connectIP”: “”,
“jogStepsize”: 1,
“jogFeedXY”: 10000,
“jogFeedZ”: 3000,
“macros”: {
“*GotoXY0”: {
“keybinding”: “ctrl+f1”,
“label”: “Goto XY zero”,
“gcode”: “G0 X0 Y0 Z0\n”
“*LaserOff”: {
“keybinding”: “ctrl+f3”,
“label”: “Homing”,
“gcode”: “$H\nG92 X0 Y340 Z0”
“390e1e93-9333-41c7-b2ec-1aa62326af7c”: {
“keybinding”: “ctrl+f4”,
“label”: “Unlock”,
“gcode”: “$X”
“20869cad-f2c3-4481-bbaf-622473fba1df”: {
“keybinding”: “”,
“label”: “Laser Test”,
“gcode”: “M3 S30”
“bd4f4e53-b16f-40e5-8f83-8c77a99e542f”: {
“keybinding”: “”,
“label”: “Laser Off”,
“gcode”: “M5 S0”
“b857d0f7-00a8-4409-a7d4-70419e9d564d”: {
“keybinding”: “”,
“label”: “Z-40”,
“gcode”: “G1Z-40.7F5000\n”
“3f684c1d-8261-47c8-94b5-fa3ed69bc10f”: {
“keybinding”: “”,
“label”: “Entnahme”,
“gcode”: “M5 ; Switch tool offEnd\nG0 Z0 F5000\nG0 Y300X0\n\n”
“uiFcDrag”: null

G92 X0Y330Z0 sets the origin to the top left. And that is what you see in the display.

If you want the origin at the bottom left use G92 X0 Y0 Z0

1 Like

There are two coordinate systems in grbl. Machine coordinates are ralated to the machine (the homing switches). Work coordinates are related to the workpiece and the origin can be set anywhere.

LaserWeb only shows Work coordinates. This means you can jog to any position (after homing) and set this position as work origin by pressing the “set zero” button in LW. The corresponding offset will be stored to the flash memory on grbl and will be reused after reboot and homing.


Thanks Claudio, I overlooked that in the extensive help. Works perfect.
Now I’m looking for the donate button immediately. :slight_smile:
Great software and great comunity!

Hey, me again.
Unfortunately I couldn’t find any way to donate on LaserWeb website. Missed something again?

The about tab has a list of the principle developers and donate/PayPal links. There is no overall project donation mechanism afik.

If you want to donate can I ask you do so to Claudio (@cprezzi ), he has done amazing work keeping LW alive since 2017 after most of the developers moved on.

Ps. Just a personal opinion… not ‘project policy’…