Repository navigation
E Cut
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.
- 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.
- Connect the board by USB. Power the board, and disable the motor drivers.
- 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."
- Open the Control sub-tab. Click E-Cut settings.
- Check the Input signals and Output signals pages. Check that the E-stop and the limit inputs read as expected in Live I/O.
- Set the Motion page, then the Motor setup page. Click Apply after each change.
- Run a short calibration on the Calibration page. Enter the measured travel. Apply the corrected steps per mm.
- Set the machine home with the Machine home buttons. This sets the current position as home. It does not move the machine.
- Enable the soft limits only after the machine travel is known.
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.
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.
The E-Cut machine settings dialog has these pages. Click Apply to save each change. Changes that are not applied are marked as pending.
| 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. |
| 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.
| 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.
| 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).
| 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. |
| 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.
| 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. |
| 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.
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.
- 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.
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.
- 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.
- Spindle and VFD control on a real machine.
- Homing and probing with the physical input cycle.
- Limit switches and the E-stop input on a real machine.
- Long jobs with motors connected, at the feed rates and accelerations of the machine.
No Tcl command was found for this board. See Tcl Command Reference.
- GCode Sender - the tool that connects to the board, and its Control and Sender sub-tabs.
- Levelling - the height map for the GRBL sender. Levelling does not use the E-Cut board.
- CNCJob Object - the G-code source.
- Preprocessors - the G-code formats.
- FAQ and Troubleshooting.
FlatCAM Evo Manual · Source code · Report a problem · MIT license
Start here
- Installation
- Getting Started
- Tutorial: Single-Sided PCB
- Tutorial: Double-Sided PCB
- User Interface
- Keyboard Shortcuts
- Glossary
- FAQ and Troubleshooting
Files and projects
Objects
Editors
PCB operations
- Isolation Routing
- Non-Copper Clearing
- Paint
- Cutout
- Drilling
- Milling
- Follow
- Double-Sided
- Solder Paste
- Film
- Panelize
- Copper Thieving
- Fiducials
- Markers
- Punch Gerber
- Invert Gerber
- Etch Compensation
- Extract
- Rules Check
- QR Code
Utility plugins
- Align Objects
- Calculators
- Distance · Object Distance
- Optimal
- Move · Transform
- Subtract
- Image Import · PDF Import
- PCB Wizard
- Report
- Tcl Shell
Machine control (in development)
Advanced
- Tools Database
- Preprocessors
- Path Optimization
- Tcl Scripting
- Tcl Command Reference
- Developer Guide
- Translating
Preferences