Whats wrong with the current setup?
The first issue is that, I have used Marlin as the firmware running on the Arduino Mega. This is a fork of the GRBL code and promised to have advanced features, but the project seems to have stagnated and the main GRBL project has progressed.
The second issue is that the build of Marlin I used had to be modified to run the dual Y motors with one driver chip for each motor. This meant that the code changes have to be reapplied for every upgrade which is a pain.
The third and biggest problem is that Marlin does not seem to be compatible with the same variety of client software. There is the basic Universal Gcode sender which is much more suited to CNC work than PrinterFace which is currently the only thing I could get working with Marlin. PrinterFace allows us to stream Gocde and jog the axis but does not provide even the simplest of info like current XYZ position.
Then there are some exciting web based frontends, like Inventables Easel and Chillpeppr
What is the proposed solution?
Protoneer has developed an Arduino shield for the Uno (Arduino Shield V3) that is specifically for CNC router type devices. It has jumpers for inverting the direction of driver/motors and for mirroring one driver to another. This means that the previous software hacks can be eliminated and done with hardware jumpers.
They are insanely cheap and can be picked up on ebay for less than £3, just search for arduino shield v3 or do Protoneer a favour and buy from him.
The shield is compatible with the standard GRBL build and the Uno is cheaper than the Mega.
Currently we have Pololu A4988 driver chips which are fine but are running very hot with a 12V supply and NEMA 17 motors. I got hold of some Pololu DRV8825 which can handle 2.2 A per coil with sufficient additional cooling