Skip to content
Marius Stanciu edited this page Oct 29, 2026 · 1 revision

WARNING: This feature is in development. It is not ready for production. Test it with the spindle off and the tool away from the work. Use it on a bench first: motor drivers disabled or no machine connected, with a hardware E-stop in reach. The software stop is not a safety device. Homing and probing are not available on the board.

E-Cut is the support for the E-Cut USB motion board (SH-9001). The application connects to the board over USB HID and gives the GCode Sender the same line protocol as a GRBL serial controller. The board is driven directly, without Mach3. Many functions are refused by the code, because their behavior was not verified on a real machine. This page lists what the code does, and what it refuses.

Where to find it

  • The board appears in the COM list of the GCode Sender Connect sub-tab as SH-9001 E-Cut USB. The Baud rates list is not used for this port.
  • The E-Cut settings button appears in the Control sub-tab only when the connected board supports the settings functions.
  • The GCode Sender cannot be opened in this version. See GCode Sender for the current state.
  • The USB device is identified by vendor ID 0x0483 and product ID 0x5750.

Screenshot placeholder: images/E-Cut-1.png - the GCode Sender Connect sub-tab with the SH-9001 E-Cut USB port in the COM list.

Screenshot placeholder: images/E-Cut-2.png - the E-Cut machine settings dialog with its pages.

Quick start (bench only)

  1. Connect the board by USB. Power the board, and disable the motor drivers.
  2. Select SH-9001 E-Cut USB in the COM list. Click the connect button. The tool checks that the board is present. If not, it shows the error "E-Cut board not found (USB VID 0483, PID 5750). Connect the board and try again."
  3. Open the Control sub-tab. Click E-Cut settings.
  4. Check the Input signals and Output signals pages. Check that the E-stop and the limit inputs read as expected in Live I/O.
  5. Set the Motion page, then the Motor setup page. Click Apply after each change.
  6. Run a short calibration on the Calibration page. Enter the measured travel. Apply the corrected steps per mm.
  7. Set the machine home with the Machine home buttons. This sets the current position as home. It does not move the machine.
  8. Enable the soft limits only after the machine travel is known.

What is supported

These items were checked on a real board, on a bench, with no motors or only a VFD connected.

  • Connect after a USB power cycle, status, reset and the software stop latch.
  • Short moves and return moves. Feed hold brakes along the path. Resume ends at the exact position.
  • Manual machine home of the axes, with Set machine home. The board applies the counts about 11 ms after the command.
  • Outputs and the spindle DAC voltage.

What is not supported

The code refuses these with an error. Do not remove these checks.

Function Result in the code
$H home cycle, and the Homing button Refused. The message is "Homing refused: physical input cycle capture is not verified".
Probing (G38.2 to G38.5) Refused. The message is "Probing refused: physical input cycle capture is not verified".
Index homing and index pulse Refused.
B and C axis homing Refused.
Probing outside X, Y and Z Refused.
Persistent writes of the board configuration Refused.
Safety-door parking Refused.
Driver disable and sleep ($SLP) Refused.
Spindle modes other than None and PWM / DAC Refused as unverified.
Expansion inputs 16 to 31, and outputs with no verified mapping Refused as unverified.
Unlock ($X) in check mode, or without a reset and fresh safe inputs Refused.
Spindle override, or coolant toggle, during an operator confirmation or a hold Refused.

Not checked on hardware: spindle control through a VFD on a real machine, limit switches, the E-stop input on a real machine, and long jobs with motors connected.

Machine settings

The E-Cut machine settings dialog has these pages. Click Apply to save each change. Changes that are not applied are marked as pending.

Motion

Parameter Description
Axis rows (X, Y, Z, A) Each axis has its own settings.
Maximum speed (mm/min) The maximum speed of the axis.
Acceleration (mm/s²) The acceleration of the axis.
Deceleration (mm/s²) The deceleration of the axis. Use acceleration for deceleration copies the acceleration value.
Minimum machine position (mm) and Maximum machine position (mm) The machine limits of the axis. The minimum must be below the maximum.
Enable soft limits Turns the soft limits on for the axis. Off by default.
Soft limit tolerance (mm) Widens the soft limit window. Default 0.05 mm. Maximum 1.0 mm.
Set soft limits from bed size Sets the soft limit window from the X size, the Y size and the Z travel. The Z window runs from minus the Z travel to 0. A is ignored.
X size (mm), Y size (mm), Z travel (mm) The bed size used by Set soft limits from bed size.

Motor setup

