One of the reasons I ordered the machine I did was that it had an automatic Z axis, and (at least on the photos), buttons at the side to manually raise/lower the bed. When it turned up, the buttons are of course missing…
I know I can just use the Z/U button and raise/lower like that, but it’d be nicer to have the buttons there ready to use. I’m an embedded software engineer So I think I could …
Have an STM32 or similar ARM chip also connect to the Z axis stepper controls, and simply send pulses / direction controls directly to the motor - maybe with an analogue mux to prevent any interaction/feedback when the button isn’t being pressed.
Same STM32 with buttons, but this time put a small ethernet hub inside the machine, and network up the ARM chip so that it finds Lightburn (or the Mac/PC/Linux box running it) on the network, and tells that machine to in turn tell Lightburn to do it
Put up with the situation as-is…
(1) is a lot less complex, but (2) means there’s only one box in control of the laser, which is probably better really. It would mean there’d have to be some way for lightburn to take network or OS requests / provide an API or something similar though…
Is there any facility for something like this ?
Actually, looking into it a bit more, I think (1) might be the better option after all. I can have the output of the Ruida controller as an input to the ARM, and copy that input to an output under normal circumstances.
If the button is pressed, we stop the copy, and just generate appropriate step/dir pulses. That way it’s just an interposer board - we’d need to handle limit switches as well of course, in the opposite direction.
That way there’s no networking, and no reliance on lightburn even running. It’s all self-contained.
So, sorry for the noise - I think I’ll do it according to (1)