A common experience: on paper the machine reaches 10,800 mm/min, yet a 30×30 cm raster engraving at 318 DPI unexpectedly takes a long time. The configured speed isn't equal to the net engraving speed.
What you set in the software. The firmware's $110 (X Max rate) is its upper limit — the machine won't move faster than this on the X axis.
What the machine can actually, sustainably engrave at a given DPI and workpiece size. This is always lower than the configured value.
The bottleneck is acceleration ($120 / $121), not the max rate. It doesn't matter how high $110 is — if acceleration is low, on short raster lines the machine physically can't reach the configured speed.
In raster engraving, the controller works line by line. At the end of every line it reverses direction — this means acceleration, deceleration, and an overscan zone. Beyond this, several other factors play a role:
| Factor | Effect |
|---|---|
Acceleration / deceleration ($120/$121) | A ramp up-down cycle on every line; the target speed has to be reached within the line's length |
| Overscan zone | The head overshoots past the end of the line, decelerates, reverses — this costs time and area |
| PWM update limit | At high DPI + high speed, the firmware can't generate PWM fast enough |
| Planner buffer limit | GRBL only buffers a limited number of moves ahead |
| Dithering processing | Jarvis/Stucki/Floyd need more computation — the software feeds lines more slowly |
| Serial communication (baud rate) | An independent bottleneck at high DPI and with complex dithering |
Short scanline effect: on a small workpiece, the head in many cases never even reaches the configured speed, because it has to decelerate immediately. With a small object + high DPI + many direction changes, the gap between configured and net speed is largest.
Error 12: if the $100 step/mm × speed combination exceeds the controller's maximum step rate, GRBL returns Error 12: "Step rate exceeds the maximum step rate". This is a controller limit, not a mechanical one.
Step rate (steps/second) is the product of $100 step/mm and speed. On classic 8-bit GRBL controllers, the practical limit is around 30,000–40,000 step/s.
| Motor | Pulley | $100 step/mm | Step rate @ 10,800 mm/min |
|---|---|---|---|
| 1.8° | GT2 20T | 80 | 14,400 step/s |
| 1.8° | GT2 16T | 100 | 18,000 step/s |
| 0.9° | GT2 20T | 160 | 28,800 step/s |
| 0.9° | GT2 16T | 200 | 36,000 step/s |
The 0.9° + GT2 16T combination can approach the step-rate limit around 10,800 mm/min on classic GRBL controllers. On grblHAL (ESP32/STM32/Teensy) systems, this limit is much higher.
Typical $120 (X axis) ranges for diode laser systems:
| Category | Acceleration ($120) | Typical effect |
|---|---|---|
| Weak / basic setup | 300–800 mm/s² | Slow, long overscan, never reaches target speed on short lines |
| Normal raster | 1,500–3,000 mm/s² | Average performance, most diode laser machines run stably in this range |
| Aggressive / fast | 5,000+ mm/s² | Close to the mechanical limit — needs belt tension, frame rigidity, and motor torque to support it |
High acceleration only makes sense if the mechanics can handle it stably: taut belt, rigid frame, sufficient motor torque. Otherwise the result is skipped steps and banding.
At high DPI and with complex dithering, serial communication speed can become an independent bottleneck. The controller has to process many small PWM changes per line — if the serial channel can't keep up with the data-transfer demand, the machine slows down not because of the mechanics, but because of the data transfer.
The default value on most boards. Above 254–318 DPI, with dithering, it can become throughput-limited.
A noticeable difference at 318+ DPI, with grayscale and dithering. Not every board supports this stably — check the documentation.
Warning: with unstable communication, a higher baud rate can make things worse. Test with a simple engraving before switching.
Estimated, typical ranges. These can vary machine to machine — acceleration settings, image content, and the dithering method all have an effect.
| DPI | 115,200 baud | 250,000 baud |
|---|---|---|
| 254 | ~8,400 mm/min | ~10,200 mm/min |
| 318 | ~7,800 mm/min | ~9,600 mm/min |
| 400 | ~6,900 mm/min | ~8,700 mm/min |
| 508 | ~6,000 mm/min | ~7,800 mm/min |
| 635 | ~4,800 mm/min | ~6,600 mm/min |
Highlighted: 318 DPI — the range most commonly used with diode lasers. A gap of nearly 10–30% between the configured speed (e.g. 10,800 mm/min) and the net productive speed is typical.