Why does this machine fail so much?

LOL.

I know what you mean.

After running into multiple issues I backed my attempts to simple processes. I have completely restructured the sequences to something more structured and use LAUNCHERs, SEQuences and SUBroutines to identify my code structure.

LAUNCHERS - This is what humans use to make FB work
SEQuences - The launchers run SEQ segments
SUB - perform specific tasks

This is my sequence stack

Here is an expanded Tools stack

The Safely sequence removes the existing head, loads the new head, verifies it has mounted correctly (electrical test) and remounts it if it fails the test.

The SUB call LUA code to do specific tasks so Mount tool-SUB runs the LUA command mount_tool() and that is all. This allows my code to be structured, clean and readable

This is my watering LAUNCHER

I also have four locations programmed up.

0,0 - Home
1200,0 - Goto after reboot
0,1200 - Park (All is good)
1200,1200 - Park (Error has occurred)

This means I can take a glance at the device from my webcam and see how the machine is performing or if there has been an error.