Workaround for not being able to set xTool D1 Z steps per mm

When I got my xTool D1 a couple of weeks ago I was able to use my rotary tool just fine with the rotary settings from xTool. Yesterday I couldn’t get the rotary tool to work properly. Framing an image that should only be 30mm makes the 150mm diameter cylinder go around twice. I find that $102 which is the Z steps per mm is set to 0 but I’m unable to change it no matter what I do. I’ve tried setting it through the console. I’ve tried editing an XML save file and I’ve tried editing the XML backup file to no avail. I’ve tried writing the settings with the update switch set in both positions and still no go. I don’t know why the setting won’t take. I can’t even find an older D1 firmware to flash. Any ideas?

xTool have blocked all GRBL configuration changes. This has been an issue from the first GRBL release.

I suggest you loudly complain to xTool about this. There was a previous post about the same issue here:

Hey! Thanks for the quick reply. Is there any other way to make configuration changes? I read somewhere that Laserbox uses a different interface to communicate with the D1. Is there a way we can access that interface to make the changes we need to make to get LightBurn to work again?

Not as far as I know based on what’s been discussed on this forum.

It’s not just a different interface. As far as I know there is a completely different firmware for D1 native functionality accessed through Laserbox so goes down a different path. So this isn’t about being able to modify things from Laserbox and have them available elsewhere.

What’s odd is that xTool has been promising for months that they would be addressing these configuration issues but somehow continue to disable modification while fixing some things and breaking others. Almost feels like it’s deliberate.

Oh gotcha. Yeah, that does look deliberate. I mean, it should be a simple matter to just allow configuration from either of the “co-firmwares”. I’m familiar with 3D printer controller boards and Arduino in general and I’m pretty sure it’s just a matter of writing values to the same location in the board’s EEPROM. This might actually be the case with the D1, where it can read the values but xTool has it so the GRBL side can’t write to EEPROM whereas the proprietary side can. I wish someone would decipher the communication between Laserbox and the D1 so we can see what’s going on.

The locking out of the firmware is certainly deliberate. It’s a configuration choice. The odd half-fixing of issues is what seems odd.

Even in this case they’d be writing to different parts of EEPROM or different EEPROM entirely. Not sure how the controller is designed for the D1.

Yep, I can’t even find any information on the controller. I’m so used to the 3D printing world where everything is open source. Both hardware and software. I guess in the laser engraver space it’s ok to keep stuff proprietary.

There are mixed camps on this. Some solutions are completely open like many of the arduino based solutions running bog standard GRBL. Then next level up you have vendors using GRBL and allowing configuration changes but not publishing source for their changes in violation of GPL. Then you have vendors using GRBL, not allowing saves, and not publishing source. That’s where you find xTool. Then you have a whole bunch of vendors that run completely proprietary software (or hide the source of their firmware) standalone or in some sort of mixed mode like what xTool also does. Neje also runs two sets of firmware.

There’s a lot of overlap with the 3D printing world but has certainly developed in its own way. I suspect it’s because consumer 3D printing was invented by hobbyists whereas laser engraving was trickle down from the well established CNC and industrial laser cutting worlds.

1 Like

I havent experimented with it but I have noticed a change in the value for the rotary device. If you look at the old instructions (pre ra2 pro) they say to input 360 in the mm per revolution box. In the new instructions(post ra2 pro) it says to put 32mm. Im thinking with the new firmware update they changed it from degrees to actual mm to make it more compatible with the chuck


That makes perfect sense. More like a trickle up effect in the 3D printing space vs trickle down in the laser space.