Search the Knowledge Base
< All Topics

CNC Workflow – Using ioSender

Note: Before you go through this manual, please ensure that you have the G-code files ready for the coaster. For coaster G-code files, see the articles below:

1.0 Introduction

 ioSender is a G-code sender designed for GrblHAL and Grbl controllers. It is used for sending G-code commands to motion controllers in CNC machines.

Key features of ioSender include real-time G-code interpretation, an easy to navigate user interface, and the ability to visualize G-code in 3D. It also offers features like jogging, homing, probing and manual tool changes.

At Maker Store, ioSender is used for E5X MCS T4.1 – Ehternet  5-Axis Motion Control System CNC controller. It is a powerful 32-bit CNC controller, running on grblHAL firmware, capable of controlling 5-axis CNC machines.

Click on this link and download the latest release of ioSender.

This manual discusses the ioSender software, its user interface, different features and its use in CNC phase of the CNC workflow to make a coaster.

1.1 Tools Required

1.2 ioSender – User Interface

The user interface (UI) of ioSender is engaging and easy to navigate. The main components of ioSender required for CNC workflow are listed below and have been shown in Figures 1 & 2.

Figure 1

Click on the image(s) to expand

  • File Management: The file management section of the ioSender UI allows user to import, organise, and manage G-code files for CNC Machining operations. This section also holds any saved macros. The file management section is marked by the red rectangle in Figure 1.
  • Control Panel: The control panel allows user to access different features of ioSender. These features include Probing, Limit switch settings, stepper motor settings  etc. The control panel is marked by the blue rectangle in Figure 1.
  • DRO: The DRO section falls under Grbl tab of Control Panel. The DRO section displays the different machine axis coordinates. It is marked by the orange rectangle in Figure 1.
  • Console: Under the Grbl tab of the control panel is the console window where a user can view the concerned part to be machined in 3D and the G-code. It is marked by the green rectangle in Figure 1.
  • Work Parameters/Jog Panel: This window holds the information related to spindle turn on/off , Spindle RPM and overrides for the same. This window also displays the feed rate and allows the user to override it. The same window also contains the jog panel which can be used to move different axes by a set distance and with a selected feedrate. This window is marked by the black rectangle in Figure 1.
Figure 2

Click on the image(s) to expand

  • Signals: This window provides real-time feedback on machine status and errors. It helps users quickly identify issues and take necessary action. It is marked by the black rectangle in Figure 2. The different components of this window are:

X: X-Axis limit switch

Y: Y-Axis limit switch

Z: Z-Axis limit switch

A: A-Axis limit switch

B: B-Axis limit switch

H: Feed Hold

S: Cycle Start

R: Reset

E: E-Stop

D: Safety Door

P: Probe


  • Home: Allows user to home the machine (set machine coordinates). When a user clicks on the Home button, the different axes of the machine start moving towards the respective limit switches, trigger them and retract back a certain distance. This process sets the machine coordinates and same are visible in the DRO window. 
  • Terminal Console: This window holds buttons such as Cycle Start, Feed Hold,  Stop and Rewind. Clicking on Cycle Start, initiates the execution of G-Code. Feed Hold stops the machine movement but keeps the spindle running. Stop terminates the machining process. The terminal console is marked by red rectangle in Figure 2.
  • Macro Panel: The jog/macro panel allows the user access to several features such as  setting macros, outline, etc. It is denoted by the blue rectangle in Figure 2.
Figure 3

Click on the image(s) to expand

The Settings: App tab of the control panel, allows a user to change the  jogging distances and feed rates of the jogging panel. The jogging and feedrate adjustment section of the Settings: App tab is indicated by the red rectangle in Figure 3. You can enter your desired distances and feedrate in this section and click on Save Settings. Restart the application for the changes to take effectYou can then navigate to the jog panel to see the new distances and feedrates.

1.2 ioSender – Connection with the controller

ioSender is Maker Store’s recommended G-Code sending software to use with E5X MCS T4.1 Controller. The connection can be established via two ways USB or Ethernet.

1.2.1 USB Setup

For connectivity, a USB type A to type USB type B cable is required. As USB can be susceptible to EMI from devices such as spindles, it is highly recommended to keep the cable as short as possible and use a USB cable with shielding and ferrite cores built into the cable as shown below.

Figure 4: USB type A to Type B Cable with built-in Ferrite Core

Click on the image(s) to expand

