QR-codengrave V1.1 / V1.2

2 minute read

In a nutshell

  • Faster Engrave algorithm
  • Several bugfixes
  • Usability improvements

Demo video

Version 1.1

Engrave algorithm upgrade

  • The algorithm now scans the lines horizontally
  • One line “Left-to-Right”, next line “Right-to-Left” etc. to reduce machine travel
  • prefers lines over dots, and longer lines over shorter ones for time optimization
  • draws lines vertically or horizontally
  • rapid move positioning now is packed into vectors that can be called to new Points(X, Y) simultaneously, not only one dimension at a time
  • New algorithm just needs 80% of the time for engraving compared to the old one

Image: Algorithm comparison 1.0 vs. 1.1


  • splash image (qruwu.jpg) is not shown on startup when Persistence.dat is not available
  • Crash when pressing Stop Draw although drawing has never been initiated before
  • Crash when adding a tool on an empty selecion list
  • Initialization of application with no tool selected disables dropdown menu
  • Fix a calculation error in QR-code size estimation
  • Fix an error pixel width calculation for tapered tools
  • Actually the currently selected tool is not shown “selected” in the dropdown on startup
  • QR-codes can grow larger than the display area

Usability improvements

  • Change default tool name from name to default for clarity
  • Make non-tapered (V-cut) tool the default tool for better usability
  • Setting a new XY-zero offset became more intuitive (Y down is negative, X right is positive)

Version 1.2

Minor change over 1.1, most importantly a Bugfix that could lead to tool change macro not being called. In addition, tapered tool angles are now taken into account when calculating track width and QR-code engrave size.


  • Tool select Tx and tool change command M06 are now in the same line of the G-code to correctly trigger tool change macros
  • Actual selected tool not shown on startup, instead the first tool of the list was shown
  • QR-code drawing could grow larger than the screen. This is fixed now.
  • Crash fix when trying to update status although no engrave parameters available

Usability improvements

  • Add application version to G-code as comment
  • Add qr_ prefix to G-code save-to dialog’s default name
  • Improve job duration estimate


The latest release is available for download here, free of charge for home and private use. For more info on the project, please find the readme and the background information linked here.

Migration from an earlier version

It is possible to copy the persistence file to the new version’s directory. This way, saved tool lists, engrave parameters, and XY0 offsets can be ported to the new version. How it’s done:

  1. Navigate into src/assets of your QR-codengrave folder.
  2. copy Persistence.dat to a temporary folder or e.g. your Desktop.
  3. Remove the current installation by deleting the folder.
  4. Download the latest release, move it where your previous release was deployed.
  5. Move the Persistence.dat into src/assets of your new installation and start the application.