< All Topics


Before reading this guide, it is assumed that:

Why is my xPRO V5 controller not recognized on either CNCjs or my computer?

Download and install the CP210x driver for the xPRO V5 in the link below: 


Extract the file and run:

  • CP210xVCPInstaller_x64 if you have a 64 bit computer
  • CP210xVCPInstaller_x86 if you have a 32 bit computer

Why am I getting a stepper fault indicator alarm?

The stepper fault indicator refers to a fault that has been detected with the connected motor. Causes for the stepper fault indicator are:

  • Intermittent connection between stepper motor and driver
  • Stepper motor with internal fault.
  • Stepper motor connector not properly seated in the connector. Ensure that the copper conductor of the cable is gripped by the connector and not the plastic insulation.

Click on Image to Zoom

The Fan on my xPRO V5 is not spinning.

The fan on the xPRO V5 is thermally controlled and is load-dependent. The fan will turn on automatically when the internal temperature of the drivers passes a certain threshold.

My motors are running the wrong way. How do I change the motor direction?

This issue can be rectified by two means: Through the physical hardware or via software.

- Hardware:

The correct wiring sequence is Red-Green-Blue-Yellow from left to right as shown:

Click on Image to Zoom

Wiring guide for Lead Screw Machines such as the WorkBee, Lead, Lead High Z, C-Beam, C-Beam XL

Click on Image to Zoom

Wiring guide for belt/Gear rack machines such as the Belt Ox and Ox-GEAR. Note the reversed A/Y2 wiring.

Click on Image to Zoom

- Software:


Depending on the motor wiring and machine setup, you may need to invert the direction of an axis if it is going the wrong way. See the correct convention below. This is assuming that you are facing the front of the machine spindle motor or the front of the machine head-on.

  • X+ = Right
  • X- = Left
  • Y+ = Towards the rear of machine
  • Y- = Forward of machine
  • Z+ = Up
  • Z- = Down

To invert an axis, open the machine configuration macro and locate $Stepper/DirInvert in the 5th line of the macro. If for example, X is moving to the right when you click X-. change it to $Stepper/DirInvert =X. If 2 axes are inverted for example X and Y, change it to $Stepper/DirInvert =XY.

After making these changes, run the macro again and then reset the controller by pressing the reset button on the side of the controller for the change to take effect.

Click on Image to Zoom


When homing, the machine may attempt to home away from the limit switch. To get the machine homing in the right direction, you can invert the homing direction logic just as the motor direction. For example, if the Z is homing away from the limit switch, stop the homing cycle by clicking the Reset button in CNCjs or by pressing the reset button on the xPRO V5 side and change the $Homing/DirInvert in the 12th line of the macro and make it $Homing/DirInvert=Z.

After making these changes, run the macro again and then reset the controller by pressing the reset button on the side of the controller for the change to take effect.

The next time that you connect the controller to CNCjs, you must unlock it in order to use the machine. This is a safety precaution to ensure that the software will know where the machine is initially. After resetting and unlocking, home your machine by selecting the Homing button in blue in the top right corner of CNCjs.

Click on Image to Zoom

Why is my emergency stop switch working in reverse?

Your emergency stop switch can be wired in 2 ways. The first way is to be wired by an electrician in line with your mains lead to the 24V power supply and the second method is as a pause button for the xPRO V5 .

The guide below shows the pause/hold method with our Normally Closed (NC) Emergency stop switches.

Ensure that the jumper in the xPRO V5 is in the disabled (default) position - as shown in the image below (top right).

Wiring it this way will pause the program when activated. To use our NC switches with the xPRO V5, flash your xPRO with the CNC_xPRO_V5_XYYZ_PWM_NC.bin located in the main firmware repository here. To flash this firmware, refer to the guide, see below.

Click on Image to Zoom

Flashing xPRO V5 Firmware

  • First connect to your xPRO-V5 wifi and the WebUi will automatically open in the browser.
  • In the WebUI, navigate to the ESP3D Menu
Click on Image to Zoom
  • Select the Firmware Update Button
Click on Image to Zoom
  • Click "Select file" and choose new firmware (.bin), then select "Update". The new firmware will load and the xPro V5 will reboot.
Click on Image to Zoom
  • Open up CNCjs and type in the console $RST=* command to load the latest default settings.

Why are my limit switches not engaging?

By default, the limit switches are enabled in the master config file. Check that the limit switches are wired as shown in the image below. Our limit switch cable uses Blue and White wires. For illustration purposes, Black has been used instead of white.

You will also need to ensure that the limit switches have been enabled in the software. The setting to enable limit switches is $Limits/Hard=On. By default, they are enabled in our machine profiles.

