I’m getting really close now.
My attempt to re-create this pattern on my smaller table in the newer version of sandify. Sandify file and gcode attached.
fract4.zip (622.0 KB)
Just getting the negative offsets dialed in still.
I’m using:
$HY G92 X0 Y0
G0 Y-6
G92 X0 Y0
$HX
G0 X-15
G92 X0 Y0
G0 X89.928 Y196.938 F1200
And when I run it by hand line by line it all works as expected. I found the -6 and -15 experimentally…originally I was only using a 1mm pulloff and those were Y-2 and X-11 but I increased it to a 5mm pull off since sometimes it wasn’t clearing for the 2nd homing.
I found the -6/-15 by doing G0 commands 1 mm at a time until the machine hit it’s physical limit then going back 1 from there.
But…when I run it from a .gcode file … the G0 Y-6 line seems to cause a surprisingly long crash. Like…longer than it should take to move from Y0 to Y-6. And if I run the lines by hand I don’t get a crash.
Also odd - that last line (which is from “G0 X{startx} Y{starty} F1200” in sandify) the ball shoots across at what looks like WAY more than 1200mm/min. It looks faster than the 3000mm/min moves I’ve tried. But then the rest of it runs at what is definitely 1200mm/min and there are no other F’s in the gcode. Though…now that I type that out I realize it’s a G0 move not a G1…so maybe I should change that to G1 and it may be moving that fast because it’s a G0 and it’s ignoring the F and running at the rapid speed (which I think should be around 3000 or 5000 with how I have it configured currently and would explain that first move shooting off so quickly.)
I am running the latest fluidnc instead of the v1 recommended build. So it could be something funky in there.
And - sometimes $HX is still finding a 0 that’s about 5-10mm away from actual 0. But I think that might be the endstop wires getting knocked into the sensor - so some better cable management might be the solution there.
I also sometimes get a big crash off the G0 X-15 - last night I made a quick pattern from a spiral wiper with some perlin noise…and each time I tried to run it I’d get crashes on both negative moves then it would start drawing right at the Xmax instead of in the center like it was supposed to. But this morning I ran the same gcode immediately after plugging it in and it ran almost perfect - just a small crash on the Y-6 and a bit of jingling as the Xmax moves got close enough that the idler on the center started to bump against the Xmax truck.
So…I’m getting REALLY close to having it homing reliably now. Just working out a few final issues. I could easily back things off a bit and give up 5mm or so of drawing area and probably have it working reliably…but I’m trying to make use of every mm just because I’m enjoying the challenge ![]()
I had been hoping to bring it into work to share today - but since I didn’t get these last few issues ironed out last night I’m not quite ready to demo it in person to anyone just yet ![]()

