Hey Everyone - I'm building a pretty standard moving-gantry CNC Router and have all the mechanicals done but I'm in way over my head on the electronics and controls. I've been digging around on the internet for a while now and can find lots of similar setups but nothing quite the same as what I've got and I don't know enough about what I'm doing to be able to confidently bridge the gap.

Here's what I've got:
- Roughly 36"(X) x 40"(Y) x 6"(Z) cutting area with MDF spoil board.
- Aluminum extrusion & 1/2" aluminum plate frame
- Chinesium round-rail/linear bearing slides from ebay for all three axes.
- Chinesium ball screws from ebay with 4 NEMA 23 (2.8a 269oz./in) motors - 2 for X axis (1 under each end of the gantry); 1 for Y and 1 for Z
- Meanwell NES-350-24 24v, 350 watt, 14.6 amp power supply for the motors.
- Arduino UNO to run GRBL
- 4 stepperonline.com DM542Y stepper drivers
- SPDT hinge/roller type limit switches for both ends of each axis (will follow NC w/noise filtering schematic here)
- 500w air cooled er-11 spindle with independent power supply and speed control (this is a temporary compromise due to budget constraints... will replace with a full sized router or more powerful spindle down the road)
- e-stop button/switch
- lock-out power switch (similar to what many table saws, etc... come with - has the removeable red cap when off.
- everything will be housed in a modified PC tower with multiple 12v 120mm fans to move air in and out.

My biggest questions are:
1. What pins from the arduino should be connected to the DR+/-, PU+/-, MF+/- terminals on the stepper drivers
2. How do I synchronize my 2 X axis motors & drivers?
3. Can I wire my 3 PSU's (motors, spindle, fans) to ONE cord/plug? (I have 20amp service, so I think the loads work out, but I'm wondering if it will cause interference or grounding issues or something like that)
4. What is the preferred way to wire the e-stop? Should it kill all of the power to everything?
5. Since I'm using drivers and no shield, is there a way to set up some additional physical controls like "hold/resume", a probe, future coolant pump, etc... or am I over-shooting what an arduino can do?

Thanks in advance for any and all help you can provide... I kind of jumped headlong into this project with a "figure it out as I go" attitude and now my attitude has reached the limits of my aptitude, as they say... :drowning: