I have a small a3 laser diode setup and I was talking to someone about a pen plotter using the same frame and just swapping out the laser, simple so far? So that turned into multiple pens, a vinyl knife and possibly an etch resist pen. I’ve drawn up a mechanism to handle the physical side of things, my question is can an Arduino uno with grbl control a fourth stepper and two servos or can I use a second Arduino as a slave and have it as an add on?
No, stock grbl cannot do this. There may be a fork on github that can but it will need at least an Arduino Mega as the Uno just does not have enough memory and pins. Maybe you should look at the various hardware solutions for Mach3 or LinuxCNC?
Dunno what happened with this, but for the person reading this thread in 2022... Stock grbl has a couple of outputs that could be useful on a simple plotter build for toolchanging: Coolant Enable and Spindle Direction. As an input you also have Probe. You essentially have to design a toolchanger that uses g-code canned cycles with control of these three pins. It's certainly doable, especially if you're comfortable writing your own post-processor. If your tool rack is in a specific fixed area (like a Datron), each of your tools then has a specific machine coordinate associated with it. You can use one pin, say Coolant Enable, to unlock/relock the "spindle". You'd have to design a precision mating method which reliably changes and always maintains each tool's offset. You'll have to replace the "toolchange" code that your CAM package spits out- which will essentially just make grbl sit there doing nothing until you manually confirm you changed the tool- with the code that runs the above- block one: ["go to tool rack tool preliminary location", "move in single direction (onto tool rack)", "unlock tool (coolant enable)", "move away in direction to disengage toolholding"], block two: ["move to next tool rack tool preliminary location", "move in single direction to engage tool", "lock tool in place (coolant disable)", "move away", ], etc. Where you go to drop the first tool and where you go to grab the next tool will depend on what you're starting with and what you're changing with. It's not super complex once you have one tool set up, but tweaking it to get to that point is likely to be tricky. If the locking mechanism requires a servo, your "Coolant Enable" signal will have to enable a second board that'll drive that servo as required. If it's pneumatic, that's a little easier. So yeah... Doable. Just not easy and simple. If you try to do this with a mill that requires use of those pins, you're probably out of luck, unless you somehow use "moving to a specific location" (that never gets machined) to initiate a toolchanging cycle. It requires a higher-level view of grbl and g-code, that's for sure.
With the new Pen plotter updates to OpenBuildsCAM /OpenBuildsCONTROL you can now use the OpenBuilds BlackBox to control a rc servo to make a pen holding drawbot. Check out the BlackBox Servo docs here We use the OpenBuilds ACRO as the foundation mechanism for bot the laser and drawbot Hope this helps