Discussion of Arduino/Grbl limitations and reasons for other controllers/software http://www.shapeoko.com/forum/viewtopic.php?f=3&t=3913&p=29429
- 1 Alternative Controllers
- 2 Alternative Stepper Drivers
- 3 Alternative Software
- 4 Assembling the electronics
- 5 Troubleshooting
Instead of using an Arduino microcontroller, Arduino stepper shield, and Pololu A4988 Stepper Drivers (or an Arduino and a GrblShield), you might instead select an all-in-one controller board or other control system or re-purpose a general-purpose computer.
Alternative Controller with On-board Microcontroller
- Gradus M1 Pro --- notable for replaceable stepper drivers
- TinyG (from ShapeOko community member Alden) --- See comparison at TinyG-or-grblShield --- more information at Inventables Blog: Hello World! Notes on using TinyG with Shapeoko and Re: Can someone explain what Tiny G is?
- Post discussing settings: Re: Tinyg Parameter Questions
- XStepper (from ShapeOko community member Xpix)
- AtomCNC was available from AtomCNC but site is off-line (from ShapeOko community member AtomSoft)
- Smoothieboard --- one implementation is Microcontroller:AzteegX5mini
Alternative Controllers without On-board Microcontroller
(Used in conjunction with a PC equipped with a parallel port and running LinuxCNC or other controller software )
Alternative to Stepper Shield
- https://store.eccentricworkshop.com/index.php?main_page=advanced_search_result&search_in_description=1&keyword=GRBL 
G540 4-Axis Digital Step Drive Made of four Gecko G250 drivers and their breakout board. Requirements: PC (running Mach3), a parallel cable, the Gecko itself, a power supply, motors, cables, and connectors.
- Mini ITX Setup
- tbone controller board for CNC applications
- 4 Axis Open Source CNC Controller
- http://zapmaker.org/raspberry-pi/3-alamode-arduino-connect-to-the-pis-gpio/ 
- http://www.buildlog.net/blog/2020/07/a-new-fully-modular-cnc-controller/ 
Alternative Stepper Drivers
Comparison of UC-100, SmoothStepper USB and SmoothStepper Ethernet: https://www.reddit.com/r/hobbycnc/comments/3suvtb/uc100_vs_usb_smoothstepper_vs_ethernet/cx0r30w
A (4) axis stepper driver Arduino shield that is perfect for use with grbl (garble) and other Arduino applications. The steppers drivers can be Pololu A4983, Pololu A4988 or open source StepStick drivers. These drivers can run steppers motors at up to 30V and 2 amp per coil. The resolution is jumper selectable per driver between full step,2x, 4x, 8x and 16x microstepping. There is now a relay driver board that is pin compatible with the stepper drivers that could be used to control spindle motors and coolant devices.
The plug in drivers are a great low cost solution for low power CNC devices. The drivers can easily be moved to other projects or replaced if they are damaged.
Almost all of them work with GRBL on Arduino, if you wire them correctly. Notes on setup: Re: ShapeOko inspired CNC by Northbear
Assembling the electronics
Assemble the stepper driver shield If you purchased the Stepper Driver Shield as a kit, you'll need to solder the parts yourself.
Tip A great way to get the pins aligned properly is to actually plug the un-soldered header pins into the Arduino, and then set the driver shield on top. The pins will be aligned and allow you to easily solder them in place.
A complete video guide to assembling the buildlog shield is available http://j.mp/Lal92X
The stepper shield allows you to configure the drivers to use microstepping by adding jumpers to the pins along the center of the shield. We want to use microstepping on the x-axis and y-axis, but not the z-axis. Connect all three pairs of jumpers for X and Y to indicate 16 microsteps. Leave the pins "un-jumpered" for Z and A.
Solder headers to the drivers You'll need to solder the headers to the drivers, too.
Tip You can use the same trick to solder the headers to the drivers and you did to solder the headers to the driver shield. Plug the headers into the driver shield and set the driver on top. The pins will be aligned and allow you to easily solder them in place.
Keeping things separated The shield sits extremely close to the Arduino. If it looks like components on the shield are going to touch the Arduino, you'll need to do something to keep them separated. Either insert some insulating material between them, or insert a set of headers between the Arduino and shield.
Another option to help seperate the stepper shield from the arduino is to buy the Googly Eye Shield from evilmadscience.com!
Note that behavior of the electronics will differ due to the increased control and options which the more advanced components afford: http://www.shapeoko.com/forum/viewtopic.php?f=3&t=5954&p=45465#p45465