The E5X uses a Silicon Labs CP2102 USB UART bridge to communicate with ioSender. To use the USB connection, you will need to install the CP2102 USB drivers. See below for the installation instructions.

  1. Download and install the CP210x drivers here:
  2. Extract the file and run:
    • CP210xVCPInstaller_x64 if you have a 64-bit computer
    • CP210xVCPInstaller_x86 if you have a 32-bit computer

To communicate with ioSender via USB, open ioSender and select the Serial tab. In the Port drop-down box, select the correct port with Silicon Labs CP210x USB to UART Bridge. Please note, your port will likely differ from the one shown in the example. 

By default, the Baud rate is set to 115200 bits per second. This value should not be changed as it will affect the E5X performance. 

The On connect behaviour should be set to No action.

Selecting “Ok” will launch ioSender and you will have full access to CNC machine controls.

Figure 5

Click on the image(s) to expand

1.2.2 Ethernet Setup

The E5X MCS uses a Texas Instrument DP83825I 10/100-Mbps Ethernet PHY transceiver to communicate with ioSender. Ethernet communication is made through a direct connection between the E5X and an ethernet-enabled computer. No switching devices like a router or ethernet switch are required for a direct PC connection.

A standard RJ45 cable is used to make the connection.

Figure 6: RJ45 Ethernet Cable

Click on the image(s) to expand

The ethernet connection is most recommended as it is highly resistant to EMI. Ethernet cables have twisted pairs that reject interference from external equipment like VFDs and Spindles. The ethernet configuration needs to be made in two places; in ioSender and in the computer’s network settings. The parameters that need to be changed are the following:

E5X Network Parameters:

  • IP address
  • Gateway
  • IP Mode

Computer Network Parameters:

  • IP address
  • Gateway

Below is the guide for changing these parameters, it is imperative that your network settings are the same as the ones in this guide. Set up Network on the E5X MCS

Each E5X controller comes pre-flashed with the network settings pre-set. The settings are as follows;

  • IP address:
  • Gateway:
  • Hostname: GRBL

The network settings can be set in ioSender in the networking menu. Click on each of the settings and set the parameters as shown above. Click Save after make the changes and restart the controller for the changes to take effect.

Figure 7

Click on the image(s) to expand Set up Network on the computer
Figure 8

Click on the image(s) to expand

The Network and Sharing Center will show. Click on Change adapter settings as shown by the green square. 

Figure 9

Click on the image(s) to expand

A list of networks will show. Right-click the Ethernet option and select Properties. The Ethernet Properties will show.

Figure 10

Click on the image(s) to expand

The current Ethernet properties will show. Left-Click on the Internet Protocol version 4 (IPv4) and select Properties.

Figure 11

Click on the image(s) to expand

Click Use the following IP address checkbox and set the IP Address to the following:

  • IP Address:

Change the Subnet Mask to the following:

  • Subnet Mask:

Click the Validate settings upon exit checkbox and then click OK

Figure 12

Click on the image(s) to expand

Close the Ethernet Properties dialogue box. 

Figure 13

Click on the image(s) to expand

The ethernet properties have now been set on your computer, please proceed to the following section to configure ioSender communication with E5X MCS controller via ethernet.

Figure 14

Click on the image(s) to expand

To launch the E5X MCS in ethernet mode, open ioSender and click on the network tab. Check that the port is set to 23 and the IP address is set to See Figure 14 for reference.

2.0 CNC Phase

Now after you have connected your controller (E5X) to your machine and computer, the actual machining process for the coaster begins. The CNC Phase consists of the following steps:

Step 1: Do a walk around the machine and ensure no unwanted objects are laying around the machine. 

Figure 15

Click on the image(s) to expand

Step 2: Using the jog panel shown in Figure15, move different axes of the machine to ensure they are working as expected. If you are standing in front of the machine with the spindle facing you, clicking on:

  • X+ will move the spindle/tool of the machine in the right (→) direction,
  • X- : left (←) direction
  • Y+: away from you
  • Y- : towards you
  • Z- : down (↓) 
  • Z+  up (↑)
Figure 16

Click on the image(s) to expand

Step 3: If your CNC machine is equipped with limit switches, set the machine coordinates using the Home button. Please see Figure 16 for reference. Performing Homing enables the machine/controller know where it is located. After you click on the Home button, the axes will start moving towards the limit switches one at a time. The sequence is Z-Axis first then X-Axis and finally Y-Axis. After hitting its limit switch, the respective axis will retract by 10mm to create a safe distance.

Figure 17

Step 4: Properly mount, square and clamp your workpiece on the machine bed/spoiler board, as shown in Figure 17. 

Figure 18
End Mill no. 188

