User Tools

Site Tools








CNC USB controller Mk3DRV


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

Mk3DRV - 4 axis USB CNC controller

  • USB and Ethernet 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 (3 digital outputs configurable as:TTL, frequency, PWM or RC servo motors signal outputs)
  • additional inputs and outputs with ExtInOut boards available(currently up to 32)
  • 4 limit switch inputs protected with optocoupler(buffered for maximum performance)
  • 2 digital inputs
    • Buffered for maximum performance
    • Protected with optocoupler
    • Tool length sensor configuration supported
    • Movable sensor configuration supported
    • Measure probe configuration supported
  • Dedicated Inputs for spindle index signal for spindle synchronization (buffered for maximum performance)
  • Wireless MPG pendant support
  • I2C protocol interface supported
  • SSP protocol interface supported

Hardware installation

Installation of PlanetCNC Mk3DRV controller requires a USB equipped PC or a laptop, along with 24VDC power supply and stepper motors.


Mk3DRV 4 axis controller is compatible only with PlanetCNC TNG motion software!

Mk3DRV 4 Axis controller requires external 24V DC supply! (Power supply should be at least 100W) Wrong power supply voltage will permanently damage controller!

Mk3DRV - 4 axis CNC USB controller description

Mk3DRV MOTOR terminal

Each motor terminal allows for connection of 1 stepper motor. Controller has 4 motor terminals for axes 1-4.

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.


1A: Motor Phase 1 connection terminal. Connect motor A wire to A Pin

1B: Motor Phase 1 connection terminal. Connect motor B wire to B Pin

GND(shield): Provides GND terminal for connection of shield of motor cable

2A: Motor Phase 2 connection terminal. Connect motor A wire to A Pin

2B: Motor Phase 2 connection terminal. Connect motor A wire to B Pin

Mk3DRV LIMIT terminal

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

NORMAL: Each switch is connected to its own pin.

LIMIT 1: Axis 1 limit.

LIMIT 2: Axis 2 limit.

LIMIT 3: Axis 3 limit.

LIMIT 4: Axis 4 limit.

24VDC: 24VDC terminal

Number of limit terminals is omitted to 4. User needs to use single input connection of limit switches. 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.

More about limit switch configuration in TNG: How to connect and set limit switches

Mk3DRV INPUT terminal

Switches are connected between input pin and GND pin.

IN2: Assignable input 2.

IN1: Assignable input 1.

IDX: Index signal for spindle synchronization.

EST: E-Stop.

GND: Ground.

Mk3DRV OUTPUT terminal

OUTPUT6: Digital output 6.

OUTPUT2: Digital output 2.

OUTPUT1: Digital output 1.

+5V: Power supply.

GND: Ground.

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

Mk3DRV EXT terminal

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

CLK: EXT CLK signal


SCL: I2C1 SCL signal

TX: UART1 TX signal

+5V: +5.0V supply



SDA: I2C1 SDA signal

RX: UART1 RX signal

GND: Ground

Mk3DRV USB connector

The Mk3DRV USB CNC controller connects to computer via the USB port. The port uses the USB 2.x standard.

Mk3DRV Power terminal

The controller should be powered with an external power supply.
Mk3DRV controller hardware requires 24V DC supply
Power supply should be at least 100W.

Mk3DRV 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

Mk3DRV controller has 4 dedicated limit switch inputs. User should use 'Single Input' method of wiring.

-When 'Single input' method is used, both limit switches are connected to one limit pin. Either parallel wiring of NO switches or serial wiring of NC switches can be used.

Parallel wiring of NO type switches:

Serial wiring of NC type limit switches:

Wiring inputs of Mk3DRV controller

Mk3DRV controller has IDX, E-Stop and 2 assignable inputs. Bellow is example of wiring of switch connected to Mk3DRV assignable input. Inputs function is assigned in settings.

Connection of stepper motors with Mk3DRV controller

Stepper motor is connected to controllers Motor connector output pins: 1A, 1B and 2A, 2B.Terminal GND is meant for connection of motor cables shield.

Microstepping and current configuration of stepper motor drivers

Both parameters are set trough PlanetCNC TNG software settings. These parameters are located in: File/Settings/Motor Drivers


User can choose between 1/1 step mode (full step) and 1/32 step mode (32 micro steps).


User can set motor drivers current value using “+” or “-” buttons or typing current value directly into “Current” window. Minimal recommended value is 0.5A, maximal value is 2.5A

  • use double-shielded USB cable, with its length not exceeding 1.8m
  • Mk3DRV controller should use dedicated power supply, 24VDC, 100W
  • use shielded cables for connection of probes, limit switches and stepper motors
hardware/controllers/contr-mk3drv.txt · Last modified: 2023/11/29 12:26 by planetcnc

Page Tools