MPCNC: GRBL Configuration

This collection of GRBL settings gets the MPCNC hardware up and running:

$$
$0=10
$1=255
$2=0
$3=2
$4=0
$5=0
$6=0
$10=1
$11=0.010
$12=0.002
$13=0
$20=0
$21=0
$22=1
$23=7
$24=500.000
$25=1000.000
$26=250
$27=2.000
$30=1000
$31=0
$32=0
$100=100.000
$101=100.000
$102=400.000
$110=6000.000
$111=6000.000
$112=3000.000
$120=1000.000
$121=1000.000
$122=1000.000
$130=650.000
$131=475.000
$132=100.000
ok
view raw MPCNC-GRBL.cfg hosted with ❤ by GitHub

Conveniently, the $$ command (in the first line) produces output in exactly the format it will accept as input, so just pour the captured file into GRBL’s snout. I used ascii-xfr with a 250 ms line delay:

ascii-xfr -s -v -l 250 MPCNC-GRBL.cfg > /dev/ttyACM0

Now, to be fair, the MPCNC hasn’t yet done any useful work, but it moves.

Notes:

Setting $22=1 requires home switches to be installed and working, with $23=7 putting them on the negative end of the axes, which may not work well in practice. In particular, having the Z axis homing downward is just plain dumb.

The step/mm values in $10[012] require 1/16 microstepping with 2 mm belts on 16 tooth motor pulleys. The MPCNC’s Marlin config uses 1/32 microstepping, which doubles the step frequencies and (IMO) doesn’t provide any tangible benefit.

The speeds in $11[012]=6000 seem aggressive, although they actually work so far.

The accelerations in $12[012] may push the motors too hard with anything installed in the toolholder.

The travel limits in $13[012] depend on the rail lengths you used.