Automatically recording home offsets in case of power failure

Hello! I haven’t received my machine yet (I think it just shipped), but having used the CNC at my local makerspace, I have adopted the loose habit of taking a picture of the home offset when I start a carve.

My question: are there any hooks that would allow you to automate this? I don’t necessarily need precise instructions (I can figure it out), but just understanding what the points of extensibility in the software are so I can plug into it and maybe automatically write the offsets to a Google Sheets spreadsheet or something. This way if there is a power failure, I can recover things, and don’t have to rely on my human brain to get the offset recorded (I will definitely forget 20% of the time and that 20% will be the same 20% where my GFCI blows in my garage).

Also just be interested in what points of extensibility there is in general. I looked at the documentation and it doesn’t really speak much to this. I’ve seen some instances where people have made enhancements by having their machine respond to specific gcode, but not sure if there is some way to “trigger” code to execute in the event of specific gcode and in this case where that code might look for the stored offset values.

Was that the Buildbotics doc?

The level of precision you need in the work will play a role in how you can achieve this goal. Stall homing is pretty good but does have some variability in my testing (+/-.2mm, can be more if there’s debris in the way, @Machinist posted a method using additional stops here Stops for Homing that can help with the debris buildup). If you need better accuracy you will need to have a solid point that you can probe then offset from there. Unfortunately there isn’t a way to set a home based on probing a point so you’d need to use the absolute offsets for that point and your work offset.

I use a lot of fixtures for my work, I will usually have a corner designed into the fixture I can probe, then from there I know my distances to the work offset so I’ll probe the corner then use the MDI tab to execute a G0 X50 Y50 Z50 (replace the value 50 with your actual offset) then zero my X, Y, Z. If I were to lose power and need to restart, I’d probe the corner and execute the same G0 X50 Y50 command to get me back to my work offset. I will sometimes also use the front left corner of my wasteboard for the same purpose, probe it then use G0 X?? Y?? to move to my starting point.

Be careful to keep in mind where your workpiece is when executing the G0 commands, it would be safer to use an order like this to help avoid crashing the bit into the stock:

Move spindle to the top:
G53 G0 Z0
Move spindle to the work offset
G0 X?? Y??
Move spindle to the work offset z height
G0 Z??

1 Like

I ran into the power outage problem too. I cured that by homing the machine at the onset of the project then setting the center at 16.125 x & y. I’ve found using the center makes layout easy as well as set up especially when using an odd shaped piece of wood. If a project isn’t done at the end of my day I make sure the machine is at rest on the x/y zero that I have set before turning it off, that way the next day i only have to set Z to start. I also use machinist gauges for homing Z. I pick a spot on my surface off to the side of the work and home there making sure that when I change bits I use the exact same spot on the board.

1 Like

AH no! This is great. Thanks for the tip, I guess I should have assumed the controller wasn’t developed by Onefinity. I will dive in, thanks!

Thanks again @JimHatch! While the documentation didn’t contain the answer to my question, the link to their GitHub on that page I think is going to be a quicker way for me to figure out how to plug into the offset storing process and extend it with some functionality. Perfect, thanks!

1 Like

I use fixtures as well, both to allow me to resume a cut and also to allow me to cut both sides of a piece. All my cuts are based off the corner of the fixtures so you can easily re-zero as needed, even if the fixture itself is in a different location. Here’s a pic I took while making one of the fixtures

Although the 1F was built on the Buildbotics base, they have modified it so the Buildbotics GIT is a good resource it’s not guaranteed to reflect everything the 1F is doing so plan on testing a fair amount.