Starting to get great results with aluminium

Here are the settings. Pretty normal, except I am using NC homing switches. It is GRBL 0.9j. I upgraded because 0.9i had a bug with the M30 command sent by Fusion360 at the end of a program. I’ve been using ChiliPepper to send gcode to the machine. (Although I used UGS to grab these outputs because it does less filtering of the serial console). The limit switches are in the standard locations, so at “home” the carriage is in the lower left when looking at the X-Carve logo.

>>> $$
$0=10 (step pulse, usec)
$1=255 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=3 (dir port invert mask:00000011)
$4=0 (step enable invert, bool)
$5=1 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.050 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=1 (homing cycle, bool)
$23=3 (homing dir invert mask:00000011)
$24=25.000 (homing feed, mm/min)
$25=750.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=40.000 (x, step/mm)
$101=40.000 (y, step/mm)
$102=188.947 (z, step/mm)
$110=8000.000 (x max rate, mm/min)
$111=8000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=500.000 (x accel, mm/sec^2)
$121=500.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=290.000 (x max travel, mm)
$131=290.000 (y max travel, mm)
$132=100.000 (z max travel, mm)

I don’t see any output from sending ?. But here is the output of a homing sequence started with $H right after connecting.

>>> $H

I don’t see anything suspicious in your setup. I don’t have 0.9j so there may be something in the new version.

One wild ■■■ guess is that you may have some garbage in the EEPROM on the Arduino. Some people have had to zero out the EEPROM to get things working right. You might want to search the forum for some of those posts.

That looks beautiful.

@ChrisWundram those negative coordinates are the “machine coordinates” and refer to the G53 coordinate system. G54 is the coordinate system you’ll be using when sending g-code. Can you type $# after homing the machine and post the results please?

I get that they are machine coordinates. I’ve been using G92 to set the work coordinates. I’ve been running the bit up to the edge of the work piece, finding the last point where it will still spin freely, and then doing a G92Y-3.175 (If I was aligning on the X edge, it’s a 6.35mm diameter bit). Then after each tool change, I bring the bit down on the top, and zero out the Z coordinate. This all works.

My main concern with the strange negative coordinates is that by default, a G28 will take the machine to 0,0,0 in machine coordinates, which crash into the sides with this setup. I try to do a G28.1 to set a better safe spot for the spindle to prevent this from happening, but I am always afraid I will forget.

I find that the best way to go about setting a work offset is to avoid G92 like the plague and instead set G54.

The way I do this is jog to the position I want to set as zero and enter G10 L20 P1 X0 Y0 Z0 (P1 refers to the G54 coordinate system)

Here is a great resource that explains work offsets if you want to read up on it:

If you’d like to set your G28 in a safe spot I recommend homing the machine then jogging to the safe spot and entering G28.1 Then home your machine every time you start up your machine. G28 uses G53 machine coordinates which means you won’t crash if you’ve homed your machine.

BTW, the full project is now here.

Yes with any Adrduino you should clear the EEPROM before flashing. The old code can leave garbage behind, this happens quite often with flight controllers for multi-rotors and clearing the eeprom seems to solve lots of issues.

What vise do you have? I’m in the market :smile:

I’m using a little machine vise from proxxon that fits on my little proxxon machine. Not the greatest, but it seems to work. I combined that with some step clamps clamped to the sides to act as vise stops. This was necessary, as the lateral force the spindle puts on the stock is greater than the static friction of the vise jaws.

I’m also using the proxxon step clamps because the stud size on these fits well with the t-slot nuts Misumi sold me with my t-slot bed.