Skip to the content
PCBKitNew board
2 layers68 × 54 mmStepcraft controller, the printed circuit board in 3D

Stepcraft controller

eflukx/Stepcraft-GRBLizer15

Replacement ('Arduino') controller that fits inside a Stepcraft CNC machine. Comptatible with GRBL and EstlCAM

Size
68 × 54 mm
Copper layers
2
Thickness
1.6 mm
Parts
71
Nets
90
Pads
272
Tracks, vias
485, 174
Pours
5
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
9 Sep 2017
Updated
29 Nov 2024

Overview

Stepcraft controller is an open-source printed circuit board by eflukx, from the eflukx/Stepcraft-GRBLizer repository on GitHub. It is a 2-layer board of 68 × 54 mm with 71 parts on 90 nets, routed with 485 tracks and 174 vias.

It is built around the ATMEGA328P-AU, CP2102N-EK and ADUM1201BR, with the 1N5819W among its other parts. Its parts include 28 resistors, 16 capacitors, 9 connectors, 7 diodes and 4 ICs. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

readme.md

Stepcraft GRBLizer

A GRBL compatible controller for use as a drop-in replacement for the SC100 USB standard controller deliverd with Stepcraft CNC machines. This Arduino Uno compatible controller is wired conforming the GRL v0.9+ standard. The controller can be used with the GRBL firmware and with EstlCAM.

Features

  • The PC is fully electrically isolated from the CNC machine (optional).
    • Device is powered via the Stepcraft machine (not from USB port) and optionally from the ISP port.
  • All inputs protected with clamping diodes and resistors.
  • Probe inputs have a 100 Ohm / 10nF low pass filter to suppress spurious triggering. (Filter values may be experimented with.)
  • 3.5mm Jack for spindle / laser / hot-end control
  • 3.5mm Jack input for 2 probes.
  • Serial interface fed out the back (TTL, not protected). For people in a hurry: CP2102 and isolator ICs can be left unpopulated.
  • Standard 6 pin ISP programming connector fed out the back (not protected).
  • Some juper block for IO-config

Alvast een leuk plaatje: PCB Render

interactive BOM

Access the interactive bom directly using this link!

Stepcraft 420 CNC settings with GRBLizer

Notes kindly provided by Albin Stigö on getting GRBL v1.1 working with the GRBLizer board.

Tested on Stepcraft 420, but probably works with most other Stepcraft types.

Setup

Install GRBL in the usual way. However you need to make some changes in config.h and cpu_map.h.

c
/* cpu_map.h */

// The Stepcraft has all limits on one pin.
#define X_LIMIT_BIT    1  // Uno Digital Pin 9
#define Y_LIMIT_BIT    1  // Uno Digital Pin 9
#define Z_LIMIT_BIT    1  // Uno Digital Pin 9
c
/* config.h */

// Since all limit switches end up being shared on one pin,
// we can only home one direction at a time.
#define HOMING_CYCLE_0 (1<<Z_AXIS)  // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 (1<<Y_AXIS)  // OPTIONAL: Then move X,Y at the same time.
#define HOMING_CYCLE_2 (1<<X_AXIS)  // OPTIONAL: Uncomment and add axes mask to enable

// The stop output of the Stepcraft board is inverted to what GRBL expects.
// However you simply can't swap the switch because the driver board will also
// disable the motors so nothing will move.
#define INVERT_CONTROL_PIN_MASK (1<<CONTROL_RESET_BIT) // Default disabled.

GRBL settings

I haven't done a lot of fine tuning but these seems to work well enough.

text
$0 = 50				(Step pulse time, microseconds)
$1 = 100			(Step idle delay, milliseconds)
$2 = 0				(Step pulse invert, mask)
$3 = 0				(Step direction invert, mask)
$4 = 1				(Invert step enable pin, boolean)
$5 = 1				(Invert limit pins, boolean)
$6 = 0				(Invert probe pin, boolean)
$10 = 1				(Status report options, mask)
$11 = 0.010			(Junction deviation, millimeters)
$12 = 0.002			(Arc tolerance, millimeters)
$13 = 0				(Report in inches, boolean)
$20 = 0				(Soft limits enable, boolean)
$21 = 0				(Hard limits enable, boolean)
$22 = 1				(Homing cycle enable, boolean)
$23 = 1				(Homing direction invert, mask)
$24 = 120.000		(Homing locate feed rate, mm/min)
$25 = 900.000		(Homing search seek rate, mm/min)
$26 = 250			(Homing switch debounce delay, milliseconds)
$27 = 1.000			(Homing switch pull-off distance, millimeters)
$30 = 1000			(Maximum spindle speed, RPM)
$31 = 0				(Minimum spindle speed, RPM)
$32 = 0				(Laser-mode enable, boolean)
$100 = 133.333		(X-axis travel resolution, step/mm)
$101 = 133.333		(Y-axis travel resolution, step/mm)

