Skip to content
Sonny Jeon edited this page Oct 14, 2013 · 17 revisions

This wiki is intended to provide information on known bugs. Please feel free to contribute more known bugs and their work arounds as they are discovered. When a bug is fixed, they will be removed from this list.

  • (FIXED) Grbl makes a thunk sound at the end of an acceleration, right before cruising. Usually when going fast:

  • This is caused by a computation delay within the stepper algorithm itself in Grbl v0.8 or prior. A simple divide to compute the new timer ticks takes about 40 usec, which unfortunately means that when traveling at step frequencies higher than 20kHz or so, that delay can mean a step not firing on time and causing an audible thunk. The step isn't lost but this delay can lead to position drifts. However, this problem has been rectified in v0.9, as the stepper algorithm has been completely rewritten to avoid any process that takes more than 20-25 usec. Meaning that grbl can support the 30kHz step frequency as advertised.

  • When manually entering moves, like for jogging, Grbl sometimes skips steps or moves strangely:

  • This is caused by entering a move right before the previous move completes. Grbl's planner computes when to end an acceleration and when to start a deceleration for each new motion block it receives. If when you enter a new move, the planner will recompute the buffer. Right now, there isn't an internal lock to prevent the planner to re-write the plan for the first block being executed by the stepper system. So there can be instances where this new plan can effect the currently executing move, but it's usually very rare when streaming a g-code program and the planner buffer is full. This most commonly shows up during manual operation, like jogging, when the planner buffer isn't full. Anyhow, this is slated to be fixed in v0.9 and current development efforts have shown very significant promise and should soon solve this problem once and for all. If your machine is particularly susceptible to this error, just wait until a move completes before entering a new one or slow down the feed to keep the buffer as full as possible.