CNC controller Mk3/4


This product is available in our web shop: CNC controller Mk3/4.


PlanetCNC hardware:
PlanetCNC series of USB CNC motion controllers serve as a link between a personal computer and motor drivers that support step/direction control. PlanetCNC series of motion controllers are compatible with most motor drivers. Controllers use the USB or Ethernet port, available on all modern computers and laptops. PlanetCNC motion controllers can serve as direct replacement or upgrade for many parallel port breakout boards.

PlanetCNC software:
PlanetCNC motion control system provides a complete, fully integrated software/hardware solution. Additional machine control software is NOT required. The PlanetCNC TNG motion control software is a dedicated application, designed to fully exploit the features of the purpose-built hardware. It has many advanced features to assist day-to-day CNC machine operation.

PlanetCNC controllers are compatible only with PlanetCNC motion control software and vice versa.

Features and specifications

PlanetCNC TNG sofware

  • works with PC/Laptop running :
    • Windows 7,8 or 8.1, 10, 11 (32 bit or 64bit)
    • Linux 64-bit OS
    • Intel based iMAC with High Sierra or newer OS
  • Raspberry Pi 3 and Pi4 running Raspbian
  • advanced interpolation algorithms for smoother motion and toolpath optimization
  • standard RS274/NGC G-code
  • advanced G-codes - G40, G41, G42 (Cutter Radius Compensation) supported
  • advanced G-codes - G43, G49 (Tool Length Offsets) supported
  • advanced G-codes - G54, G59.3 (Coordinate System Origins) supported
  • tested with SolidCAM, MasterCAM, ArtCAM, SheetCAM, Vectric, DeskProto, CamBam, MeshCAM, LightBurn… generated G-code
  • Profili2 and DevFoam 4-axes and 3-axes G-code for foam-cutting supported
  • import toolpath from DXF files
  • import toolpath from PLT/HPGL files
  • import toolpath from SVG files
  • import toolpath from image files
  • import toolpath from CSV files
  • import toolpath from NC-Drill (Excellon) files
  • import toolpath from Gerber (RS-274X) files
  • export toolpath to G-code
  • export toolpath to DXF
  • export toolpath to CSV
  • automatic homing procedure
  • multiple languages supported
  • import of language files supported
  • built-in support for manual and automatic toolchange procedure
  • import of backup machine profile supported
  • export of backup machine profile supported
  • multiple view of toolpath supported
  • built-in manual gcode editor supported
  • gcode program line bookmarking supported
  • gcode program line search tool supported
  • MDI command history supported
  • Transformation of gcode program supported (Transformation from points)
  • Gcode program manipulation tools supported (Shift, Scale, Mirror, Rotate…)
  • Warp supported (curved surface compensation)
  • Copy and swap tools for XYZ, UVW axes supported
  • Machine Start, Stop, Pause, Estop control supported
  • Start from selected program line supported
  • Start from beginning to bookmark supported
  • Start from bookmark to bookmark supported
  • Start from bookmark to end supported
  • gcode program loop execution supported
  • Mist control supported
  • Flood control supported
  • Spindle CW, CCW control supported
  • digital outputs control supported
  • axis motor enable control supported
  • soft limits supported
  • hard limits supported
  • probe trigger for simulation purposes supported
  • tool table with integrated feed&speed calculator supported
  • tool length measurement supported
  • G28 and G30 home positions supported
  • unwind tool for ABC rotational axes supported
  • work position measure height supported
  • coordinate systems supported
  • coordinate systems edit table supported
  • built in machining cycles supported
  • probe measure procedures supported (inside, outside corner, edge, edge angle, hole center, slot, protrusion measurement)
  • point measurement supported
  • camera supported
  • user commands supported
  • gcode scripts for flexible machine behavior supported
  • Expression file advanced functions supported
  • USB file for advanced USB communication of external equipment supported
  • Python scripts for advanced external processes supported
  • backlash compensation
  • customization of GUI supported
  • SDK (software developers kit) available

PlanetCNC motion control system requirements

Minimum system requirements

  • 1 GHz or faster processor
  • 512MB RAM
  • 500 MB available hard disk space
  • Graphics with OpenGL support
  • USB 2.0 or 3.0 port
  • .NET Framework 3.5 SP1
  • 2 GHz or faster processor
  • 2GB RAM
  • 500 MB available hard disk space
  • Graphics with OpenGL support
  • USB 3.0 port
  • .NET Framework 3.5 SP1

