Take a sine-wave grayscale pattern with one cycle across 10 pixels at 254 dpi = 10 pixel/mm:
Then if you tell LightBurn to engrave the pattern with a line-to-line (vertical) spacing of 127 dpi = 5 pixel/mm, it will sample every other pixel in each row, producing a rather peculiar sine-ish wave:
You must engrave at 254 dpi = 10 pixel/mm in order to get all the pixels in the output stream:
That still looks gnarly, but it’s more along the lines of what the coarse 10 samples / cycle pattern calls for.
The risetime for each of those steps is on the order of 2 ms, so the controller’s analog output bandwidth isn’t much better than 150-ish Hz.
Close examination of the bar pattern shows the end of the first cycle really does hit exactly 0% intensity where the controller raises
L-ON (magenta trace) to force the output current to zero. The other minima remain a few percent above zero and cannot be squashed flat.
Today I Learned: LightBurn enforces square pixels at the line spacing distance for grayscale engraving.
I think this means you must resize / resample the grayscale image to match the engraving line spacing, because LightBurn could take the nearest adjacent pixel or average two adjacent pixels if its horizontal sampling doesn’t match the image resolution.