electronics:xpro_v5_motion_control_system

xPRO V5 Motion Control System



Safety Statement

The author of this document is not liable or responsible for any accidents, injuries, equipment damage, property damage, loss of money or loss of time resulting from improper use of electrical or mechanical or software products.

Assembling electrical and mechanical CNC machine components like power supplies, motors, drivers or other electrical and mechanical components involves dealing with high voltage AC (alternating current) or DC (direct current) and other hazardous items which can be extremely dangerous and needs high attention to detail, experience, knowledge of software, electricity, electro-mechanics and mechanics.

BEFORE MAKING ANY CONNECTIONS OR DISCONNECTIONS POWER MUST BE REMOVED FROM THE DEVICE AND THE CONTROLLER. FAILURE TO DO SO WILL VOID ANY AND ALL WARRANTIES.

Before starting please read through all the instructions.

Note : Any Mains power connections must be installed by a Licensed electrician or suitability qualified person.

Errors and omissions excepted

Pre-Install Notes:


  • Wires don’t perform differently accordingly to its colours. However, we like to use as much as we can specify colours for specific purposes, such as Red for 24V DC and Black for GND. Having this good practice will help you to troubleshoot possible issues that might occur in the future.
  • Always use shielded cable for motors and drivers, this will minimize significantly electromagnetic interference, in consequence, this will permit you to run a job without any problem.
  • NEVER connect or disconnect any wire while power is applied. Failure to do the above will result in damage to the stepper drivers.
  • ALWAYS disconnect power before making any connections or disconnections.
  • If using our hardware, please follow the wiring guides below:



xPRO V5 Documentation

For configuring your xPRO-V5 controller with CNCjs, see the Software Configuration Guide below.

Please refer to the official documentation for the xPRO V5 on the Spark Concepts wiki https://github.com/Spark-Concepts/xPro-V5/wiki



24V DC Input Wiring

Important Note: Terminating any mains voltage supply must be done by a licensed electrician or similarly qualified individual.

If you received the xPro V5 Controller bundle with our Meanwell 24V power supply, please wire your system as shown below: Please wire V- from the power supply to GND on the xPro and V+ from the power supply to +24V on the xPro. The mains voltage must be wired by a licensed electrician or similarly qualified individual.

Please click the image to expand.


Stepper Motor Wiring:

Please click the image to expand.



Stepper Motor Wiring:

Click the image to expand.



Micro Limit Switch Wiring:

Connect the Blue lead into GND and the white lead to SIG. Please leave the middle pin blank.

Please click the image to expand.



Z Touch Probe Wiring:

Please click the image to expand.



XYZ Touch Probe Wiring:



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

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

Connect the probe to the probe port as shown below:


To configure the XYZ probe in CNCjs please have a look here


Emergency Stop / Door Sensor:

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

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

Ensure that the jumper in the xPRO-V5 is in the disabled (default) position. Wiring it this way will pause the program when activated. To use our NC switches with the xPRO-V5, please flash your xPRO with the CNC_xPRO_V5_XYYZ_PWM_NC.bin. located in the main firmware repository here. To flash this firmware, please refer to to the guide here.

Please click the image to expand.



0-10V Adjustment:


Please click the image to expand.



Plasma Cutter Connection

Please click the image to expand.



Bootloader Mode:

Please click the image to expand.



Configuring your xPRO-V5 with CNCjs

CNCjs is our recommended gcode sender for the xPRO-V5 and other GRBL based controllers download it here:

Please open the downloaded file and follow the installation prompts.

Download and install the CP210x driver for the xPRO-V5 in the link below: https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zip

Extract the file and run

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

Below shows you the different sections of the CNCjs gcode sender.