Mk3/4 - 4 axis USB CNC controller

  • USB connection
  • 4 STEP & DIRECTION axis outputs for stepper and servo motors
  • 110 kHz maximum step frequency, configurable minimum pulse width, 50% duty cycle at higher frequencies
  • 3 digital outputs on board (configurable as: TTL, frequency, PWM or RC servo motors signal outputs)
  • additional inputs and outputs with ExtInOut boards available(currently up to 32)
  • jogging keyboard supported
    • Speed potentiometer, shift, step and ALT features are supported
  • 4 limit switch inputs with shift feature (buffered for maximum performance)
  • 4 digital inputs
    • Buffered for maximum performance
    • Tool length sensor configuration supported
    • Movable sensor configuration supported
    • Measure probe configuration supported
  • Dedicated Inputs for spindle encoder and index signals for spindle synchronization (buffered for maximum performance)
  • Wireless MPG pendant support
  • I2C protocol interface supported
  • UART protocol interface supported
  • SSP protocol interface supported
  • CAN interface (currently in development)
  • Onboard screw terminal connectors for easier connection of motor drivers, inputs and outputs

Hardware installation

Installation of PlanetCNC Mk3/4 controller requires a USB equipped PC or a laptop, along with motor drivers appropriate to the motors in use. The Mk3/4 controller is compatible with the vast majority of motor drivers that use step/direction signals.

Optional support hardware can be employed to customize installation to suit user requirement. Such as opto isolative adapter boards for safer and robust connection with external equipment.

For maximum flexibility in controller layout, a ribbon cable and plug kit is available. This aids the construction of longer cables and ensures plug-in connections correspond to the USB CNC Controller pin outs.

IMPORTANT: Controller should be powered with an external power supply. Mk3/4 - 4 Axis controller hardware requires 8 - 24V DC supply. Power supply should be at least 200mA.

Mk3/4 - 4 axis CNC USB controller description

Mk3/4 AXIS connector

Each connector controls one motor driver. Controller has 4 connectors for axes 1-4.

Pins 2, 4, 6,7, 8 and 10 provide the ‘Ground’ or common side of connections.

All signals are also available on screw type connector and 25 pin header.

Axes are usually named like this: Axis 1=X, Axis 2=Y, Axis 3=Z…

On some machines this can be different. For example foam cutter uses names such as Axis 1=A, Axis 2=Y, Axis 3=U, Axis 4=V. Lathes use Axis 1=Z, Axis 2=X. Configuration of axes, as well as their naming can be set in File/Settings/Axes.


+5V: +5V power. Motor drivers can take power for logic circuit or common anode connection from the USB controller.

STEP: Provides a STEP signal of minimum 12 us pulse width to the motor driver.

DIR: Provides DIR or DIRECTION signal to the motor driver.

ENABLE: Provides an ENABLE signal for motor drivers. When the ENABLE signal is lost due to output command, E-Stop or limit switch activation, motor drivers will deactivate. A dedicated E-Stop switch connected to the CTRL or INPUT connector can control the signal. It can also be operated by limit switch activation, software command or on shutdown of the control software. This arrangement provides a useful safety feature that can be user-configured to operate under manual and/or computer control.

GND: Ground connections

Mk3/4 JOG connector

Switched operation of JOG 1-8 controls manual jogging. Jogging keyboards can use a ‘SHIFT’ key, allowing Mk3/4 controller users to jog additional axes or toggle the option of jog ‘step’ mode. ‘SHIFT’ key function is defined in settings, as is the ‘step’ value for each key press. Jogging directions and axis assignment can be defined in 'settings'.


A typical use might be as below: JOG 1: Jog Axis 1 in negative direction.

JOG 2: Jog Axis 1 in positive direction.

JOG 3: Jog Axis 2 in negative direction.

JOG 4: Jog Axis 2 in positive direction.

JOG 5: Jog Axis 3 in negative direction.

JOG 6: Jog Axis 3 in positive direction.

JOG 7: Jog Axis 4 in negative direction.

JOG 8: Jog Axis 4 in positive direction.

SHIFT: Toggles 'step' jog mode or jogging for additional axes.

ALT1: Selects different jog mode

ALT2: Selects different jog mode

+3.3V: Power for jogging speed POT

POT: Jogging speed POT

GND: Ground connections

Mk3/4 LIMIT connector

LIMIT 1-4 connects limit switches. Switches are connected between LIMIT pin and GND pin.

LIMIT 4: Axis 4 positive and negative limit.

LIMIT 3: Axis 3 positive and negative limit.

LIMIT 2: Axis 2 positive and negative limit.

LIMIT 1: Axis 1 positive and negative limit.

GND: Ground

Mk3/4 controller requires 'Single Input' mode.
SINGLE INPUT: Both axis limit switches are connected to one pin. Direction of travel determines if positive or negative switch is triggered.

