Advanced Electronics

From ShapeOko
Jump to navigation Jump to search

Discussion of Arduino/Grbl limitations and reasons for other controllers/software

Alternative Controllers

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.

Reddit thread:

Netduino Microcontroller

Netduino CNC

Alternative Controller with On-board Microcontroller

Alternative Controllers without On-board Microcontroller

(Used in conjunction with a PC equipped with a parallel port and running LinuxCNC or other controller software )

4 Axis Open Source CNC Controller
HobbyCNC EZ-Driver Board
Xylotex 3-Axis Stepper Motor Driver Board

Alternative to Stepper Shield

Mach3/Chinese Controllers

G540 4-Axis Digital Step Drive[3] 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.[4] [5]

Shapeoko 2 Mach3 settings[6]

Linux CNC

Other Alternatives

Alternative Stepper Drivers

Comparison of UC-100, SmoothStepper USB and SmoothStepper Ethernet:

Reddit: What's the difference in CNC shields and how do they work?


Stepper Shield from

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.


  • Screw terminal blocks for all stepper motor connections
  • Screw terminal block for the motor power supply.
  • Arduino reset button for easy access to reset the Arduino.
  • Jumpers for resolution selection.
  • Motor enable wired to an Arduino pin. Default is set to enable motors


Almost all of them work with GRBL on Arduino, if you wire them correctly.[11] Notes on setup: Re: ShapeOko inspired CNC by Northbear


Alternative Software

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

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.

Stepper Shield from

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.

Pololu A4988 stepper driver

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.

Driver shield sitting a little too close to the ArduinoDriver shield separated by an extra set of headers Driver shield separated by an extra set of headers


Another option to help seperate the stepper shield from the arduino is to buy the Googly Eye Shield from!

Googly Eye Shield from Evil Mad Science


Note that behavior of the electronics will differ due to the increased control and options which the more advanced components afford: