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.

Important Note: Inputting a higher voltage than 24V into the xPRO-V5 controller will lead to irreversible damage! Please use a high quality 24V power supply like our 24V Mean Well power supply.


If you received the xPro V5 Controller bundle with our Meanwell 24V power supply, wire your system as shown below: Connect 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.


With the power supply, you would have received a power supply cover. This power supply cover will protect against contact with the mains voltage connections on the power supply. In the bag will be the power supply and an M4 x 10mm button head screw. Please follow the installation instructions below:



Please click the image to expand.




Please click the image to expand.




Please click the image to expand.




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. 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. Leave the middle pin unconnected.

Connect the probe to the probe port as shown below:


To configure the XYZ probe in CNCjs 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 in line 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, 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 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:

Open the downloaded file and follow the installation prompts.

Download and install the CP210x driver for the xPRO-V5 here.:

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 firmware 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 warnings, 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. This display overrides and other status reports. As we are only using GRBL, 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 workpiece dimensions.
  • Highlighted in blue are your macro and probe widgets.

A USB type C cable is required for a wired connection to your computer. Please make sure that it is a USB type A to USB type C cable. A USB type C to USB type C will not work. After connecting to the computer via USB, 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, 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. Note that the Manufacturer is Silicon Labs. Click open and the controller will connect. Initially it will show the output below.

Click to expand image


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. 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, minimize CNCjs.

Firstly, download the master configuration here. 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 a different brand of machine, 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, navigate to the WorkBee folder.


Click to expand image


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


Click to expand image


  • 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. Locate the macro widget. 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, 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. 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 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.


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 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, 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, type in the console $Probe/Invert=On.

Safety Statement Before starting please read through all the instructions. Note : Any Mains power connections must be installed by a Licensed electrician or suitability qualified person. The laser safety goggles MUST be worn whenever the laser unit’s power supply is turned on.

CNCjs is recommended for controlling the laser. You may generate the gcode from GRBL laser and then open the gcode in CNCjs It is recommended to wear your safety glasses whenever your laser module has its power supply turned on.

The 2.5W and 15W diode lasers are built for a variety of custom laser applications so custom wiring will be required. These laser kits can be adapted for use in CNC applications with longer cables and custom mounting hardware.

To connect the laser to the Maker Shield, you will only need to connect the signal wires from the laser control board to the Maker Shield controller. All other connections are already pre-done. Locate the TTL signal port circled in orange as shown below:

TTL+ connects to the PWM connector and TTL- connects to GND on the TOOLHEAD connector port as illustrated below. The lime green wire corresponds to TTL- (Black wire) and the red wire corresponds to TTL+.

Flash the xPRO with the appropriate firmware.

In the CNCjs software, you can enable the laser mode by typing the following commands in the console:

  • $Spindle/Type=Laser
  • $Gcode/LaserMode=ON
  • $31=1.
  • electronics/xpro_v5_motion_control_system.txt
  • Last modified: 2022/10/03 05:24
  • by Maker Hardware Team