If 'normally open' (NO) type switches are used, wiring must be done in parallel method, if 'normally closed' (NC) type switches are used, wiring must be done in serial method. Software 'Invert' options allow use of ‘normally closed’ or ‘normally open’ switch hardware. This feature can be set in File/Settings/Limit/Invert

Mk3/4 CTRL connector

This connector provides inputs for use of MPG pendant devices and E-Stop. Spindle speed encoder for spindle synchronization can also be connected. GND pins provide ‘Ground’ or common connections.

An E-Stop switch attached to this connector can be configured in software to activate/deactivate EStop. E-Stop switch hardware for use with this connector can be NC (Normally Closed) or NO (Normally Open). If NC is used, 'Invert' feature must be enabled in 'settings'. Locking switch is recommended.


E-STOP: E-Stop

IDX: Index signal for spindle synchronization

ENC A: Encoder for spindle synchronization

ENC B: Encoder for spindle synchronization

GND: Ground

MK3/4 INPUT connector

This connector provides input for user-assigned functions.


IN4: Assignable input 4

IN3: Assignable input 3

IN2: Assignable input 2

IN1: Assignable input 1

GND: Ground

Mk3/4 OUTPUT connector

This connector provides 3 digital outputs for control of external devices. The optional ‘Output board’ links to the Mk3/4 controller using this connector. Output assignment is controlled in software.


OUT 6: Digital Output

OUT 2: Digital Output

OUT 1: Digital Output

GND: Ground connections

+5V: +5V supply

OUT 1, 2 and 6 can generate PWM signal, RC servo signal or frequency modulation.

Mk3/4 26 pin header

Pin 1: ENA

Pin 2: STEP 1

Pin 3: DIR 1

Pin 4: STEP 2

Pin 5: DIR 2

Pin 6: STEP 3

Pin 7: DIR 3

Pin 8: STEP 4

Pin 9: DIR 4

Pin 10: E-STOP

Pin 11: LIMIT 1

Pin 12: LIMIT 2

Pin 13: LIMIT 3

Pin 14: OUT 6

Pin 15: IN 1

Pin 16: OUT 1

Pin 17: OUT 2

Pin 18: NC

Pins 19-25: GND

Pin 26: NC/+5V

EXT connector

This connector allows use of EX, I2C and UART protocol devices.

CLK: EXT CLK signal


SCL: I2C SCL signal

TX: UART TX signal

+5V: +5.0V supply



SDA: I2C SDA signal

RX: UART RX signal

GND: Ground

CAN connector

This connector allows use of CAN protocol devices.

GND: Ground


+5V: +5.0V supply

+5V: +5.0V supply


GND: Ground

Mk3/4 USB connector

The Mk3/4 USB CNC controller connects to computer via the USB port. The port uses the USB 2.x standard.

Mk3/4 Power terminal

The controller should be powered with an external power supply.
Mk3/4 - 4 Axis controller hardware requires 8 - 24V DC supply
Power supply should be at least 200mA

Mk3/4 LED indicators

The user is provided with helpful feedback and live ‘status’ information via on-board LED indicators.

There are four indicators:

POWER: Lights when the controller is powered.

DATA: Indicates controller functions.

LINK: Indicates controller communication.

STATUS: Blinks to indicate controller function is ‘good’.

Connection diagrams

Wiring of limit switches

Mk3/4 controller has 4 designated limit switch inputs. This means that 'Single Input' method of wiring must be used. When 'Single input' method is used, both limit switches are connected to one limit pin.

Mk3/4 uses screw type connectors which makes the connection even simpler.

Parallel wiring of NO type switches:

Serial wiring of NC type limit switches:

Wiring inputs of Mk3/4 controller

Mk3/4 has 4 assignable inputs. Bellow is wiring diagram of switch/button, connected to Mk3/4's assignable input. Inputs function is assigned in settings.

Connection motor driver to Mk3/4 controller

Wiring diagrams for COMMON CATHODE and COMMON ANODE connection of motor driver:

In-depth connection guide for different types of motor drivers can be found here: How to connect motor drivers

Picture bellow demonstrates the connection of 2.5A Motor driver to Mk3/4 controller and connection of stepper motor and power supply to 2.5A motor driver. Since this motor driver uses 10-pin header and ribbon cable, connection is pretty much trivial:

Picture bellow demonstrates connection of motor driver to Mk3/4 controller and connection of controllers external power supply:

  • use double-shielded USB cable, with its length not exceeding 1.8m
  • Mk3/3 controller should use dedicated power supply, 8-24VDC, 200mA
  • use shielded cables for connection of motor drivers and stepper/servo motors
  • for safer and robust connection of limit switches and control inputs, probes, sensors use OptoIso 3/4 adapter board
hardware/controllers/contr-mk34.txt · Last modified: 2024/05/27 10:39 by andrej

Page Tools