Repository navigation
GCode Sender
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.
Not available in this version: the plugin does not open. Its menu entry shows the message Cancelled. This tool is not ready yet. The sections below describe the tool as it works when it is enabled.
The GCode Sender connects to a GRBL 1.1 controller over a serial port. It streams a CNCJob G-code to the controller. It also jogs the axes, sets the work zero, controls the spindle and the feed, probes the surface, and can level the G-code with a height map. A virtual controller runs a job on screen, and the Plot 3D tab shows the toolpath. The same tool also controls an E-Cut USB motion board. See E-Cut.
- Menu: Plugins menu, entry GCode sender. There is no keyboard shortcut.
- The tool opens in the Plugin tab. The tab has three sub-tabs: Connect, Control and Sender. The Control and Sender sub-tabs are enabled only when a controller is connected.
- The GRBL console is a dock. Show it with the Show console check box.
Screenshot placeholder:
images/GCode-Sender-1.png- the GCode Sender tab with the three sub-tabs, the Source Object and the Job group.
- Create a CNCJob object. Select it in Source Object.
- Open the Connect sub-tab. Select the port in COM list. Select the baud rate in Baud rates. The default is 115200.
- Click Disconnected. The button turns green and shows Connected when GRBL answers.
- Open the Control sub-tab. Click Zero Axes for the position where the work starts.
- Use the jog arrows to check the movement. Start with a small Step.
- Open the Sender sub-tab. Check the status with Get Report if needed.
- Click Check mode in the Job group if you want GRBL to read the program without motion.
- Click Start. The tool streams the CNCJob. Use Hold, Resume or Stop when needed.
Screenshot placeholder:
images/GCode-Sender-2.png- the Connect sub-tab with the COM list, the baud rate list and the connect button.
Screenshot placeholder:
images/GCode-Sender-3.png- the Control sub-tab with the jog arrows, the Zero Axes group and the Pause/Resume button.
| Parameter | Description | Default |
|---|---|---|
| Source Object | The CNCJob object to send. | Active CNCJob, if any |
| Fit View | Fits the bounds of the G-code in the isometric view after the source object is loaded. | Checked |
| Show console | Shows or hides the GCode Console dock. | Unchecked |
| Beginner / Advanced button | Beginner hides many parameters. Advanced shows all parameters. | From global_app_level (Beginner) |
| Reset Tool | Resets the parameters of the tool. | - |
| Parameter | Description | Default |
|---|---|---|
| COM list | The serial ports found. The E-Cut board appears as SH-9001 E-Cut USB when it is connected. | First port found |
| Search | Searches again for serial ports. | - |
| Baud rates | The baud rates in the list. The list has 9600 to 2000000. | 115200 |
| New | A custom baud rate. Range 40 to 9999999. | - |
| Add | Adds the custom baud rate to the list. | - |
| Delete selected baudrate | Removes the selected baud rate from the list. | - |
| Reset | Software reset of the controller. Enabled only when connected. | Disabled |
| Disconnected / Connected | Connects to the selected port, or disconnects when the port is open. | Disconnected |
| Parameter | Description | Default |
|---|---|---|
| Jog arrows (X+, X-, Y+, Y-, Z+, Z-) | Moves the axis by Step in the arrow direction, at the Feedrate. A press and hold moves continuously when Continuous is checked. | - |
| Origin (jog) | Raises Z to the safe Z (tools_grbl_travelz), then moves to X0 Y0. |
15.0 |
| Step | The distance of one jog move. | 5 |
| Feedrate | The feedrate of a jog move. | 1500 |
| Continuous | Hold a jog arrow to move. Release the arrow to stop. Shown only when the controller supports it. | Unchecked, hidden |
| Pause/Resume | Toggles feed hold (!) and cycle start (~). Blocked while a recovery is needed. |
Off |
| Zero Axes: X, Y, Z, All | Sets the current position as zero of the active work coordinate system (G10 L20). All sets X, Y and Z. | - |
| Homing button | Sends $H (home cycle). If a reset is pending, the tool asks for a reset first. |
- |
| E-Cut settings | Opens the E-Cut machine settings. Shown only with the E-Cut board. | Hidden |
| Parameter | Description | Default |
|---|---|---|
| Send Command and Send | Sends one line to GRBL, for example $$. The answer goes to the console. Press Enter in the field to send. |
- |
| Get Config parameter and Get | Reads one GRBL setting ($n) and shows the value. |
- |
| Get Report | Prints the GRBL status report in the console. | - |
| Probe | Probes the points in the Probe Points Table and builds the height map. | - |
| Stop (probing) | Stops the running operation. GRBL goes into feed hold. Recovery is needed (see Advanced). | - |
| Save icon | Saves the GRBL height map to a file. | - |
| Parameter | Description | Default |
|---|---|---|
| Start | Streams the G-code of the selected CNCJob to GRBL. A dialog asks to start from the Beginning or from a Line. If the Level the G-code check box is on and a height map exists, a dialog asks: Generate New, Use Existing or Cancel. | - |
| Hold | Feed hold (!). Resume continues the job. |
- |
| Resume | Cycle start (~). Blocked while a recovery is needed or a previous job was abandoned. |
- |
| Stop | Stops the job: feed hold, then a soft reset. Recovery is needed. | - |
| Unlock | Sends $X to clear the alarm lock. |
- |
| Sim | Opens the simulation dialog with a virtual controller. No serial port is used. | - |
| Check mode | GRBL reads the G-code of the next Start without motion. It is valid for one job. | Unchecked |
| Spindle | Toggle. ON sends M3 S<RPM>. OFF sends M5. The button shows the state that the controller reports. |
Off |
| RPM | The spindle speed for Spindle. Range 0 to 100000. | 10000 |
| Progress bar | Shows the progress of the job, in percent. | 0 |
| Status label | Shows the state, for example Idle. | Idle |
| Overrides: Feed | Feed override: -10, -1, 100 %, +1, +10. | 100 % |
| Overrides: Rapid | Rapid override: 25 %, 50 %, 100 %. | 100 % |
| Overrides: Spindle | Spindle override: -10, -1, 100 %, +1, +10. | 100 % |
| Override values label | Shows the current values, for example F: 100% R: 100% S: 100%. |
- |
| Save levelled G-code | Saves the G-code that the sender streams, after the levelling. | - |
| Show in Plot 3D | Shows the toolpath, the tool and the height map in the Plot 3D tab. | - |
| Parameter | Description | Default |
|---|---|---|
| Level the G-code | Applies the height map to the G-code before streaming. | Unchecked |
| Probe Points Table, Show | Shows or hides the probe points table. Same as in Levelling. | Checked |
| Plot probing points | Draws the probe points on the canvas. | From the Preferences |
| Plot height map | Shows or hides the height map surface in Plot 3D. Hiding the surface does not change the levelling. | Checked |
| Avoid Excellon holes | When checked, the probe points avoid the holes of the selected Excellon object. | From the Preferences |
| Excellon Object | The Excellon object whose holes the probe points avoid. Shown when Avoid Excellon holes is checked. | First Excellon object |
| Avoid Step | Same as in Levelling. | 0.5 |
| Probe Tip Dia, Probe Z travel, Probe Z depth, Probe Feedrate | Same as in Levelling. | 0.3, 2.0, -1.0, 120 |
| Mode and Method | Same as in Levelling. Method is disabled in Manual mode. | Grid, Voronoi |
| Columns, Rows | Same as in Levelling. | 4, 4 |
| Add Probe Points | Creates the probe points in the current mode. | - |
| Import Height Map | Reads a height map file. | - |
| Precision probing (two touches) | GRBL only. Retracts after the coarse touch, then probes again at the fine feed. Only the second measurement is used. | Unchecked |
| Fine probe feedrate | The feedrate of the second touch, in units per minute. Shown and enabled only with Precision probing. | 10.0 |
| Precision retract | The distance above the coarse contact. It must release the probe without going over Probe Z travel. Enabled only with Precision probing. | 0.5 |
| Parameter | Description | Default |
|---|---|---|
| Simulation: Start, Pause, Resume, Stop, Reset | Runs the program on the virtual controller. Pause and Resume toggle. Stop ends the run. Reset returns the speed to 1x. | - |
| Simulation: Speed slider | Sets the speed multiplier. The slider range is 0 to 100. At 0 the multiplier is 0.5x. Values 0 to 25 give 0.5x to 1x. Values 26 to 34 give 2x to 10x. Values 35 to 100 give up to 100x. | 1x |
| Simulation: Close | Closes the simulation dialog. | - |
- The Program tab shows the lines of the job. The highlighted line is the line that GRBL reads. Follow scrolls with the job.
- The Console tab shows the replies and sends commands.
- The status line shows Acknowledged line and the number of Errors on the lines.
-
Stop (job or probing) sends a feed hold (
!). The machine then needs a reset and a home cycle before more motion. - After Stop, Resume and the Pause/Resume toggle are blocked. A resume would continue the held motion.
-
Reset sends the soft reset byte (
0x18). The tool waits for the startup banner. Home is blocked until the banner is read. - A soft reset stops the spindle. The tool shows Spindle as off.
- The tool does not trust the position after an uncertain motion. Press Reset, then Homing button.
-
Check mode uses
$C. GRBL reads the next program without motion. The tool exits check mode after one job. - Start refuses to build a levelled job in check mode when no height map exists.
- The simulation uses a virtual GRBL. It does not open a serial port.
- With Level the G-code checked, the simulation also runs the probe moves of the height map.
- The Plot 3D view shows the accepted lines of the job, the selected line and the tool position.
- It shows the height map surface when Plot height map is checked.
- The view starts in isometric view. Show in Plot 3D opens the Plot 3D tab.
The tool stores these options in the application settings. The factory values are in defaults.py.
| Option | Use | Default |
|---|---|---|
| tools_grbl_baudrate | Baud rate | 115200 |
| tools_grbl_jog_step | Jog step | 5 |
| tools_grbl_jog_fr | Jog feedrate | 1500 |
| tools_grbl_travelz | Safe Z for the origin jog and the probe travel | 15.0 |
| tools_grbl_console_visible | Console dock shown | False |
| tools_grbl_status_ms | Status poll interval, in ms | 200 |
| tools_grbl_arc_mode | How arcs are sent | split |
| tools_grbl_arc_segment | Arc segment size | 0.5 |
| tools_grbl_seg_len | Segment length | 1.0 |
| tools_gcode_fit_view | Fit View | True |
- At connect, the tool reads
$13to learn the report units. Jog commands use G20 (inch) or G21 (mm) for the application units. - Each probe move is
G38.2. The probe result line[PRB:x,y,z:1]is read. A result with flag 0 means that the probe did not touch. - Overrides use the GRBL real-time bytes (
0x90to0x9D).
No Tcl command was found for this tool. See Tcl Command Reference.
- Levelling - the same probing without a live connection.
- E-Cut - the E-Cut USB motion board, which uses this tool's Connect and Control tabs.
- CNCJob Object - the source of the G-code.
- Preprocessors - the G-code format.
- Preferences-CNCJob and Preferences-Plugins.
- Keyboard Shortcuts and 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