Difference between revisions of "EShapeoko Complete Kit"

From Amber Spyglass Ltd
Jump to navigation Jump to search
(Updated store links following hosting move)
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
The mechanical kit includes everything you need to build the machine,
+
<onlyinclude>The mechanical kit includes everything you need to build the machine,
 
except the motors and electronics.  The kit includes belts, belt pulleys,
 
except the motors and electronics.  The kit includes belts, belt pulleys,
 
and all hardware to attach the motors.
 
and all hardware to attach the motors.
Line 17: Line 17:
 
an enclosure for the electronics (with connectors and buttons),
 
an enclosure for the electronics (with connectors and buttons),
 
homing and limit switches.
 
homing and limit switches.
 +
</onlyinclude>
 +
This article makes a modest start in exploring the variety of electronics
 +
that can work with the eShapeoko.  It can be a little overwhelming for a
 +
beginner, so we've arranged it so that it can be read in three ways:
 +
* Read it in its entirety;
 +
* Skip over the ''More Choices'' sections, and [[EShapeoko Complete Kit (Example Only)|focus on our example configuration]];
 +
* Click all the way through to [[#Summary|the summary]] and read only that.
  
TODO add product links for all items mentioned.
+
[[File:GAUPS_1.1_stepper_shield_complete_system.jpg|center|800px|thumb|Nearly complete eShapeoko electronics with GAUPS 1.1 and Arduino Uno, shown here with four NEMA 17 motors]]
 
 
TODO present some alternatives.
 
 
 
== Example machine ==
 
  
 +
== Example Machine ==
 
There are many options at each stage, and this page will try to guide you
 
There are many options at each stage, and this page will try to guide you
 
through the choices.  As an introduction to the sometimes bewildering array
 
through the choices.  As an introduction to the sometimes bewildering array
 
of choices, we will illustrate with an example: a single, complete configuration
 
of choices, we will illustrate with an example: a single, complete configuration
using our preferred choices.
+
using our preferred choices.  They are highlighted in green in all the tables.
  
Our example is a machine with a 750 mm X axis and 500 mm Y axis,
+
<onlyinclude>Our example is a machine with a 750 mm X axis and 500 mm Y axis,
 
with NEMA 23 motors on X and Y, and a NEMA 17 motor on the Z axis.
 
with NEMA 23 motors on X and Y, and a NEMA 17 motor on the Z axis.
 
This machine will have just over 585 mm of X travel, 335 mm of Y travel,
 
This machine will have just over 585 mm of X travel, 335 mm of Y travel,
Line 46: Line 50:
  
 
== Stepper Motors ==
 
== Stepper Motors ==
 
+
[[File:NEMA23a.jpg|thumb|right|200px|NEMA 23 motor (51 mm long)]]
[[File:NEMA23a.jpg|frame|right|x200px|NEMA 23 motor (51 mm long)]]
+
</onlyinclude>
[[File:NEMA17-48mm-stepper-motor.jpg|frame|right|x160px|NEMA 17 motor (48 mm long)]]
+
[[File:NEMA17-48mm-stepper-motor.jpg|thumb|right|160px|NEMA 17 motor (48 mm long)]]
 
=== Our Example ===
 
=== Our Example ===
 +
<onlyinclude>
 
We chose three 0.9&deg; per step (400 step per revolution)
 
We chose three 0.9&deg; per step (400 step per revolution)
 
NEMA 23 motors with a current rating of 1.7 A.  There's one motor on the X axis,
 
NEMA 23 motors with a current rating of 1.7 A.  There's one motor on the X axis,
Line 57: Line 62:
  
 
To get an idea of what a holding torque of 9000 gf&middot;cm means,
 
To get an idea of what a holding torque of 9000 gf&middot;cm means,
[[#Stepper Motor Holding Torque|read here]].
+
[[Stepper Motors#Holding Torque|read here]].
  
 
For the Z axis, we chose a 1.8&deg; per step (200 step per revolution)
 
For the Z axis, we chose a 1.8&deg; per step (200 step per revolution)
Line 63: Line 68:
 
weighs about 340 g, and has a holding torque of 5200 gf&middot;cm.  It's very
 
weighs about 340 g, and has a holding torque of 5200 gf&middot;cm.  It's very
 
powerful for a NEMA 17 motor, and enough for the Z axis in most cases.
 
powerful for a NEMA 17 motor, and enough for the Z axis in most cases.
 
+
</onlyinclude>
 
=== More Choices ===
 
=== More Choices ===
  
Line 127: Line 132:
 
it would have slightly better performance at high speed.
 
it would have slightly better performance at high speed.
  
==== Our Products ====
+
=== Our Products ===
 
The motors suggested for our example machine are highlighted in green.
 
The motors suggested for our example machine are highlighted in green.
  
Line 145: Line 150:
 
     !1
 
     !1
 
     |NEMA 23||51 mm||0.9&deg;||400||1.7 A||9000 gf&middot;cm||560 g
 
     |NEMA 23||51 mm||0.9&deg;||400||1.7 A||9000 gf&middot;cm||560 g
     |[http://store.amberspyglass.co.uk/51mm-nema23-stepper-motor-400step-per-rev.html visit]
+
     |[http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html visit]
 
     |Good all-round motor for X and Y, precise and plenty powerful
 
     |Good all-round motor for X and Y, precise and plenty powerful
 
   |-
 
   |-
Line 154: Line 159:
 
     !2
 
     !2
 
     |NEMA 17||48 mm||0.9&deg;||400||1.7 A||4200 gf&middot;cm||340 g
 
     |NEMA 17||48 mm||0.9&deg;||400||1.7 A||4200 gf&middot;cm||340 g
     |[http://store.amberspyglass.co.uk/48mm-nema17-stepper-motor-400step-per-rev.html visit]
+
     |[http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html visit]
 
     |Good for precision work on all axes.  Average torque
 
     |Good for precision work on all axes.  Average torque
 
   |- style="background:#CED;"
 
   |- style="background:#CED;"
 
     !3
 
     !3
 
     |NEMA 17||48 mm||1.8&deg;||200||1.7 A||5300 gf&middot;cm||340 g
 
     |NEMA 17||48 mm||1.8&deg;||200||1.7 A||5300 gf&middot;cm||340 g
     |[http://store.amberspyglass.co.uk/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html visit]
+
     |[http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html visit]
 
     |Fast and powerful, yet economical.  Good for all axes
 
     |Fast and powerful, yet economical.  Good for all axes
 
   |-
 
   |-
 
     !4
 
     !4
 
     |NEMA 17||48 mm||1.8&deg;||200||2.5 A||4800 gf&middot;cm||340 g
 
     |NEMA 17||48 mm||1.8&deg;||200||2.5 A||4800 gf&middot;cm||340 g
     |[http://store.amberspyglass.co.uk/48mm-nema17-stepper-motor-200step-per-rev.html visit]
+
     |[http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-200step-per-rev.html visit]
 
     |Good match for bigger drivers (TB6560 etc)
 
     |Good match for bigger drivers (TB6560 etc)
 
   |-
 
   |-
 
     !5
 
     !5
 
     |NEMA 17||40 mm||1.8&deg;||200||1.7 A||4000 gf&middot;cm||240 g
 
     |NEMA 17||40 mm||1.8&deg;||200||1.7 A||4000 gf&middot;cm||240 g
     |[http://store.amberspyglass.co.uk/40mm-nema17-stepper-motor-200step-per-rev.html visit]
+
     |[http://amberspyglass.co.uk/store/40mm-nema17-stepper-motor-200step-per-rev.html visit]
     |Ligher weight.  Not ideal for eShapeoko: use Option 3 instead
+
     |Lighter weight.  Not ideal for eShapeoko: use Option 3 instead
 
|}
 
|}
  
Line 178: Line 183:
 
but less accurate).
 
but less accurate).
  
 +
These are some of the combinations of motors that make sense:
 +
{| class="wikitable"
 +
  |-
 +
    !X and Y axes
 +
    !Z axis
 +
    !Comments
 +
  |- style="background:#CED;"
 +
    |3 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
    |Very strong motors with precise positioning
 +
  |-
 +
    |3 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
    |As above, with extra precision in Z positioning
 +
  |-
 +
    |colspan="2" align="center"|4 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |More torque than necessary for the Z axis
 +
  |-
 +
    |colspan="2" align="center"|4 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
    |Strong, fast motors
 +
  |-
 +
    |3 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
    |Precise positioning, Z axis faster
 +
  |-
 +
    |colspan="2" align="center"|4 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
    |Precise positioning, Z axis extra-precise
 +
|}
 +
<onlyinclude>
 
== Controller ==
 
== Controller ==
 
+
</onlyinclude>
[[File:Arduino-uno-box-2.jpg|frame|right|x200px|Arduino Uno (in box)]]
+
[[File:Arduino-uno-box-2.jpg|thumb|right|x200px|Arduino Uno (in box)]]
 
=== Our Example ===
 
=== Our Example ===
 +
<onlyinclude>
 
We chose the most popular controller for the Shapeoko and eShapeoko:
 
We chose the most popular controller for the Shapeoko and eShapeoko:
an Arduino Uno, running the GRBL software.  GRBL is a G-code interpreter:
+
an [http://arduino.cc/en/Main/ArduinoBoardUno Arduino Uno],
it receives G-code and emits step and direction signals for the motor drivers.
+
running the [https://github.com/grbl/grbl GRBL software].  GRBL is a G-code interpreter:
 +
it receives [http://en.wikipedia.org/wiki/G-code G-code] and emits step and direction signals
 +
for the motor drivers.
 
GRBL can control three axes.  Our machine has four motors, but the two Y motors
 
GRBL can control three axes.  Our machine has four motors, but the two Y motors
 
always move together, so they share one set of control signals and count as
 
always move together, so they share one set of control signals and count as
 
only one axis.
 
only one axis.
 
+
</onlyinclude>
 
=== More Choices ===
 
=== More Choices ===
 
==== GRBL ====
 
==== GRBL ====
GRBL is a very popular G-code interpreter, used by the vast majority of Shapeoko
+
[https://github.com/grbl/grbl GRBL] is the G-code interpreter used by the vast majority of Shapeoko
and eShapeoko owners.  It runs on the Arduino Uno and requiresa shield with drivers.
+
and eShapeoko owners.  It runs on the [http://arduino.cc/en/Main/ArduinoBoardUno Arduino Uno] and requires a shield with drivers.
 
There are also several boards based on the same microcontroller (CPU) as the
 
There are also several boards based on the same microcontroller (CPU) as the
Arduino Uno, the Atmel Atmega328P, some of which also include motor drivers.
+
Arduino Uno, the [http://www.atmel.com/devices/atmega328p.aspx Atmel Atmega328P], some of which also include motor drivers.
The Azteeg G1 from Panucatt comes to mind, as well as XStepper, a board designed by
+
The [http://www.panucatt.com/product_p/mcnc-3az-328p.htm Azteeg G1] from Panucatt comes to mind, as well as [http://www.shapeoko.com/wiki/index.php/XStepper XStepper], a board designed by
 
fellow Shapeoko forum member xpix.
 
fellow Shapeoko forum member xpix.
  
 
GRBL-based controllers are easy to work with,
 
GRBL-based controllers are easy to work with,
and there are lots of helpful people with experience with them on the Shapeoko
+
and there are lots of helpful people with experience with them on the [http://www.shapeoko.com/forum/ Shapeoko forum].
forum.
 
  
 
GRBL's implementation of G-code is intentionally limited and does not include
 
GRBL's implementation of G-code is intentionally limited and does not include
Line 209: Line 245:
 
==== 3D Printer Electronics ====
 
==== 3D Printer Electronics ====
 
Most 3D printer electronics and firmware will also run CNC milling machines.
 
Most 3D printer electronics and firmware will also run CNC milling machines.
One example is the Arduino Mega2560 with Marlin, using a RAMPS board.  There are
+
One example is the [http://arduino.cc/en/Main/ArduinoBoardMega2560 Arduino Mega2560] with [https://github.com/ErikZalm/Marlin Marlin], using a [http://reprap.org/wiki/RAMPS RAMPS board].  There are
quite a few designs that integrate the Atmega2560 processor and the drivers into
+
quite a few designs that integrate the [http://www.atmel.com/devices/atmega2560.aspx Atmega2560 processor] and the drivers into
a single-board solution, too, including several products from Panucatt, and the
+
a single-board solution, too, including several products from [http://www.panucatt.com/ Panucatt], and the
RUMBA board.
+
[http://reprap.org/wiki/RUMBA RUMBA board].
  
 
3D printer boards are ubiquitous, but the firmware isn't designed for CNC milling,
 
3D printer boards are ubiquitous, but the firmware isn't designed for CNC milling,
like GRBL is, so they may not be ideal.  Several ports of GRBL exist for the
+
like GRBL is, so they may not be ideal.  GRBL now officially supports the
Atmega2560 + RAMPS, but they seem to be based on old versions of GRBL and not
+
AtMega2560 + RAMPS, so it can be used too.
updated.
 
  
 
==== TinyG ====
 
==== TinyG ====
The TinyG controller and firmware are designed for CNC machines.  TinyG integrates
+
The [http://www.synthetos.com/project/tinyg/ TinyG] controller and firmware are designed for CNC machines.  TinyG integrates
 
the processor (a much more powerful Atmel chip than the Arduino Uno and Mega)
 
the processor (a much more powerful Atmel chip than the Arduino Uno and Mega)
 
and the stepper motor drivers.  The TinyG firmware has third-order motion profiles,
 
and the stepper motor drivers.  The TinyG firmware has third-order motion profiles,
Line 229: Line 264:
 
move faster.
 
move faster.
  
In a relatively new development, the TinyG firmware (renamed G2) can run on ARM
+
In a relatively new development, the [https://github.com/synthetos/g2 TinyG firmware] (renamed G2) can run on ARM
chips, including the Arduino Due.  On the Due, it can be configured to drive
+
chips, including the [http://arduino.cc/en/Main/ArduinoBoardDue Arduino Due].  On the Due, it can be configured to drive
either an Arduino Uno-compatible shield (gShield, GAUPS) or an Arduino
+
either an Arduino Uno-compatible shield ([http://www.synthetos.com/project/grblshield/ gShield], [[GAUPS 1.0 Instructions|GAUPS]])
Mega-compatible shield (RAMPS).
+
or an Arduino Mega-compatible shield ([http://reprap.org/wiki/RAMPS RAMPS]).
  
 
==== SmoothieBoard ====
 
==== SmoothieBoard ====
Line 240: Line 275:
  
 
==== LinuxCNC ====
 
==== LinuxCNC ====
Unlike the other controllers so far, which are small microcontrollers fed the code
+
Unlike the other controllers so far, which are small microcontrollers fed the G-code
from a computer, LinuxCNC runs on an ordinary PC, under the Linux operating system.
+
line by line from a computer, [http://www.linuxcnc.org/ LinuxCNC] runs on an ordinary PC, under the Linux operating system.
 
The PC needs to be dedicated to LinuxCNC.  It needs to have a parallel port (a
 
The PC needs to be dedicated to LinuxCNC.  It needs to have a parallel port (a
 
true parallel port, not a USB-to-parallel adapter) or a specialized interface card.
 
true parallel port, not a USB-to-parallel adapter) or a specialized interface card.
Line 252: Line 287:
 
and individual stepper motor drivers (the Toshiba TB6560 and TB6600 are popular
 
and individual stepper motor drivers (the Toshiba TB6560 and TB6600 are popular
 
chips), or with a 4-axis motor "controller" (driver, really), such as the cheap
 
chips), or with a 4-axis motor "controller" (driver, really), such as the cheap
Chinese offerings on eBay, or the state-of-the-art Gecko G540 4-axis drive.
+
Chinese offerings on eBay, or the state-of-the-art [http://www.geckodrive.com/geckodrive-step-motor-drives/g540.html Gecko G540] 4-axis drive.
  
Many industrial machines run LinuxCNC.
+
Many industrial machines run LinuxCNC.  It was formerly known as EMC2.
  
 
==== Mach3 ====
 
==== Mach3 ====
Like LinuxCNC, Mach3 runs on a dedicated PC and outputs control signal for the
+
Like LinuxCNC, [http://www.machsupport.com/software/mach3/ Mach3] runs on a dedicated PC and outputs control signal for the
 
motor drivers on the parallel port.  Unlike LinuxCNC, it runs on Windows.
 
motor drivers on the parallel port.  Unlike LinuxCNC, it runs on Windows.
 
Mach3 is a commercial product and requires a license.  It is popular on
 
Mach3 is a commercial product and requires a license.  It is popular on
Line 264: Line 299:
 
Also unlike LinuxCNC, Mach3 can run on a PC without a parallel port or expansion
 
Also unlike LinuxCNC, Mach3 can run on a PC without a parallel port or expansion
 
card, because it can offload the generation of the driver control signals to an
 
card, because it can offload the generation of the driver control signals to an
external device connected via USB or Ethernet, such as the SmoothStepper.
+
external device connected via USB or Ethernet, such as the [http://www.warp9td.com/ SmoothStepper].
 +
 
 +
=== Our Products ===
 +
We do not sell the USB cable for connecting the Arduino to the computer.  You'll need
 +
an A to B cable, ideally a good-quality, shielded cable with ferrite RFI suppressors.
 +
Or you can try adding a RFI suppressor to an existing cable.
  
==== Our Products ====
 
 
{| class="wikitable"
 
{| class="wikitable"
 
   |-
 
   |-
Line 274: Line 313:
 
     !Comments
 
     !Comments
 
   |- style="background:#CED;"
 
   |- style="background:#CED;"
     |1
+
     !1
 
     |Arduino Uno R3
 
     |Arduino Uno R3
     |[http://store.amberspyglass.co.uk/arduino-uno-r3-with-optional-grbl.html visit]
+
     |[http://amberspyglass.co.uk/store/arduino-uno-r3-with-optional-grbl.html visit]
 
     |Runs the very popular GRBL firmware
 
     |Runs the very popular GRBL firmware
 +
  |-
 +
    !2
 +
    |Ferrite RFI suppressor
 +
    |[http://amberspyglass.co.uk/store/split-bead-ferrite-rfi-suppressor.html visit]
 +
    |May help if USB connection drops randomly
 
|}
 
|}
 
+
<onlyinclude>
 
== Stepper Motor Drivers ==
 
== Stepper Motor Drivers ==
  
[[File:GAUPS 1.0 stepper shield assembled.jpg|frame|right|x200px|GAUPS 1.0 shield (assembled)]]
+
[[File:GAUPS 1.0 stepper shield assembled.jpg|thumb|right|x200px|GAUPS 1.0 shield (assembled)]]
[[File:GAUPS 1.0 stepper shield components.jpg|frame|right|x200px|GAUPS 1.0 shield (parts)]]
+
</onlyinclude>[[File:GAUPS 1.0 stepper shield components.jpg|thumb|right|x200px|GAUPS 1.0 shield (parts)]]
 
=== Our Example ===
 
=== Our Example ===
 +
<onlyinclude>
 
Because our controller is an Arduino, the drivers will be on an
 
Because our controller is an Arduino, the drivers will be on an
 
Arduino shield.  We chose the GAUPS, a shield that takes Pololu-compatible
 
Arduino shield.  We chose the GAUPS, a shield that takes Pololu-compatible
Line 291: Line 336:
 
plan to use a supply voltage higher than 24 V, so we got the standard
 
plan to use a supply voltage higher than 24 V, so we got the standard
 
version of the GAUPS, not the 40 V version.
 
version of the GAUPS, not the 40 V version.
 
+
</onlyinclude>
[[File:Pololu-DRV8825-purple-driver-carrier-board.jpg|frame|left|x200px|Pololu DRV8825 module]]
+
[[File:Pololu-DRV8825-purple-driver-carrier-board.jpg|thumb|left|x200px|Pololu DRV8825 module]]
[[File:Tall-headers.jpg|frame|right|x200px|Tall headers]]
+
[[File:Tall-headers.jpg|thumb|right|x200px|Tall headers]]
[[File:Motor-driver-heatsink-anodized-aluminium.jpg|frame|left|x200px|Aluminium heatsink]]
+
[[File:Motor-driver-heatsink-anodized-aluminium.jpg|thumb|left|x200px|Aluminium heatsink]]
Pololu driver modules are very convenient because they are relatively
+
<onlyinclude>Pololu driver modules are very convenient because they are relatively
 
inexpensive, easily replaceable if something goes wrong, and available
 
inexpensive, easily replaceable if something goes wrong, and available
 
with a choice of driver chips.  Their main disadvantage is that, because of
 
with a choice of driver chips.  Their main disadvantage is that, because of
Line 303: Line 348:
 
The GAUPS comes as a kit that requires basic soldering skills to assemble.
 
The GAUPS comes as a kit that requires basic soldering skills to assemble.
 
All components are through-hole, and none are sensitive to static discharge,
 
All components are through-hole, and none are sensitive to static discharge,
so it's easy.  There are clear step-by-step instructions.
+
so it's easy.  There are clear step-by-step [[GAUPS 1.0 Instructions|instructions]].
  
 
For this machine, we chose four Pololu DRV8825 high-current driver modules
 
For this machine, we chose four Pololu DRV8825 high-current driver modules
Line 319: Line 364:
 
bottom of the module.  The one on the bottom is more effective than the
 
bottom of the module.  The one on the bottom is more effective than the
 
one on the top.
 
one on the top.
 
+
</onlyinclude>
 
=== More Choices ===
 
=== More Choices ===
 
You can connect almost any controller to any motor driver, but some
 
You can connect almost any controller to any motor driver, but some
Line 367: Line 412:
 
     |GAUPS 1.0 shield (kit, standard)
 
     |GAUPS 1.0 shield (kit, standard)
 
     |A/S/L
 
     |A/S/L
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/gaups-1-0-arduino-compatible-stepper-shield-kit.html visit]
     |Our own design
+
     |Our own design.  [[GAUPS 1.0 Instructions|Instructions here]]
 
   |-
 
   |-
 
     !2
 
     !2
 
     |GAUPS 1.0 shield (kit, 50 V capacitors)
 
     |GAUPS 1.0 shield (kit, 50 V capacitors)
 
     |A/S/L
 
     |A/S/L
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/gaups-1-0-arduino-compatible-stepper-shield-kit-50v.html visit]
 
     |Our own design.  Use with supply up to 40 V
 
     |Our own design.  Use with supply up to 40 V
 
   |-
 
   |-
Line 379: Line 424:
 
     |GAUPS 1.0 shield (PCB only)
 
     |GAUPS 1.0 shield (PCB only)
 
     |A/S/L
 
     |A/S/L
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/gaups-1-0-arduino-compatible-stepper-shield-pcb-only.html visit]
 
     |If you already have the parts
 
     |If you already have the parts
 
   |-
 
   |-
Line 385: Line 430:
 
     |Buildlog.net driver shield (kit)
 
     |Buildlog.net driver shield (kit)
 
     |Reactive Substance
 
     |Reactive Substance
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/buildlog-net-stepper-shield-complete-kit.html visit]
 
     |Bart Dring's design
 
     |Bart Dring's design
 
   |-
 
   |-
Line 392: Line 437:
 
     |Green A4988 driver module
 
     |Green A4988 driver module
 
     |Pololu
 
     |Pololu
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/pololu-a4988-stepper-driver-carrier-board-green.html visit]
 
     |Poor thermal dissipation
 
     |Poor thermal dissipation
 
   |-
 
   |-
Line 398: Line 443:
 
     |A4988 "black edition" driver module
 
     |A4988 "black edition" driver module
 
     |Pololu
 
     |Pololu
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/pololu-a4988-stepper-driver-carrier-board-black-edition.html visit]
 
     |Excellent
 
     |Excellent
 
   |- style="background:#CED;"
 
   |- style="background:#CED;"
Line 404: Line 449:
 
     |Purple DRV8825 high-current driver module
 
     |Purple DRV8825 high-current driver module
 
     |Pololu
 
     |Pololu
     |[ visit]
+
     |[http://amberspyglass.co.uk/store/pololu-drv8825-high-current-stepper-driver-carrier-board-purple.html visit]
 
     |Excellent.  Slightly higher current
 
     |Excellent.  Slightly higher current
 +
  |-
 +
    !rowspan="2"|Heatsinks
 +
    !8
 +
    |Copper heatsink
 +
    |EnzoTech
 +
    |[http://amberspyglass.co.uk/store/copper-heatsink-for-stepper-driver.html visit]
 +
    |Very cool looking
 +
  |- style="background:#CED;"
 +
    !9
 +
    |Aluminium heatsink
 +
    |
 +
    |[http://amberspyglass.co.uk/store/aluminium-heatsink-for-stepper-driver.html visit]
 +
    |Boring but effective
 +
  |- style="background:#CED;"
 +
    !Other
 +
    !10
 +
    |Tall headers for Pololu modules
 +
    |
 +
    |[http://amberspyglass.co.uk/store/dual-body-25mm-1in-male-8-pin-tall-header-pololu-driver-pack-2.html visit]
 +
    |More effective cooling
 
|}
 
|}
 
+
<onlyinclude>
 
== Power Supply ==
 
== Power Supply ==
  
 +
[[File:24V-120W-power-supply.jpg|thumb|right|x200px|120 W power supply]]
 +
</onlyinclude>
 
=== Our Example ===
 
=== Our Example ===
 
+
<onlyinclude>We chose a 24 V 5 A (120 W) power supply, which can be had as a nice,
We chose a 24 V 5 A (120 W) power supply, which can be had as a nice,
 
 
completely enclosed laptop-type brick.  We don't have to worry about
 
completely enclosed laptop-type brick.  We don't have to worry about
 
exposed live parts, nor about chips getting in.  It has just enough power
 
exposed live parts, nor about chips getting in.  It has just enough power
 
for our motors.  We used a barrel jack to screw terminal adapter to make
 
for our motors.  We used a barrel jack to screw terminal adapter to make
 
it easier to connect the supply to the GAUPS.
 
it easier to connect the supply to the GAUPS.
 +
</onlyinclude>
 +
=== More Choices ===
 +
Ideally, with three NEMA 23 motors and one NEMA 17, we'd want at least 150 W
 +
of supply, to be sure we have enough headroom.  A 200 W cage-type power
 +
supply is an inexpensive solution that
 +
delivers more than enough power.  200 W is also about the highest power that is
 +
commonly available in a fanless design.  A cage-type supply should go in an
 +
enclosure to avoid
 +
all danger of electric shock (as they are, the mains input terminals aren't
 +
protected enough against accidental contact with live parts).
 +
 +
We could also choose a 36 V supply instead of 24 V (and change the GAUPS to
 +
the 40 V version), to allow the DRV8825 drivers to maybe squeeze a little
 +
more performance out of the motors.
 +
 +
=== Our Products ===
 +
The laptop-type power supply does not come with a power cord, so you'll have to
 +
buy it separately.  You need one with a IEC C5 (cloverleaf) connector.
  
The power adapter does not come with a power cord, so you'll have to
+
The cage-type power supply does not come with a power cord either.  When mounting
find one with a C5 (clover-leaf) connector.
+
it in an enclosure, the best idea would be to install an IEC C14 receptacle on
 +
the enclosure, and use an IEC C13 power cord (the type used with PCs).  You could
 +
also wire the power cord directly to the three input terminals.
  
 +
{| class="wikitable"
 +
  |-
 +
    !Option
 +
    !Product name
 +
    !Manufacturer
 +
    !Store<br />link
 +
    !Comments
 +
  |- style="background:#CED;"
 +
    !1
 +
    |24 V 120 W enclosed power supply
 +
    |LiteOn
 +
    |[http://amberspyglass.co.uk/store/24v-5a-120w-brick-power-supply.html visit]
 +
    |Just enough for three NEMA 23 motors and one NEMA 17 (barely). Plenty for four NEMA 17 motors. Safe and completely enclosed
 +
  |- style="background:#CED;"
 +
    !rowspan="2"|2
 +
    |rowspan="2"|Power cord for enclosed power supply
 +
    |rowspan="2"|
 +
    |[http://amberspyglass.co.uk/store/power-cord-uk-plug-bs1363-to-iec-c5-connector.html visit]
 +
    |UK plug (BS 1363)
 +
  |- style="background:#CED;"
 +
    |[http://amberspyglass.co.uk/store/power-cord-euro-plug-cee-7-7-to-iec-c5-connector.html visit]
 +
    |European "Schuko" plug (CEE 7/7)
 +
  |- style="background:#CED;"
 +
    !3
 +
    |Barrel connector to screw terminal adapter
 +
    |
 +
    |[http://amberspyglass.co.uk/store/power-jack-to-screw-terminal-adapter.html visit]
 +
    |Or cut off the connector from the 120 W supply and connect it directly to the screw terminal on the shield
 +
  |-
 +
    !4
 +
    |24 V 200 W cage-type power supply
 +
    |Mean Well
 +
    |[http://amberspyglass.co.uk/store/24v-8-3a-200w-mean-well-cage-type-power-supply.html visit]
 +
    |Plenty of power even for four NEMA 23 motors. Needs enclosure for complete electrical safety
 +
|}
 +
<onlyinclude>
 
== Fan ==
 
== Fan ==
  
Line 432: Line 554:
 
(Even if you have two identical fans, it's a bad idea to connect them
 
(Even if you have two identical fans, it's a bad idea to connect them
 
in series.)
 
in series.)
 
+
</onlyinclude>
 +
=== Our products ===
 +
{| class="wikitable"
 +
  |-
 +
    !Option
 +
    !Product name
 +
    !Store<br />link
 +
    !Comments
 +
  |- style="background:#CED;"
 +
    !1
 +
    |1.5 A adjustable voltage DC-DC converter
 +
    |[http://amberspyglass.co.uk/store/35v-adjustable-2a-dc-dc-converter.html visit]
 +
    |Compact.  Enough for several fans
 +
  |-
 +
    !2
 +
    |3 A adjustable voltage DC-DC converter
 +
    |[http://amberspyglass.co.uk/store/50v-adjustable-3a-dc-dc-converter.html visit]
 +
    |Bulkier but more powerful
 +
  |- style="background:#CED;"
 +
    !3
 +
    |Brushless DC fan, 12 V
 +
    |[http://amberspyglass.co.uk/store/fan-12v-dc-brushless-50mm.html visit]
 +
    |Also available: [http://amberspyglass.co.uk/store/fan-guard-50mm-dc-brushless-fan.html fan guard], [http://amberspyglass.co.uk/store/screw-for-12v-dc-brushless-fan-4-pack.html mounting screws]
 +
|}
 +
<onlyinclude>
 
== Cables ==
 
== Cables ==
  
The stepper motors come with wires that aren't nearly long enough.
+
[[File:Shielded-stepper-cable.jpg|thumb|right|x200px|Shielded stepper cable]]
 +
</onlyinclude>
 +
=== Our Example ===
 +
<onlyinclude>The stepper motors come with wires that aren't nearly long enough.
 
We got very nice (if a bit stiff) 18 AWG (0.82 mm<sup>2</sup>) 4-core shielded cable.
 
We got very nice (if a bit stiff) 18 AWG (0.82 mm<sup>2</sup>) 4-core shielded cable.
  
Line 458: Line 607:
 
At the driver end, we wired the stepper cables directly into the GAUPS
 
At the driver end, we wired the stepper cables directly into the GAUPS
 
screw terminals.
 
screw terminals.
 +
</onlyinclude>
 +
=== More Choices ===
  
 +
For short runs, network cable (the multi-stranded type) can be used to
 +
wire stepper motors.  Tie two conductors in parallel for each motor wire.
 +
 +
The cable can be run in drag chains, which would give the machine a very
 +
neat appearance.
 +
 +
=== Our Products ===
 +
 +
{| class="wikitable"
 +
  |-
 +
    !Option
 +
    !Product name
 +
    !Manufacturer
 +
    !Store<br />link
 +
    !Comments
 +
  |- style="background:#CED;"
 +
    !1
 +
    |4-core shielded stepper cable
 +
    |Alpha Wire
 +
    |[http://amberspyglass.co.uk/store/shielded-stepper-cable-4-core-18awg.html visit]
 +
    |Top-quality cable
 +
  |-
 +
    !2
 +
    |3 A 12-way terminal block
 +
    |
 +
    |coming soon
 +
    |Available from any hardware store
 +
  |-
 +
    !3
 +
    |Zip ties
 +
    |
 +
    |coming soon
 +
    |
 +
|}
 +
<onlyinclude>
 
== Spindle ==
 
== Spindle ==
  
 
We started with a cheap rotary tool (a Dremel clone).  They usually come
 
We started with a cheap rotary tool (a Dremel clone).  They usually come
with literally a hundred and one accessories &mdash; all largely useless
+
with, literally, a hundred and one accessories &mdash; all largely useless
 
to us.  Keep the wrench, though, you'll need it to tighten the collet.
 
to us.  Keep the wrench, though, you'll need it to tighten the collet.
 
+
Put a zip tie through an unused hole in an end plate or motor plate,
 +
and store it there.
 +
</onlyinclude>
 
You may want to upgrade the spindle soon, though.  For tougher jobs,
 
You may want to upgrade the spindle soon, though.  For tougher jobs,
 
and general use when not bothered by noise, the Makita RT0700C is an
 
and general use when not bothered by noise, the Makita RT0700C is an
 
excellent choice, except for the fact that a 3.175 mm (1/8 in) collet
 
excellent choice, except for the fact that a 3.175 mm (1/8 in) collet
 
is not easily available.  You can buy one from the US, or use a 1/4 inch
 
is not easily available.  You can buy one from the US, or use a 1/4 inch
to 1/8 inch adapter.  For quiet, delicate jobs, a small DC spindle is
+
to 1/8 inch adapter.  Most trim routers are too big for the stock tool
very nice.
+
mounts, so you will have to make your own, for example out of HDPE,
 +
acetal, or even plywood.
  
 +
For quiet, delicate jobs, a small DC spindle is very nice.
 +
<onlyinclude>
 
== Tools ==
 
== Tools ==
  
Line 517: Line 708:
 
== Limit Switches ==
 
== Limit Switches ==
  
 +
[[File:Limit homing microswitch.jpg|thumb|right|x200px|Limit switches]]
 +
</onlyinclude>
 
=== Our Example ===
 
=== Our Example ===
We installed six limit switches:
+
<onlyinclude>We installed six limit switches:
 
* two on the X axis, on the front X motor plate;
 
* two on the X axis, on the front X motor plate;
 
* two on the Y axis, on the Y motor plate closest to the controller;
 
* two on the Y axis, on the Y motor plate closest to the controller;
Line 526: Line 719:
 
screws are M2 &times; 12 mm (tiny!).
 
screws are M2 &times; 12 mm (tiny!).
  
 +
[[File:Z-limit-switch-mounting-2.png|thumb|left|x200px|Mounting bracket for Z axis limit switches]]
 
We wired the switches using strips of ordinary 1.27 mm pitch ribbon
 
We wired the switches using strips of ordinary 1.27 mm pitch ribbon
 
cable.  They are soldered to the switch terminals, and the joints
 
cable.  They are soldered to the switch terminals, and the joints
Line 541: Line 735:
 
By default, home is at the end of travel in the positive direction
 
By default, home is at the end of travel in the positive direction
 
of each axis, that is, right side (X), rear (Y), and top (Z).
 
of each axis, that is, right side (X), rear (Y), and top (Z).
 
+
</onlyinclude>
=== Other Choices ===
+
=== More Choices ===
 
At a minimum, we could have installed just the three homing switches.
 
At a minimum, we could have installed just the three homing switches.
  
Line 561: Line 755:
 
=== Our Products ===
 
=== Our Products ===
  
TODO limit swith
+
We do not sell cable for the limit switches yet.
  
== Notes and Details ==
+
{| class="wikitable"
 +
  |-
 +
    !Option
 +
    !Product name
 +
    !Manufacturer
 +
    !Store<br />link
 +
    !Comments
 +
  |- style="background:#CED;"
 +
    !1
 +
    |Limit and homing microswitch
 +
    |A/S/L
 +
    |[http://amberspyglass.co.uk/store/limit-and-homing-microswitch.html visit]
 +
    |Includes M2 hardware
 +
  |- style="background:#CED;"
 +
    !2
 +
    |Z axis limit switch mounting solution
 +
    |A/S/L
 +
    |[http://amberspyglass.co.uk/store/z-limit-switch-mounting-solution-for-eshapeoko.html visit]
 +
    |
 +
|}
 +
<onlyinclude>
 +
== Summary ==
 +
=== Motors and Power Supply ===
 +
Items highlighted in yellow are available from our store.
  
=== Stepper Motor Holding Torque ===
+
{| class="wikitable" align="center"
 +
  |-
 +
    !rowspan="2"|Item
 +
    !rowspan="2"|NEMA23 motors<br />on all axes
 +
    !colspan="2"|NEMA23 on X and Y
 +
    !colspan="3"|NEMA17 motors on all axes
 +
  |-
 +
    !Faster Z
 +
    !Extra-precise Z
 +
    !Fast
 +
    !Precise
 +
    !Extra-precise Z
 +
  |- style="background:#FEA;"
 +
    !X and Y motors
 +
    |rowspan="2"|4 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |3 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |3 &times; [http://amberspyglass.co.uk/store/51mm-nema23-stepper-motor-400step-per-rev.html NEMA 23 0.9&deg;]
 +
    |rowspan="2"|4 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
    |3 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
    |rowspan="2"|4 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
  |- style="background:#FEA;"
 +
    !Z motor
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-stepper-motor-400step-per-rev.html NEMA 17 0.9&deg;]
 +
    |1 &times; [http://amberspyglass.co.uk/store/48mm-nema17-1-7a-stepper-motor-200step-per-rev.html NEMA 17 1.8&deg;]
 +
  |-
 +
    !rowspan="2"|Power supply
 +
    |rowspan="2" style="background:#FEA;"|[http://amberspyglass.co.uk/store/24v-8-3a-200w-mean-well-cage-type-power-supply.html 200 W cage-type]
 +
    |colspan="2" style="background:#FEA;"|[http://amberspyglass.co.uk/store/24v-8-3a-200w-mean-well-cage-type-power-supply.html 200 W cage-type]
 +
    |rowspan="2" colspan="3" style="background:#FEA;"|[http://amberspyglass.co.uk/store/24v-5a-120w-brick-power-supply.html 120 W brick] (power cord: [http://amberspyglass.co.uk/store/power-cord-uk-plug-bs1363-to-iec-c5-connector.html UK], [http://amberspyglass.co.uk/store/power-cord-euro-plug-cee-7-7-to-iec-c5-connector.html EU])
 +
  |-
 +
    |colspan="2" style="background:#FEA;"|'''''&mdash;or&mdash;''''' [http://amberspyglass.co.uk/store/24v-5a-120w-brick-power-supply.html 120 W brick] (power cord: [http://amberspyglass.co.uk/store/power-cord-uk-plug-bs1363-to-iec-c5-connector.html UK], [http://amberspyglass.co.uk/store/power-cord-euro-plug-cee-7-7-to-iec-c5-connector.html EU])
 +
|}
  
The NEMA23 motors we chose have a holding torque of 9000 gf&middot;cm &mdash;
+
=== Everything Else ===
that is,
+
Note that there is no correlation between columns in this table; you can pick any one item from each line.
0.88 N&middot;m in SI units, or 125 oz&middot;in in customary (US) units.
+
Items highlighted in yellow are available from our store.  We're working to add the remaining ones.
  
==== How much torque ''is'' that? ====
+
{| class="wikitable" align="center"
With the supplied 18-tooth MXL pulleys,
+
  |- style="background:#FEA;"
one motor can hold a carriage against a force of about 15.5 kgf applied to
+
    !Controller
it. This is at standstill, with the motor supplied with its rated current.
+
    |colspan="6"|[http://amberspyglass.co.uk/store/arduino-uno-r3-with-optional-grbl.html Arduino Uno] (running [https://github.com/grbl/grbl GRBL]) (needs USB cable)
The torque remains almost constant at low speed, but after a certain point,
+
  |- style="background:#FEA;"
as the speed increases, the torque decreases almost linearly:
+
    !rowspan="5"|Drivers
at half the maximum speed, the torque will be about half the holding torque.
+
    |colspan="2"|[http://amberspyglass.co.uk/store/gaups-1-0-arduino-compatible-stepper-shield-kit.html GAUPS (standard)]
 
+
    |colspan="2"|[http://amberspyglass.co.uk/store/gaups-1-0-arduino-compatible-stepper-shield-kit-50v.html GAUPS (40 V)]
==== How much torque do you need? ====
+
    |colspan="2"|[http://amberspyglass.co.uk/store/buildlog-net-stepper-shield-complete-kit.html buildlog.net shield]
The force the motor applies to the carriage must be enough to counteract
+
  |- style="background:#FEA;"
all friction, the inertia of the moving parts (when accelerating), and the
+
    |colspan="3"|4 &times; [http://amberspyglass.co.uk/store/pololu-a4988-stepper-driver-carrier-board-black-edition.html Pololu A4988 (black)]
cutting forces on the tool (when milling). Even though 15.5 kgf  is more
+
    |colspan="3"|4 &times; [http://amberspyglass.co.uk/store/pololu-drv8825-high-current-stepper-driver-carrier-board-purple.html Pololu DRV8825 (purple)]
than enough for this type of machine (and more than MXL belt is normally
+
  |- style="background:#FEA;"
rated for), having a motor that powerful is still useful at higher speed,
+
    |colspan="2"|4 &times; [http://amberspyglass.co.uk/store/aluminium-heatsink-for-stepper-driver.html Aluminium heatsink]
when its torque decreases. It is the available torque that limits the
+
    |colspan="2"|8 &times; [http://amberspyglass.co.uk/store/aluminium-heatsink-for-stepper-driver.html Aluminium heatsink]
traverse acceleration and speed, the maximum cutting force achievable, as
+
    |colspan="2"|4 &times; [http://amberspyglass.co.uk/store/copper-heatsink-for-stepper-driver.html Copper heatsink]
well as the feed rate for a given cutting force. That said, there's no
+
  |- style="background:#FEA;"
point in going for a much higher torque than that. The motors become too
+
    |colspan="6"|4 &times; [http://amberspyglass.co.uk/store/dual-body-25mm-1in-male-8-pin-tall-header-pololu-driver-pack-2.html Tall headers] (optional)
big and too heavy for this type of machine.
+
  |- style="background:#FEA;"
 
+
    |colspan="6"|[http://amberspyglass.co.uk/store/power-jack-to-screw-terminal-adapter.html Barrel connector to screw terminal adapter]
==== What determines motor performance? ====
+
  |- style="background:#FEA;"
* The type of motor.  Generally, all things being equal,
+
    !rowspan="2"|Fan
** 1.8&deg; motors are faster and more powerful than 0.9&deg; motors;
+
    |colspan="3"|[http://amberspyglass.co.uk/store/35v-adjustable-2a-dc-dc-converter.html Small DC-DC converter]
** smaller motors are faster but less powerful than bigger motors;
+
    |colspan="3"|[http://amberspyglass.co.uk/store/50v-adjustable-3a-dc-dc-converter.html Larger DC-DC converter]
** motors with lower inductance (higher rated current/lower rated voltage) tend to be faster, and often more powerful too.
+
  |-
* The driver:
+
    |colspan="6" style="background:#FEA;"|[http://amberspyglass.co.uk/store/fan-12v-dc-brushless-50mm.html Brushless 12 V DC fan (PC type)] + [http://amberspyglass.co.uk/store/fan-guard-50mm-dc-brushless-fan.html fan guard] + [http://amberspyglass.co.uk/store/screw-for-12v-dc-brushless-fan-4-pack.html mounting screws]
** more current capability can move the motors faster;
+
  |-
** some advanced drivers use more complex techniques that can improve motor performance.
+
    !rowspan="3"|Cabling
* The controller:
+
    |colspan="2" style="background:#FEA;"|[http://amberspyglass.co.uk/store/shielded-stepper-cable-4-core-18awg.html Shielded cable]
** more advanced movement algorithms may allow the motors to go faster, or at least use their acceleration capability more effectively;
+
    |colspan="2"|CAT5 (stranded)
** a slow processor may limit the maximum speed.
+
    |colspan="2"|any 4-core cable 0.5 mm<sup>2</sup> or more
* The power supply voltage. Using a higher supply voltage:
+
  |-
** can allow the motors to move faster;
+
    |colspan="3"|2 &times; 12-way 3 A terminal block (coming soon)
** can increase torque at medium and high speed (but makes no difference at slow speeds);
+
    |colspan="3"|solder and heatshrink tubing
** may decrease the accuracy of microstepping.
+
  |-
 
+
    |colspan="6"|Zip ties (coming soon)
==== Does microstepping reduce torque? ====
+
  |- style="background:#FEA;"
No, it doesn't, but it's a common misconception.
+
    !rowspan="3"|Limit switches
TO DO: add link to the Shapeoko forum, where I explain this at length.
+
    |colspan="6"|6 &times; [http://amberspyglass.co.uk/store/limit-and-homing-microswitch.html Microswitch] (or 8 of them, or only 3)
 
+
  |- style="background:#FEA;"
==== How did we get the 15.5 kgf figure? ====
+
    |colspan="6"|[http://amberspyglass.co.uk/store/z-limit-switch-mounting-solution-for-eshapeoko.html Mounting bracket for Z axis limit siwtches]
Belt and pulley '''pitch''':
+
  |-
: MXL = 0.08 in/tooth = 2.032 mm/tooth
+
    |colspan="2"|Ribbon cable
'''Pitch circumference''' of 18-tooth pulley:
+
    |colspan="2"|shielded signal cable
: 2.032 mm/tooth &times; 18 tooth = 36.576 mm
+
    |colspan="2"|almost any type of cable
'''Pitch radius''' of 18-tooth pulley, which is also the arm of the force the motor applies to the carriage:
+
|}
: 36.576 mm / 2''&pi;'' &cong; 5.82 mm
+
Also: spindle, tools (endmills, engraving bits etc), waste board, eye and hearing protection.
Motor '''holding torque''':
+
</onlyinclude>
: 9000 gf&middot;cm = 90 kgf&middot;mm
 
'''Force''' exerted on carriage:
 
: 90 kgf&middot;mm / 5.82 mm &cong; 15.46 kgf
 

Latest revision as of 23:09, 20 April 2017

The mechanical kit includes everything you need to build the machine, except the motors and electronics. The kit includes belts, belt pulleys, and all hardware to attach the motors.

To build a complete, working machine, you will need stepper motors, a controller, stepper motor drivers (may be built into the controller), a power supply, cables, a spindle, tools, a waste board. Optionally, you could add: a fan (for the motor drivers), an emergency stop button, an enclosure for the electronics (with connectors and buttons), homing and limit switches.

This article makes a modest start in exploring the variety of electronics that can work with the eShapeoko. It can be a little overwhelming for a beginner, so we've arranged it so that it can be read in three ways:

Nearly complete eShapeoko electronics with GAUPS 1.1 and Arduino Uno, shown here with four NEMA 17 motors

Example Machine

There are many options at each stage, and this page will try to guide you through the choices. As an introduction to the sometimes bewildering array of choices, we will illustrate with an example: a single, complete configuration using our preferred choices. They are highlighted in green in all the tables.

Our example is a machine with a 750 mm X axis and 500 mm Y axis, with NEMA 23 motors on X and Y, and a NEMA 17 motor on the Z axis. This machine will have just over 585 mm of X travel, 335 mm of Y travel, and 100 mm of Z travel.

We chose the X axis longer than the Y axis because a "wide" machine open at the front and rear gives better access to the work area. This is at a slight expense in rigidity: the 500 mm × 750 mm machine, which most people prefer, would have had a shorter (thus more rigid) X axis, and mid-span supports for the Y rails.

We intend to use this machine with a trim router, milling plywood at an aggressive feed rate with a 6.35 mm (1/4") endmill, as well as more delicate applications (PCBs), using small endmills with 3.175 mm (1/8") shanks.

Stepper Motors

NEMA 23 motor (51 mm long)
NEMA 17 motor (48 mm long)

Our Example

We chose three 0.9° per step (400 step per revolution) NEMA 23 motors with a current rating of 1.7 A. There's one motor on the X axis, and two of them on the Y axis. These motors are 51 mm long (excluding the shaft) and weigh about 560 g each. Like most NEMA 23 motors, they have a 6.35 mm (1/4 inch) shaft. They have a holding torque of 9000 gf·cm.

To get an idea of what a holding torque of 9000 gf·cm means, read here.

For the Z axis, we chose a 1.8° per step (200 step per revolution) NEMA 17 motor, also with a current rating of 1.7 A. The motor is 48 mm long, weighs about 340 g, and has a holding torque of 5200 gf·cm. It's very powerful for a NEMA 17 motor, and enough for the Z axis in most cases.

More Choices

Motor Size: NEMA 17 or NEMA 23

NEMA 17 motors are 42 mm wide, with M3 threaded holes and (typically) 5 mm diameter shafts about 22 mm long. The motor length can vary, but 48 mm is the largest usual size, which weighs about a third of a kilogram. Longer ones exist, but they are rare and fairly expensive.

NEMA 23 motors are 57 mm wide, with 5 mm diameter unthreaded holes and (typically) 6.35 mm (1/4 inch) shafts about 20 mm long. The motor length varies. The smallest usual NEMA 23 motor is 50 or 51 mm long, and weighs just over half a kilogram. Much longer ones are made, and they are commonly used in larger CNC milling machines. However, we do not recommend NEMA 23 motors longer than 51 mm for the eShapeoko: they are too heavy, and the extra torque is not useful.

The choice is between 51 mm NEMA 23 motors and 48 mm NEMA 17 motors. Roughly speaking, the NEMA 23 motor has more than double the torque of the NEMA 17 motor, and weighs almost twice as much. NEMA 23 motors are a good choice for the X and Y axes if you plan to use a heavy spindle, or if you have a long X axis. For a small machine, NEMA 17 motors are usually enough.

On the Z axis, a NEMA 23 motor is rarely needed. Because of the mechanical advantage of the screw drive, a NEMA 17 motor can cope with a large spindle, especially when used with the trapezoidal leadscrew, which has much lower friction than ordinary M8 threaded rod.

In case you were wondering where the 17 and 23 came from, they are the motor width in units of 0.1 inch.

Step Size: 0.9° or 1.8°

A 1.8° motor is faster and more powerful than a 0.9° motor of the same size and current rating. A 0.9° motor is more accurate, in a way that can not be made up by increasing microstepping. For instance, a 1.8° motor with 16× microstepping has almost twice the positioning error of a 0.9° motor with 8× microstepping under the same load, despite both having the same microsteps size (0.1125°, or 3200 microsteps per revolution).

The X and Y axes travel 36.576 mm per motor revolution with 18-tooth MXL pulleys, or 40.0 mm with 20-tooth GT2 pulleys. If you do precision work (milling PCBs, or delicate engraving), it is a good idea to use 0.9° per step motors, giving you a full step size of 0.1 mm with GT2 pulleys (6.25 micron per microstep at 16× microstepping). The Z axis travels only 1.25 mm per revolution with M8 threaded rod, or 2.0 mm with the trapezoidal leadscrew. There's less to gain in using a 0.9° motor for the Z axis: a full step is only 0.01 mm with a 1.8° motor and the trapezoidal leadscrew.

Current Rating

For the small motor drivers commonly used with this type of machine, the ideal current rating of the motor is about 1.7 A. This also happens to be the sweet spot for 48 mm NEMA 17 motors: of a range of motors of this size, the ones rated between 1.5 A and 2 A have the highest torque. If you have a larger driver, such as a Toshiba TB6560-based unit, then you may prefer a motor with a higher current rating (2 A and up), because it would have slightly better performance at high speed.

Our Products

The motors suggested for our example machine are highlighted in green.

Option Form
factor
Length Step
size
Steps
per rev
Rated
current
Holding
torque
Motor
weight
Store
link
Comments
1 NEMA 23 51 mm 0.9° 400 1.7 A 9000 gf·cm 560 g visit Good all-round motor for X and Y, precise and plenty powerful
NEMA 23 51 mm 1.8° 200 not available (see below)
2 NEMA 17 48 mm 0.9° 400 1.7 A 4200 gf·cm 340 g visit Good for precision work on all axes. Average torque
3 NEMA 17 48 mm 1.8° 200 1.7 A 5300 gf·cm 340 g visit Fast and powerful, yet economical. Good for all axes
4 NEMA 17 48 mm 1.8° 200 2.5 A 4800 gf·cm 340 g visit Good match for bigger drivers (TB6560 etc)
5 NEMA 17 40 mm 1.8° 200 1.7 A 4000 gf·cm 240 g visit Lighter weight. Not ideal for eShapeoko: use Option 3 instead

Our 0.9° NEMA 23 motor has plenty of torque and is able to move the machine quickly, so we do not offer a 1.8° NEMA 23 motor of the same size (which would have been even more powerful, but less accurate).

These are some of the combinations of motors that make sense:

X and Y axes Z axis Comments
3 × NEMA 23 0.9° 1 × NEMA 17 1.8° Very strong motors with precise positioning
3 × NEMA 23 0.9° 1 × NEMA 17 0.9° As above, with extra precision in Z positioning
4 × NEMA 23 0.9° More torque than necessary for the Z axis
4 × NEMA 17 1.8° Strong, fast motors
3 × NEMA 17 0.9° 1 × NEMA 17 1.8° Precise positioning, Z axis faster
4 × NEMA 17 0.9° Precise positioning, Z axis extra-precise

Controller

Arduino Uno (in box)

Our Example

We chose the most popular controller for the Shapeoko and eShapeoko: an Arduino Uno, running the GRBL software. GRBL is a G-code interpreter: it receives G-code and emits step and direction signals for the motor drivers. GRBL can control three axes. Our machine has four motors, but the two Y motors always move together, so they share one set of control signals and count as only one axis.

More Choices

GRBL

GRBL is the G-code interpreter used by the vast majority of Shapeoko and eShapeoko owners. It runs on the Arduino Uno and requires a shield with drivers. There are also several boards based on the same microcontroller (CPU) as the Arduino Uno, the Atmel Atmega328P, some of which also include motor drivers. The Azteeg G1 from Panucatt comes to mind, as well as XStepper, a board designed by fellow Shapeoko forum member xpix.

GRBL-based controllers are easy to work with, and there are lots of helpful people with experience with them on the Shapeoko forum.

GRBL's implementation of G-code is intentionally limited and does not include features frequently used by humans when they write G-code, such as flow control and variables. Most CAM packages can generate G-code that works with GRBL, though, because they don't need those features.

3D Printer Electronics

Most 3D printer electronics and firmware will also run CNC milling machines. One example is the Arduino Mega2560 with Marlin, using a RAMPS board. There are quite a few designs that integrate the Atmega2560 processor and the drivers into a single-board solution, too, including several products from Panucatt, and the RUMBA board.

3D printer boards are ubiquitous, but the firmware isn't designed for CNC milling, like GRBL is, so they may not be ideal. GRBL now officially supports the AtMega2560 + RAMPS, so it can be used too.

TinyG

The TinyG controller and firmware are designed for CNC machines. TinyG integrates the processor (a much more powerful Atmel chip than the Arduino Uno and Mega) and the stepper motor drivers. The TinyG firmware has third-order motion profiles, as opposed to second-order in GRBL, Marlin etc. In other words, while GRBL limits acceleration to a constant maximum value, TinyG limits the rate of change of acceleration (the jerk). This results in much more fluid motion that shakes the machine less and excites fewer resonances, possibly allowing the motors to move faster.

In a relatively new development, the TinyG firmware (renamed G2) can run on ARM chips, including the Arduino Due. On the Due, it can be configured to drive either an Arduino Uno-compatible shield (gShield, GAUPS) or an Arduino Mega-compatible shield (RAMPS).

SmoothieBoard

Like TinyG, the SmoothieBoard integrates the processor and drivers. It has an even more powerful processor than TinyG, and it runs its own firmware. Several people use the Smoothie very successfully to control their CNC milling machines.

LinuxCNC

Unlike the other controllers so far, which are small microcontrollers fed the G-code line by line from a computer, LinuxCNC runs on an ordinary PC, under the Linux operating system. The PC needs to be dedicated to LinuxCNC. It needs to have a parallel port (a true parallel port, not a USB-to-parallel adapter) or a specialized interface card. LinuxCNC is an advanced controller, with nearly complete support of the G-code language, including variables, flow control, spindle synchronization, canned cycles and more.

The PC with LinuxCNC can be connected to an Arduino stepper motor driver shield, but, more commonly, it is used with a breakout board (to make the connections easier) and individual stepper motor drivers (the Toshiba TB6560 and TB6600 are popular chips), or with a 4-axis motor "controller" (driver, really), such as the cheap Chinese offerings on eBay, or the state-of-the-art Gecko G540 4-axis drive.

Many industrial machines run LinuxCNC. It was formerly known as EMC2.

Mach3

Like LinuxCNC, Mach3 runs on a dedicated PC and outputs control signal for the motor drivers on the parallel port. Unlike LinuxCNC, it runs on Windows. Mach3 is a commercial product and requires a license. It is popular on industrial machines, and it's probably the most feature-rich controller software.

Also unlike LinuxCNC, Mach3 can run on a PC without a parallel port or expansion card, because it can offload the generation of the driver control signals to an external device connected via USB or Ethernet, such as the SmoothStepper.

Our Products

We do not sell the USB cable for connecting the Arduino to the computer. You'll need an A to B cable, ideally a good-quality, shielded cable with ferrite RFI suppressors. Or you can try adding a RFI suppressor to an existing cable.

Option Product Store
link
Comments
1 Arduino Uno R3 visit Runs the very popular GRBL firmware
2 Ferrite RFI suppressor visit May help if USB connection drops randomly

Stepper Motor Drivers

GAUPS 1.0 shield (assembled)
GAUPS 1.0 shield (parts)

Our Example

Because our controller is an Arduino, the drivers will be on an Arduino shield. We chose the GAUPS, a shield that takes Pololu-compatible stepper driver modules (GAUPS stands for GRBL-compatible Arduino Uno-compatible Pololu-compatible Shield). We don't plan to use a supply voltage higher than 24 V, so we got the standard version of the GAUPS, not the 40 V version.

Pololu DRV8825 module
Tall headers
Aluminium heatsink

Pololu driver modules are very convenient because they are relatively inexpensive, easily replaceable if something goes wrong, and available with a choice of driver chips. Their main disadvantage is that, because of the small module size, their cooling is not as good as it could be, so they need heatsinks and/or a fan.

The GAUPS comes as a kit that requires basic soldering skills to assemble. All components are through-hole, and none are sensitive to static discharge, so it's easy. There are clear step-by-step instructions.

For this machine, we chose four Pololu DRV8825 high-current driver modules (the purple ones). They are the most expensive of the Pololu drivers, but they have the highest current capability, and the best thermal characteristics too. The A4988 black edition driver module is slightly cheaper, but works very well too. Each driver comes with two 8-pin male headers that you need to solder on. These are what plugs into the shield. We opted to replace these with taller headers, for better airflow under the modules.

The driver chips generate a lot of heat, and they are designed to sink this heat into the bottom layer of the board. We added two small aluminium heatsinks for each driver, one on top of the driver chip and one on the bottom of the module. The one on the bottom is more effective than the one on the top.

More Choices

You can connect almost any controller to any motor driver, but some combinations have been designed to work with each other (such as the Arduino and the shield, or the PC with parallel port and the 4-axis Gecko G540).

Shields compatible with the Arduino Uno include the buildlog.net stepper shield and the GAUPS.

Pololu make two driver modules suitable for the eShapeoko: the A4988 "black edition" module, and the purple DRV8825 module.

Open-source versions exist: the Stepstick drivers — although the classic Stepstick is limited to 1 A, so it will deliver lacklustre performance in an eShapeoko. The market is inundated with numerous derivatives naming themselves Stepstick, of varying design, PCB and build quality. However, some have excellent performance, such as the A4982-based Ice Blue Stepstick modules.

As mentioned above, there are lots of standalone drivers, 3-axis and 4-axis boards out there. The least expensive ones are based on the Toshiba TB6560 chip. It is a good driver, but it is often used incorrectly in the cheap Chinese boards (components with values outside Toshiba's recommended range, slow optocouplers on the direction control line that cause problems when used with GRBL, an error-prone automatic current reducing circuit, and so on).

Products by Gecko Drive are wonderful and expensive and way overkill for the eShapeoko. If you have loads of cash and want something that's bulletproof, the G540 is a very nice unit.

Our Products

The parts suggested for our example machine are highlighted in green.

Product
type
Option Product name Manufacturer Store
link
Comments
Driver
shield
1 GAUPS 1.0 shield (kit, standard) A/S/L visit Our own design. Instructions here
2 GAUPS 1.0 shield (kit, 50 V capacitors) A/S/L visit Our own design. Use with supply up to 40 V
3 GAUPS 1.0 shield (PCB only) A/S/L visit If you already have the parts
4 Buildlog.net driver shield (kit) Reactive Substance visit Bart Dring's design
Driver
module
5 Green A4988 driver module Pololu visit Poor thermal dissipation
6 A4988 "black edition" driver module Pololu visit Excellent
7 Purple DRV8825 high-current driver module Pololu visit Excellent. Slightly higher current
Heatsinks 8 Copper heatsink EnzoTech visit Very cool looking
9 Aluminium heatsink visit Boring but effective
Other 10 Tall headers for Pololu modules visit More effective cooling

Power Supply

120 W power supply

Our Example

We chose a 24 V 5 A (120 W) power supply, which can be had as a nice, completely enclosed laptop-type brick. We don't have to worry about exposed live parts, nor about chips getting in. It has just enough power for our motors. We used a barrel jack to screw terminal adapter to make it easier to connect the supply to the GAUPS.

More Choices

Ideally, with three NEMA 23 motors and one NEMA 17, we'd want at least 150 W of supply, to be sure we have enough headroom. A 200 W cage-type power supply is an inexpensive solution that delivers more than enough power. 200 W is also about the highest power that is commonly available in a fanless design. A cage-type supply should go in an enclosure to avoid all danger of electric shock (as they are, the mains input terminals aren't protected enough against accidental contact with live parts).

We could also choose a 36 V supply instead of 24 V (and change the GAUPS to the 40 V version), to allow the DRV8825 drivers to maybe squeeze a little more performance out of the motors.

Our Products

The laptop-type power supply does not come with a power cord, so you'll have to buy it separately. You need one with a IEC C5 (cloverleaf) connector.

The cage-type power supply does not come with a power cord either. When mounting it in an enclosure, the best idea would be to install an IEC C14 receptacle on the enclosure, and use an IEC C13 power cord (the type used with PCs). You could also wire the power cord directly to the three input terminals.

Option Product name Manufacturer Store
link
Comments
1 24 V 120 W enclosed power supply LiteOn visit Just enough for three NEMA 23 motors and one NEMA 17 (barely). Plenty for four NEMA 17 motors. Safe and completely enclosed
2 Power cord for enclosed power supply visit UK plug (BS 1363)
visit European "Schuko" plug (CEE 7/7)
3 Barrel connector to screw terminal adapter visit Or cut off the connector from the 120 W supply and connect it directly to the screw terminal on the shield
4 24 V 200 W cage-type power supply Mean Well visit Plenty of power even for four NEMA 23 motors. Needs enclosure for complete electrical safety

Fan

As mentioned above, it would be a good idea to have a fan to keep the stepper drivers from overheating and going into thermal shutdown (which keeps the drivers safe, but ruins the job). Not a lot of airflow is needed, especially if directed both under and over the driver modules, from a side. Our power supply is 24 V, but 12 V DC brushless fans are ubiquitous and cheap because they are used in PCs, so we got a small DC-DC step-down ("buck") converter to get the 12 V for the fan. (Even if you have two identical fans, it's a bad idea to connect them in series.)

Our products

Option Product name Store
link
Comments
1 1.5 A adjustable voltage DC-DC converter visit Compact. Enough for several fans
2 3 A adjustable voltage DC-DC converter visit Bulkier but more powerful
3 Brushless DC fan, 12 V visit Also available: fan guard, mounting screws

Cables

Shielded stepper cable

Our Example

The stepper motors come with wires that aren't nearly long enough. We got very nice (if a bit stiff) 18 AWG (0.82 mm2) 4-core shielded cable.

Estimating the cable requirement can be very tricky, and depends a lot on how the cable is routed. For this machine, we need about 8 m of cable for the four steppers if we want to place the controller half a metre away from the machine, to one side. The Y motor nearest the controller will need the shortest cable, and the Z motor will need the longest one.

We used 3 A terminal blocks to connect the cable to the motors, and zip ties to secure the terminal blocks and the cable to the machine. We'd actually prefer to solder the cable and use heat shrink tubing to insulate the joints, but it is more difficult to solder wires well than it is to solder a GAUPS kit, so we chose the easier method. Plus, a broken or intermittent connection can destroy a motor driver. The drivers are incredibly robust otherwise, but can be easily damaged by their load being connected or disconnected while powered on, so it's important to have good connection to the motors. We need four 4-position terminal blocks, so we got two 12-position blocks, and cut them up.

At the driver end, we wired the stepper cables directly into the GAUPS screw terminals.

More Choices

For short runs, network cable (the multi-stranded type) can be used to wire stepper motors. Tie two conductors in parallel for each motor wire.

The cable can be run in drag chains, which would give the machine a very neat appearance.

Our Products

Option Product name Manufacturer Store
link
Comments
1 4-core shielded stepper cable Alpha Wire visit Top-quality cable
2 3 A 12-way terminal block coming soon Available from any hardware store
3 Zip ties coming soon

Spindle

We started with a cheap rotary tool (a Dremel clone). They usually come with, literally, a hundred and one accessories — all largely useless to us. Keep the wrench, though, you'll need it to tighten the collet. Put a zip tie through an unused hole in an end plate or motor plate, and store it there.

You may want to upgrade the spindle soon, though. For tougher jobs, and general use when not bothered by noise, the Makita RT0700C is an excellent choice, except for the fact that a 3.175 mm (1/8 in) collet is not easily available. You can buy one from the US, or use a 1/4 inch to 1/8 inch adapter. Most trim routers are too big for the stock tool mounts, so you will have to make your own, for example out of HDPE, acetal, or even plywood.

For quiet, delicate jobs, a small DC spindle is very nice.

Tools

We got a basic 3.175 mm (1/8 in) straight two-flute center-cutting solid carbide endmill. It's the closest one can get to a universal endmill. It's great with wood, plywood and MDF, gives good results with some plastics, and can even be used — carefully — with aluminium. It's just the right size for a standard rotary tool, and it's robust enough not to break with the tiniest mistake. Buy more than one, though.

Protection

Eye protection — for everyone in the room — is required when using the milling machine. Broken endmills can fly at high velocity in any direction. Hearing protection is a very good idea. Do not wear loose clothing, and keep long hair tied up. Avoid wearing gloves (unless they're a type designed to tear off easily if caught in the spindle).

Your safety, and that of the people around you, is your responsibility.

Waste Board

We could have got a piece of MDF from the offcut bin at the hardware store, but Ikea had a shelf for their 100 cm PAX wardrobes in the bargain corner. It's about 96 cm wide and 58 cm deep, which is a bit too wide for our machine, but it was cheap and flat.

We drilled three holes through each of the front and rear pieces of aluminium extrusion that connect the end plates together, and used wood screws to screw the machine to the board. (Neat freaks can drill and counter-bore from the bottom of the board, and use M5 screws and T-slot insertion nuts to attach the machine to the board.)

We screwed a smaller piece of MDF on top of the shelf, between the extrusions, to serve as an easily replaceable waste board. We plan to mill some holes in this board, place some tee nuts in them, turn it over, and have a nice hold-down table. But, for now, we use wood screws to hold the parts down, and replace the MDF when it gets too beaten up.

Limit Switches

Limit switches

Our Example

We installed six limit switches:

  • two on the X axis, on the front X motor plate;
  • two on the Y axis, on the Y motor plate closest to the controller;
  • two on the Z axis, using the eShapeoko Z limit switch holder.

The switches come with mounting screws, washers and nuts. The screws are M2 × 12 mm (tiny!).

Mounting bracket for Z axis limit switches

We wired the switches using strips of ordinary 1.27 mm pitch ribbon cable. They are soldered to the switch terminals, and the joints insulated and reinforced with heat-shrink tubing. We opted to wire all three terminals of each switch, each switch with its own wires, because cable is cheap but re-wiring is time-consuming, and some controllers need normally open switches, some normally closed (and some can deal with either); our controller (GRBL) shares one input for the two switches on each axis, but other controllers (TinyG) have separate minimum and maximum limit inputs.

One switch on each axis does double-duty as a homing switch. Having a repeatable home position is incredibly useful when changing tools during a job, and when using fixtures and work coordinate systems. By default, home is at the end of travel in the positive direction of each axis, that is, right side (X), rear (Y), and top (Z).

More Choices

At a minimum, we could have installed just the three homing switches.

The machine can be used without limit and homing switches, but you'll find that the homing switches make your life much easier.

We could have installed two more limit switches on the Y axis, on the other motor plate. GRBL can't make use of them, but other controller software (LinuxCNC) can auto-square the gantry using them, during the homing cycle.

You can use a different type of switch, but the motor plates and Z limit switch holder are designed to work with this form factor. The same kind of switch can also be bought with a lever arm, but, for the eShapeoko, the lever is just a source of inaccuracy, and that type of switch has no advantage over the no-lever version.

Our Products

We do not sell cable for the limit switches yet.

Option Product name Manufacturer Store
link
Comments
1 Limit and homing microswitch A/S/L visit Includes M2 hardware
2 Z axis limit switch mounting solution A/S/L visit

Summary

Motors and Power Supply

Items highlighted in yellow are available from our store.

Item NEMA23 motors
on all axes
NEMA23 on X and Y NEMA17 motors on all axes
Faster Z Extra-precise Z Fast Precise Extra-precise Z
X and Y motors 4 × NEMA 23 0.9° 3 × NEMA 23 0.9° 3 × NEMA 23 0.9° 4 × NEMA 17 1.8° 3 × NEMA 17 0.9° 4 × NEMA 17 0.9°
Z motor 1 × NEMA 17 1.8° 1 × NEMA 17 0.9° 1 × NEMA 17 1.8°
Power supply 200 W cage-type 200 W cage-type 120 W brick (power cord: UK, EU)
—or— 120 W brick (power cord: UK, EU)

Everything Else

Note that there is no correlation between columns in this table; you can pick any one item from each line. Items highlighted in yellow are available from our store. We're working to add the remaining ones.

Controller Arduino Uno (running GRBL) (needs USB cable)
Drivers GAUPS (standard) GAUPS (40 V) buildlog.net shield
4 × Pololu A4988 (black) 4 × Pololu DRV8825 (purple)
4 × Aluminium heatsink 8 × Aluminium heatsink 4 × Copper heatsink
4 × Tall headers (optional)
Barrel connector to screw terminal adapter
Fan Small DC-DC converter Larger DC-DC converter
Brushless 12 V DC fan (PC type) + fan guard + mounting screws
Cabling Shielded cable CAT5 (stranded) any 4-core cable 0.5 mm2 or more
2 × 12-way 3 A terminal block (coming soon) solder and heatshrink tubing
Zip ties (coming soon)
Limit switches 6 × Microswitch (or 8 of them, or only 3)
Mounting bracket for Z axis limit siwtches
Ribbon cable shielded signal cable almost any type of cable

Also: spindle, tools (endmills, engraving bits etc), waste board, eye and hearing protection.