- Use a joystick for big moves on all axis
For a joystick with Marlin, you have two choices. First you can use “dumb” solution that is directly wired into the Rambo board and managed by Marlin. See here. I though I read a post recently where Jamie’s code was folded into the official Marlin release, but I’m not sure. The second choice is manage the joystick with another board and then inject g-code through the serial port on the Rambo board. I made the second choice and use a Arduino Nano. Note that g-code, including the g-code injected through the serial port, go into a queue, so I had to play games with breaking larger moves down into smaller ones and sending moves over time in order to get something that was responsive and stopped immediately.
- use a handwheel to dial in smaller moves with axis selector and speed per move selector
- have an auto-square button
- have a button to start/stop job
If you are injecting g-code and are comfortable with coding for the boards you mention, then these become easy, though you still have to be aware of the command queue. There is an emergency parser that can be enabled in Marlin so that a stop happens immediately.
button for spindle on/off
I went a different way. I purchased an IOT Relay for my router. The relay can be connected to the fan pin on the Rambo board so that the router can be turned on/off using g-code. So my g-code cutting files turns the router on/off automatically. And since it is ‘just’ g-code, my pendant can also turn the router on/off.
But apart from turning the router on/off for cutting, I advise you to have a big red button that kills everything. With an IOT relay, you can make the switch only deal with 12V. Killing the power to the Rambo board will almost certainly kill the power to IOT relay and therefore the router. Without the relay, you likely will need the switch to kill a MAINS powered power strip that powers both the router and the Rambo board.
Control of the spindle speed during the milling process (I’ll be using a DWP611)
Unless you make major modifications to the router, you will need to pause the cutting, rotate the dial on the router, then resume cutting Alternately you could use an external speed controller instead of the dial on the router, but I expect you would lose far more torque than if you made the change on the router.
Control of the feed rate during the milling process
I’ve not used it, but you should be able to inject an M220 to adjust the feedrate percentage.