Parts

71
QtyValueFootprintReferences
22100Resistor_SMD:R_0805_2012MetricR1, R2, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 +6
10100nCapacitor_SMD:C_0805_2012MetricC2, C3, C5, C6, C8, C9, C10, C13, C14, C15
6Littelfuse PESD0603-240Diode_SMD:D_0603_1608MetricD1, D2, D3, D4, D5, D6
20 (DNP)Resistor_SMD:R_0805_2012MetricR5, R8
2100 (DNP)Resistor_SMD:R_0805_2012MetricR6, R7
210nCapacitor_SMD:C_0805_2012MetricC7, C16
21uCapacitor_SMD:C_0805_2012MetricC1, C4
222pCapacitor_SMD:C_0805_2012MetricC11, C12
2ADuM1201BRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2, U3
110kResistor_SMD:R_0805_2012MetricR27
116MHzCrystal:Crystal_SMD_HC49-SDY1
11N5819WDiode_SMD:D_SOD-123D7
1300Resistor_SMD:R_0805_2012MetricR28
14th AxleConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ10
1ATMEGA328P-AUPackage_QFP:TQFP-32_7x7mm_P0.8mmU4
1CP2102NPackage_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU1
1ISP/SerialConnector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_HorizontalJ8
1ISP_PWRConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP1
1Polyfuse_SmallFuse:Fuse_1210_3225MetricF1
1Probew_conn_av:jack_3.5_pj313d-smtJ2
1Spindlew_conn_av:jack_3.5_pj313d-smtJ3
1UPDATE TO USB Ciotta_footprints:USB_Micro-B_2_HolesJ1
1X1iotta_footprints:Stepcraft_SC100_Controller_BoardJ9
1in2 selectConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ11
1length_A5Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP2
1out selectConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1relay selectConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ6
1resetButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx58-2LFSSW1

The 69 most common of 71 parts.

Questions

How big is the Stepcraft controller PCB?

It measures 68 × 54 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Stepcraft controller use?

71 parts, built around the ATMEGA328P-AU, CP2102N-EK, ADUM1201BR and 1N5819W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Stepcraft controller KiCad files?

From the eflukx/Stepcraft-GRBLizer repository on GitHub, at the commit this page was made from: the board is stepcraft_controller.kicad_pcb and its schematic stepcraft_controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Stepcraft controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask eflukx before reusing the design.

Similar boards

  • 2 layers91 × 77.5 mmLCSDR, the printed circuit board in 3D

    LCSDR

    arsenal007/STM32-SDR_FIRMWARE

    SDR TRX ut3mk

    92 parts
  • 2 layers66.9 × 74.5 mmDeskHop Rev1, the printed circuit board in 3D

    DeskHop Rev1

    hrvach/deskhop

    Fast Desktop Switching Device

    20 parts7.9kGPL-3.0
  • 4 layers75 × 50 mmCANchovy PCB, the printed circuit board in 3D

    CANchovy PCB

    fred314159265/CANchovy

    MKS CANable V2.0 based isolated USB-CAN interface

    102 parts7
  • 2 layers100 × 95.9 mmLCSDR, the printed circuit board in 3D

    LCSDR

    arsenal007/STM32-SDR_PCB

    KiCAD PCB Project of STM32 SDR, processor board

    268 parts3
  • 2 layers94 × 70 mmCore, the printed circuit board in 3D

    Core

    stanislavstarcha/powerbox

    Add paths to your bash/zsh rc for convenience

    77 parts
  • 2 layers19.8 × 33.5 mmRs422-master, the printed circuit board in 3D

    Rs422-master

    multigcs/riocore

    riocore

    3 parts91GPL-2.0