Click on Image to Zoom

This configuration is for the “Normally Open” configuration, which is the default configuration. On the limit switches are numbers on one side and lettering on the other side.

Please see the image below for the “Normally Open” configuration. For the “Normally Closed” configuration, please connect the signal wire to pin 2 and the common wire to pin 1. In the kit are spade connectors that require to be crimped. Please use a crimping tool to crimp the cable to the spade connector

  • 1 = Common
  • 3 = Normally Open (Middle Pin)
  • 2 = Normally Closed

Click on Image to Zoom

The correct wiring for the limit switches to the xPRO V5 is shown below. The middle pin on the 3 pin green connector is left blank and unused. Please note incorrect wiring may lead to irreversible damage to the xPRO V5 controller.

Click on Image to Zoom

Why are my motors stalling or binding when the axis is moving?

  • Perform a bench test. To do this, follow the guide below:
    • Lay all 4 motors on the bench as shown below. Wire the motors directly to the using the motor leads.
    • Jog each axis and run a sample gcode file. Please find our sample gcode here which contains a simple 100 x 100 x 3mm square with a 50mm pocket in the middle. Observe any strange sounds and strange motor characteristics.
    • If a motor is showing characteristics of stalling/about to stall, contact us at sales@makerstore.com.au for further information.
Click on Image to Zoom
  • If the bench test passes, there may be mechanical, electrical or software issues putting extra stress on the motor. To troubleshoot these, please see below:
    • Electrical:
      • Check the power supply voltage is 24V ± 0.5V. Lower voltage power supplies can cause issues. We recommend our MeanWell 24V 350W power supplies.
      • Check to see that the EDG connectors throughout the wiring harness are gripping on the copper of the cable and not the cable insulation. Intermittent connections can cause erratic motor behavior.
      • If you are using your own motors, please check the motor impedance in the motor’s datasheet. The ideal impedance should be 4mH ± 20%. High impedance motors will stall much more quickly.
    • Software:
      • Check the motor settings by typing $S. Ensure that the acceleration and feed rate for lead screw driven machines is 5000mm/min and 150mm sec^2 or less respectively. The feed rate settings are denoted [OR “SET”] by $X/MaxRate=5000 and acceleration is denoted by $X/Acceleration=150.000. Check any other axis causing issues.
      • Reduce the feed rates of your machine to 4000mm/min and acceleration to 100mm sec^2 and run the bench test again. 
  • Mechanical & Hardware:
    • De-couple the axis from the lead screw/gear/belt system and test the motor without a load applied to check if the problem is replicated. Try to stall the motor by applying pressure to the motor coupling by hand.
    • Check the gantry movement. Remove the lead screw and move the gantry by hand. It should be smooth throughout the length of the gantry.
    • Check the wheel tension. The wheels should be easy to move with a little bit of force.
    • If your machine is lead screw driven, check the lead screw for bends. Remove the lead screw from the machine and roll it on a flat surface like a garage floor or marble bench top. The lead screw should roll smoothly. If it bounces or wobbles. Please contact us at sales@makerstorecom.au.
    • Adjust your nut blocks. Loosen the nut blocks a full turn or until there is a slight movement from the nut block. and jog your machine to the front. Slightly tighten them and then move the machine to the back and fully tighten them.
    • Spray your lead screw with PTFE lubricant and run the machine back and forth a few times.
    • Ensure that your machine is square by checking the diagonal distance as shown below. Both diagonal measurements must be identical. An assistant is recommended to get accurate results. Measure from end plate to end plate. For example, measure from corner of end plate A to corner of end plate D. The measurement should be identical to measuring from corner B to corner C.
Click on Image to Zoom

Why is one of my Y-axis motors leading the other? 

  • Check Y1 and A/Y2 axis motor settings. They should have identical:
    • Steps per mm
    • Max rate
    • Acceleration
    • Running Current
  • De-couple both Y1 and A/Y2 from the lead screw/gear/belt system and test the motors without a load applied to check if the problem is replicated.
  • Check the wiring on both Y1 and A/Y2 motors. The connectors should be gripping the cable conductor and not the insulation.
  • Check the tension of the wheels on the extrusion on the Y1 and A/Y2 gantries. They should be identical. A simple touch test by turning the weels by hand should be enough to allow for any stiff wheels to be found out.

Why I am getting a probing error while I am attempting to use my probe?

The xPRO V5 uses a 3 pin connector which is provided with the controller.

To connect the xPRO V5 to our 2 pin touch probe, connect the red wire to GND and the black wire to SIG using the provided green EDG connector. Leave the middle pin unconnected.