Parameter Description
Full steps per motor revolution The full steps of the motor. Often 200 or 400. Must be a whole number.
Microsteps (driver DIP setting) The microstep setting of the driver. Must be a whole number.
Gear ratio (Motor revolutions per screw revolution) The motor revolutions for one screw revolution.
Travel per screw revolution (mm) The travel of the axis for one screw revolution.
Steps/mm (whole number) The steps per mm. It is calculated as full steps × microsteps × ratio ÷ travel. The board needs a whole number from 1 to 2147483647.
Use calculated value Sets the steps per mm to the calculated whole number.
Applied steps/mm The steps per mm that the board has now.

The board moves in whole counts. A calculated value that is not a whole number shows the rounding error.

Calibration

Parameter Description
Test speed (mm/min) The speed of the test move.
Requested travel (mm) The distance of the test move. Maximum 10 mm.
Move test distance Runs the test move on the chosen axis. Apply the pending changes first.
Stop test move Stops the test move.
Measured travel (mm) The distance that you measured on the machine.

The corrected steps per mm is the applied steps per mm × the requested travel ÷ the measured travel.

Machine home

Parameter Description
Home X, Home Y, Home Z, Home A Sets the current position as the machine home of that axis. The tool asks for confirmation first. The machine coordinates change.
Home all Sets the current position as the machine home of all enabled axes (X, Y, Z and A).
Machine home status Shows a check mark for each axis that was set in this session.

This is not a homing cycle. No motion is made. The home position is the home_offset_mm of the axis (0 means auto zero).

Input signals

Parameter Description
Enabled Turns the input on in the software.
Input (I0 to I15) The native input pin. Raw 1 means the switch is closed to Vo12V.
Active level Active High or Active Low. Active Low treats raw 0 as active.
Debounce ms The debounce time. Default 20 ms.
Input names (I0 to I15) A free name for each input, up to 32 characters. The name is shown in Live I/O only.

Output signals

Parameter Description
Enabled Turns the output on in the software.
Output (O0 to O7) The native output. The output is a physical sinking output.
Active level Active High switches the output on with raw 1. Active Low does the reverse.
Output names (O0 to O7) A free name for each output.

The spindle run signals SPINDLE_CW and SPINDLE_CCW are mapped on this page.

Motor pins

Parameter Description
Software enabled (per axis) Controls whether the axis takes part in motion.
Direction Forward (+) or Reverse (-).
Step port, Step profile pin, Step Active Low The step output of the axis.
Dir port, Dir profile pin, Dir Active Low The direction output of the axis.

Spindle / VFD

Parameter Description
Control None or PWM / DAC. Other modes are refused as unverified.
Minimum RPM and Maximum RPM The speed range. The minimum must be below the maximum.
Frequency profile (fixed) The PWM frequency is fixed by the board profile.
PWM raw period counts The period of the PWM in counts.
Run dwell seconds, Stop dwell seconds The dwell time when the spindle runs and when it stops.

The spindle with a VFD on a real machine is not verified.

Live I/O

Shows the state of the inputs and the outputs as the board reads them. It is read only. A disconnected board shows the I/O state as unknown.

Limits and checks

  • Soft limits: each enabled axis with soft limits on has a window from the negative limit to the positive limit. The default window is 0 to 300 mm. The tolerance widens the window.
  • A move is refused with the error "Target exceeds the soft limit" when it ends outside the window, and it ends farther outside than it started. A move that starts outside and comes back inside is allowed.
  • The soft limits are checked before a move is sent to the board. G-code words that move an enabled axis are checked in the same way.
  • The soft limit check covers each enabled axis with soft limits on. Limit switches were not verified on a real machine.
  • Steps per mm: a whole number from 1 to 2147483647.
  • Test move: at most 10 mm.
  • Feed override: the range is 0% to 200%.
  • E-stop: the E-stop input is disabled by default. When it is enabled, the limits re-engage after an E-stop by default. The E-stop behavior is not verified on a real machine.
  • Feed hold on door open is disabled by default. Safety-door parking is refused.

Settings file

The Sender keeps the board settings in grbl_settings.json, in the ecut folder of the application data folder. Persistent writes to the board are refused.

Advanced

  • The Connect button checks the board before the port is opened. If the board is not found, the connection does not start.
  • After a reset, the Sender shows the spindle as off.
  • The software stop latches the board. Unlock ($X) needs a reset and fresh safe inputs.
  • The motion period of the board is 1 ms. Other periods are refused.
  • The E-Cut code is in appPlugins/Common/ecut/. The README in that folder lists the files, the tests and the items that are needed before production use.

Needed before production use

  1. Spindle and VFD control on a real machine.
  2. Homing and probing with the physical input cycle.
  3. Limit switches and the E-stop input on a real machine.
  4. Long jobs with motors connected, at the feed rates and accelerations of the machine.

Tcl

No Tcl command was found for this board. See Tcl Command Reference.

See also

Clone this wiki locally