Click to expand image

  • The top left highlighted in green shows the connection widget. This allows you to select different firmwares and connect to your controller. In this case we will be using GRBL since the xPRO-V5 is a GRBL controller. Ensure that the GRBL option is ticked.
  • Below that in red is the Console. The console will be used to display to the user reports, error states and so on. You may also enter commands to change a setting directly in the console.
  • Underneath the console widget is the firmware widgets. These display overrides and other status reports. As we are only using GRBL, please remove the other widgets by left clicking on the 3 vertical dots and clicking remove widget. See the example shown below on how to remove them:



  • In the top right corner are your quick set commands to do homing, resetting the controller, unlocking your controller from an alarm state and sleep mode.
  • Below that, highlighted in blue are the axis commands. You can set the machine and working coordinates here.
  • Highlighted in yellow is the status report of your Gcode. You will be shown how long your gcode has left to finish running and work piece dimensions.
  • Highlighted in blue are your macro and probe widgets.

A USB type C cable is required for a wired connection to your computer. After connecting to the computer via USB, please open CNCjs and navigate to the connection widget and click on the refresh icon shown by the two arrows to check for controller connections.

Click to expand image


After this, please click on the down facing arrow in the Choose Port section.

Click to expand image



In our case, the COM port for our xPRO-V5 is COM16. Please note that the Manufacturer is Silicon Labs. Please click open and the controller will connect. Initially it will show the output below.

Click to expand image


Please click the reset button in the top left and the machine data will be displayed as shown. Now your controller is fully connected and communicating with the gcode sender. Please do not jog/move your machine yet. We will set up the controller first.

Click to expand image


Setting up your machine is quite straightforward. Below is a set of configuration files for each of our machine kits and these files contain our recommended settings for each machine from the working area to the motor current.

The quickest and easiest method to flash your controller with our recommended settings is by using a macro. The example below will use a WorkBee 1000 x 1000mm with High Torque motors. For now, please minimize CNCjs.

Firstly, please download the master configuration here. Please follow the guide below:

  • Unzip the Master Config file. In this config file is a number of folders corresponding to each of our machines. If you have a custom machine or different brand of machine, please contact us at sales@makerstore.com.au and our technicians will be able to assist you with your machine.
  • Navigate to the folder containing the brand of the machine series you own. The image below shows the list of machines in our inventory. For example if you own a WorkBee 1000 x 1000mm kit, please navigate to the WorkBee folder.


Click to expand image


  • Please locate the configuration file of the machine that you have. Please take note of the motors attached to your machines. We offer High Torque and Standard Torque motors.


Click to expand image


  • Please open the file and select all of its contents and copy them.


Click to expand image


  • Open CNCjs and navigate to the right hand side of the program. Please locate the macro widget. Please select the + icon highlighted in green to add a macro.


Click to expand image


  • Copy the contents of the configuration file into the Macro Commands field and click OK.


Click to expand image


The macro will now look like this:

Click to expand image


To flash your controller with these new settings, please make sure that the xPRO-v5 is still connected via USB and click the play button on the macro widget. The following window will show.

Click to expand image


Clicking Run will flash the controller with the machine settings. You will only need to do this once. You may edit the macro if there are certain changes you wish to implement.

A successful flash as shown below will show.

Click to expand image



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. Please see the correct convention below:

  • X+ = Right
  • X- = Left
  • Y+ = 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 first line If for example X is moving to the right when you click X-. please change it to $Stepper/DirInvert =X. If 2 axes are inverted for example X and Y, please change it to $Stepper/DirInvert =XY.


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, please change the locate $Homing/DirInvert in the second line and make it $Homing/DirInvert=Z.

The next time that you connect the controller to CNCjs, you must click Reset and then click unlock 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, please home your machine by selecting the Homing button in blue in the top right corner of CNCjs.


After the parameters have been set and any inverted axis fixed, the machine can be jogged by using the Axes panel. Here you can set the machine home, set your work position and move the machine in certain intervals. By clicking Z+, Z- , X+ X-, Y+ and Y-.

Click to expand image



If you are using our XYZ probe, please type in the console $Probe/Invert = on.

  • electronics/xpro_v5_motion_control_system.txt
  • Last modified: 2021/04/14 01:42
  • by Maker Hardware Team