Figure 19

End Mill no. 100

Figure 20

Click on the image(s) to expand

Step 5: Mount your end mill/bit in the spindle as per the order of operation. We are using the example of making a coaster that has following operations involved:

Engraving: Uses Maker Store end mill no. #188 ( shown in Figure 19)

Pocketing : Uses Maker Store end mill no. #100 ( shown in Figure 20)

Contouring: Uses Maker Store end mill no. #100

Since, contouring is an operation that will cut the whole coaster profile from the workpiece, this operation has to be performed at last. Additionally, contouring uses the same end mill (#100) as pocketing, so it will be efficient to perform pocketing before contouring. Hence, the order of operations will be:

  1. Engraving → using end mill no. #188 
  2. Pocketing → using end mill no. #100
  3. Contouring → using end mill no. #100
Mount the end mill no. #188 in the collet, that is already inserted into the collet nut. Then screw the collet nut onto the spindle and tighten using spanners. See Figure 18 for reference.
Figure 21

Click on the image(s) to expand

Figure 22

Click on the image(s) to expand

Step 6: Attach the touch probe to your machine and navigate to the Probing tab window of ioSender. For the coaster, we will be only doing the Z-Axis probing as the work holding clamps are in the way of touch probe. The X and Y coordinates will be set manually. Click on the Tool length offset tab in the Probing window, see Figure 21 for reference. Click on the Profile section and type in “Z-Axis”. If you are using the Maker Store Touch Probe, please enter the different parameter values shown in Figure 22.

After entering these values click on the button with three horizontal dots next to the Profile and click on Add. This Z-Axis probing setup will be saved on the system. Ensure to check the Add offset button. See Figure 22 for reference.

Figure 23

Click on the image(s) to expand

Move the machine axes to your desired position over the workpiece and set the Work Position for X, Y  = 0 by clicking the  0 buttons (highlighted by the green rectangle) using the DRO tab, as shown in Figure 23.

Flip the touch probe and place it underneath the end mill as shown in Figure 24. Click on Start. 

Figure 24

Click on the image(s) to expand

Figure 24 shows the Z-Axis probing sequence using Maker Store Touch Probe.

Figure 25

Click on the image(s) to expand

Figure 26

Click on the image(s) to expand

If you wish to do the XYZ Probing, follow the steps below:

  • Under the Probing tab click on Edge Finder External.
  • In the Profile section type in the name such as XYZ. See Figure 25 for reference.
  • Set the different parameters as shown in Figure 26

Note: Depending on what end mill you are using, the Diameter value will need to be updated.

Pro tip: The profile name should have an end mill diameter in it, so that a user can easily recognize a particular profile. For example, if XYZ probing is to be done for 6mm diameter end mill, save the profile name as “XYZ – 6”.

  • Check Probe Z and in the rectangle below select a corner where you have placed the touch probe on workpiece. For example, bottom left corner.
  • Click on Start. See Figure 26 for reference.

See the XYZ Probing video below

Step 7: If you are using a VFD and Spindle Pump, turn them on.

Figure 27
Figure 28

Click on the image(s) to expand

Step 8: In your ioSender File Management window, click on CNC button and select the  G-code file (Text Engraving – 188) of the first operation i.e. Engraving. Click Open. See Figures 27 & 28 for reference. 

Figure 29

Click on the image(s) to expand

Step 9: To view the operation in 3D click on 3D View. To start the machining click on Cycle Start. See Figure 29 for reference.

Note: If the G-Codes you are using are generated using Autodesk Fusion 360 you will need to click on Cycle Start twice to execute the G-Code.

Step 10: Once the above operation is executed, take out the end mill no. #188 and install end mill no. #100 for the next operation i.e. pocketing. 

Step 11: Perform the Z-Axis probing again as per Step 6.

Step 11:  Similar to Step 8, upload the G-code for pocketing (Gear Pocketing – 188) and click on Cycle Start. Once this operation is done, upload and execute the file for contouring.

Step 12: Once the Contouring operation is finished, remove the workpiece from the clamps and remove the tabs with a Stanley Knife.

Figure 21

Congratulations, you have used a CNC machine to create a coaster. Figure 30 shows the final product i.e. coaster.


For any questions or concerns, please contact us at

Australian customers: For more project ideas and solutions, please visit

North American customers: For more project ideas and solutions, please visit

UK Customers: For more project ideas and solutions, please visit


  • The Maker Community.
  • Our fantastic customers, whose feedback constantly helps improve our proceses and guides.
Table of Contents