USB CNC controller – Pokeys57CNC

Nowadays, one cannot imagine production processes without the use of computer numerical control (CNC) machines, controlled with USB CNC controllers,

These machines drive the production of complex and precisely dimensioned objects out of a variety of materials. Let it be a mill, a lathe, EDM, or a plasma cutter, the precise positioning of the work tool is controlled and supervised by a CNC controller, which generates signals that turn or move the actuators (motors) of the machine. Now, let’s talk about USB CNC controllers more specifically…

USB CNC controllers

Smaller CNC machines often use a standard off-the-shelf PC and a customized interface to motor drivers. Parallel (LPT) port-based CNC motion controllers were highly popular in the past, driving a widespread of hobby CNC machines and a plethora of various affordable LPT motion controllers, which were also used in smaller and medium-sized commercial CNC machines.

In the 2010s, parallel ports are becoming extinct and simple solutions to interfacing a standard PC with a CNC machine are becoming rare. Here the USB comes to play….

usb cnc controller
PoKeys57CNC as USB CNC controller








USB communication bus is a standard bus that all newer PCs are equipped with. It is therefore logical that these ubiquitous high-tech high-speed buses can be utilized for the use with CNC machines, right?

Right! But unlike LPT ports, where CNC motor control signals can be directly connected to, usage of USB requires the use of a USB CNC controller device, which can communicate with the computer over a standard USB bus on one end and exposes standard CNC machine-related signals on the other end.

Due to increased communication overhead and non-realtime behavior of the USB bus, these USB CNC controllers must also take over all low-level machining operations, like homing, probing, etc.

Moreover, in the times of LPT port usage, PC software was in charge of producing every single pulse for the motors, and failing in doing so for a short period (due to the operating system needing to focus on something else) caused the dreaded missed steps and machine lost the position, resulting in damage to the workpiece and/or machine.

USB changes that by implementing so-called buffered motion.

The USB CNC controller is constantly loaded with required motion trajectory data in advance, so that it knows where to move despite the short communication outages. The result is the smooth and reliable operation of the machine.

PoKeys as USB CNC controller

Although PoKeys devices are general-purpose USB IO interfaces, PoKeys devices contain specialized support for the control of CNC machines.

When used in conjunction with CNC software, PoKeys devices get detailed instructions from the software, running on the PC, and generate the required number of pulses in a specified direction for each motor.

PoKeys devices also constantly monitor limit switch states and stop the machine immediately if any of the configured switches trip. Since this is implemented in the device itself, the response is immediate and does not rely on the PC software, increasing reliability and safety.

At the same time, various user-interface controls can be connected to PoKeys devices – multiple MPGs (manual pulse generators), LCD, switches, indicators, etc.

If custom logic is required, an integrated programmable logic controller is included in each PoKeys device.
See Using PoKeys as PLC (Programmable Logic Controller)

Follow the tutorials below on how various PoKeys devices can be used as CNC controllers.

  • PoKeys57U as USB CNC controller – step by step guide (coming soon)
  • PoKeys57CNC as USB/ethernet CNC controller – step by step guide

Supported software.



Mach3 CNC software
USB CNC controller – Mach3 with PoKeys plugin


Mach4 CNC software
USB CNC controller – Mach4 with PoKeys plugin

PoLabs is actively developing plugins for Mach CNC software. The plugins for Mach3 and Mach4 are free to download and use with PoKeys devices.

The plugins enable the PoKeys devices to be used as motion controllers and/or general-purpose IO (Input/Output) interface, making a PoKeys device a highly versatile and customizable solution for hobby and professional CNC machines.


Advantages of using PoKeys as a USB CNC Controller


  • One USB port required: now, a small laptop can be used to run the complete CNC machine. The single connection also means easier maintenance and upgrades
  • No more glitches from the LPT port: PoKeys device can handle short communication outages without affecting the CNC machine performance.
  • Myriad of additional inputs and outputs: MPGs, LCD, switches, selectors, potentiometers, etc. can all be connected to PoKeys device and used to control the machine
  • Integrated programmable logic controller: what to say more? Using PoKeys as PLC (Programmable Logic Controller)


What about the disadvantages?

.PoLabs receives a lot of valuable feedback from users, which is constantly used to upgrade the functionality of PoKeys devices. Feel free to contact PoLabs in case of any concerns or problems.

Leave a Reply