Click on Image to Zoom

Connect the probe to the probe port as shown below.

Click on Image to Zoom

XYZ Probe Software Setup Guide

By default, the xPRO V5 is configured for a Normally Closed touch probe. To use our Normally Open touch probe with the xPRO, please enter $6=1 in the CNCjs console. You Only need to do this once and it will be saved in the memory of the xPRO controller. If you were to re-flash the xPRO, you will need to re-enter the command.

This macro allows you to probe in the X, Y and Z directions. The probing sequence is Z, followed by Y, and then X. To add this macro, simply copy the contents of the macro and paste them into the macro widget in CNCjs. Please note that the macro is for a ⅛” (3.125mm) diameter end mill. To use other end mills, the macro will need to be modified.

To set the macro in CNCjs, navigate to the macro widget in CNCjs. Click on the "+" to add a new macro.

Name the macro and paste the contents of the macro displayed below into the text box as shown below:

Click on Image to Zoom
G38.2 Z-25 F100;
G91 G0 Z3;
G91 G0 X-30;
G91 G0 Z-8.2;
G38.2 X30 F100;
G91 G0 X-3.175;
G91 G0 Z8.2;
G91 G0 Y-30;
G91 G0 X30;
G91 G0 Z-8.2;
G38.2 Y30 F100;
G91 G0 Y-3.175;
G91 G0 Z20;
G10 P0 L20 X15.943 Y-15.667 Z20
G0 X0Y0 ;Go to X0Y0

Click Ok and the macro will be saved. It will be displayed in the manner shown.

Click on Image to Zoom

To run the macro, press the play button and a prompt will open. Click run and the macro will automatically run.

Click on Image to Zoom

Touch Probe Troubleshooting.

If you are experiencing trouble with probing either from the bit overshooting or getting errors in the terminal, refer to the troubleshooting guide below. The test below will be a simple diagnostic test to ensure that the xPRO and touch probe are communicating properly.

  • Our probes are Normally Open touch probes. Please ensure that the probe setting is as follows: $Probe/Invert=On. If it is $Probe/Invert=Off, copy and paste: $Probe/Invert=On in the CNCjs terminal.
  • Check that the RED wire on the probe is connected to GND on the xPRO and the BLACK wire is connected to SIG on the xPRO.
  • After completing the two checks above, troubleshoot following the steps below:
    • With the probe plugged in, hold the clip and the plate apart. Check the green probe light on the side of the xPRO - it should be off.
    • Touch and hold the probe clip to the plate (metal to metal).   Check the green probe light on the side of the xPRO - it should be on.
    • Turn off the 24V power supply, but keep the USB plugged in. This will allow the brain of the xPRO to run without turning the motors.
    • Open CNCjs and connect to the xPRO.
    • In the probe panel shown below and using the same settings shown, select the Z Probe, G38.2 Command, and press the "Probe" button.
Click on Image to Zoom
  • The probing pop up will show like as per the image:
Click on Image to Zoom
  • Make sure the clip and plate are separated.  Select "Run Probe" in the pop up window.
  • You should see the DRO section, with the Z position decreasing.
  • Please connect the clip and plate. The Z position should increase by to 20mm above its lowest value
  • If there are no errors, you may proceed to probing with the spindle and end mill attached.
  • If you are still having issues, please contact us.

Why is my machine stopping mid-cut?

Computer USB settings, Electromagnetic interference (EMI),  and corrupted gcode can cause the controller to stop mid-job.

  • Disable USB Power Saving Mode in the Windows settings.
    • Navigate to the Control Panel
    • Select Hardware and Sound
    • Select Power Options
    • Select Edit Plan Settings
    • Click on Change advanced power settings and the following pop up will show.
    • Select USB settings
    • Ensure that the "On Battery" and "Plugged In" are both set to Disabled as per image.
Click on Image to Zoom
  • Run the CNC Machine with the VFD/Router switched off. If the machine runs fine with no pauses, proceed with steps 3-4.
  • If experiencing Electro-Magnetic Inteference (EMI). This is electrical noise that can cause odd behaviour in electronic devices. This can lead to getting false triggers in limit switches and false alarms which may cause your machine to stop part way. Ground the braid of the limit switches and stepper motors to the power supply ground. This is shown as V- on your 24V power supply.
  • If using a VFD spindle, remove the spindle cable from the drag chain and cable tie it to the outside of the the drag chain. Ground the braid of the spindle cable to the to the VFD earth pin on one end. Please use the end that you are using to connect the spindle cable to the VFD. It is recommended to solder a wire to the braid and then connect the cable to the earth pin.
Table of Contents