[Home]LinuxCNC Supported Hardware

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org

This page has been edited to reflect the agreement to rebrand (the earlier name) as LinuxCNC. (Remove this line after awhile).

Supported Hardware

The purpose of this page is to describe the electronics that interfaces your PC to your CNC machine. For information on selecting a PC to run LinuxCNC, please see Hardware Requirements. Not a definitive list, by far.
HardwareDesign - general notes on the hardware interface designs that work well with LinuxCNC

Commercial PCI/ISA cards

General Mechatronics: http://www.generalmechatronics.com/en/linuxcnc
DIN-rail mounted modular system
Servo-To-Go ISA: http://www.servotogo.com/
$888 for 8 axis model II card (8 encoder inputs, 8 DAC outputs, 32 bit I/O, 8 analog inputs)
Vital Systems Motenc-Lite Servo PCI 4-Axis Card and I/O Boards: http://www.vitalsystem.com/
7541: $595 includes 8 DAC outputs, 8 analog Inputs, 4 encoder inputs, 32 digital inputs, 16 digital outputs
7544: $495 includes 8 DAC outputs, 4 encoder inputs, 32 digital inputs, 16 digital outputs
Mesa Electronics Anything I/O boards (plus all the Servo & Stepper Daughter Boards, etc) http://www.mesanet.com/
The Anything I/O boards are all based on FPGAs, so they can be loaded with different firmware when LinuxCNC starts.
Firmware defines the number of encoders, PWMs, stepgens and General Purpose IO.
5i20, PCI, 200K gates, 72 I/O pins, $200
5i22, PCI, 1.0M or 1.5M gates, 96 I/O pins, $370-$430
5i23, PCI, 400K gates, 72 I/O pins, $230
5i25, PCI (low-profile) 2x25 IO pins on a DB25, expanding to 96 or more with daughter cards.
4i65, PC-104/Plus?, 200K gates, 72 I/O pins, $200
4i68, PC-104/Plus?, 200K or 400K gates, 72 I/O pins, $230 (for the 400K gate version)
3x20, PCI-Express, 1.0M or 1.5M or 2.0M gates, 144 I/O pins
look here for more info: mesa cards

Axiom Measurement & Control AX5214H 48 Channel Digital I/O Board (ISA): http://www.axiomtek.com/
$ price ?
Siemens EVOREG Motion Control Board?
$ price ?
Vigilant Products PCI-ENCDAC 4 Axis Controller and EXPDIG I/O boards: http://www.vigproducts.com
$1000 for 4 Axis Controller
Opto22 PCI AC5 adapter card- 48 points of I/O usually used with their relay racks.
$475 new, Ebay -a lot less! Details here:OptoPciAc5
Advantech ISA card
PCL-720 [1] You would be unlikely to choose this for a new build but this driver can make some retrofits easier.

Commercial Systems using the Parallel port as a data bus.

Pico Systems Universal Stepper Controller: http://pico-systems.com/univstep.html
$250 includes 4 step/dir outputs, 4 encoder inputs/counters, 16 digital inputs, 8 SSR sockets
$50 option adds a spindle speed DAC
an encoder input can be used for spindle-synchronized threading
Pico Systems PWM Controller: http://pico-systems.com/univpwm.html
$250 includes 4 pwm outputs, 4 encoder inputs, 16 digital inputs, 8 SSR sockets
$50 option adds a spindle speed DAC
an encoder input can be used for spindle-synchronized threading
Pico Systems PPMC Board Set: http://pico-systems.com/PPMC.html
$780 includes 4 16-bit dac outputs for +/- 10 V analog servo amplifiers, 4 differential or single-ended encoder inputs, 17 digital inputs, 8 SSR sockets
all-in-one package for analog servo retrofits
an encoder input can be used for spindle-synchronized threading
Using a NetMos parport card
Mesa Electronics 7i43: http://www.mesanet.com
$80. The 7i43 is an FPGA-based "Anything I/O" board. It has a Spartan3 FPGA (200K or 400K gates) and 48 I/O pins. LinuxCNC supports this board with the HostMot2 firmware, which is available in many different configurations providing encoders, PWM generators, step/dir generators, and general purpose digital I/O pins.
look here for more info: mesa cards

Ethernet based BUS Systems

Beckhoff EtherCAT(TM) and compartible systems can be made to work with LinuxCNC using the open source etherlab software. see etherlab for details

AB&T EpoCAT FR1000: http://www.bausano.net/en/hardware/ethercat/epocat-fr-1000.html
5 axes slave module EtherCAT(TM) compatible.
$550 includes 5 1MHz step/dir outputs,1 auxiliary analog output, 2 analog inputs, 12 digital inputs, 8 digital outputs, 1 probe input.

Mesa Electronics 7i92 and 7i80

CAN based BUS Systems

currently there is no known driver for LinuxCNC to connect to CAN based bus systems

Step & Direction Drives

Note: any Stepper-motor or servo-motor drive that accepts step/direction signals could be used with LinuxCNC. These are just some examples of inexpensive stepper/servo drives.
$54 ([3-axis EZ board] only) to $240 ([4-axis PRO board], parallel cable & 4 motors).
Step & direction signals on 25 pin D, selectable microstepping, 3A/phase.
Requires no break-out board, simplified installation. Board sold as a kit, assembly required (basic soldering skills needed)
Updated 6/24/16 - BrianV?, HobbyCNC.com
$155 (3-axis board only) to $525 (4-axis board, motors, and power supply).
Buffered step & direction signals, selectable microstepping, 2.5A/phase.
Gene Heskett says:
I'm using a 3 axis board myself, and have been since (the early) days, using a radio shack breakout board to remap the signals. Now particularly since hal now has mappable i/o pins, the pinout diffs between the Xylotex boards and other driver boards is a total non-issue & the rs232 breakout box isn't needed anymore. LinuxCNC even comes with a halfile made for the xylotex boards.
1 axis, 3A, bipolar, 1x/2x/4x/8x microstepping, idle current reduction, etc. Requires separate breakout board. $73/axis
[Gecko Drive]
Stepper drives and Servo drives.
$147 G203V Stepper Drive 7A 80V Short-circuit, Reversed-polarity, Over-temperature, Over-voltage protection.
2.5V, 3.3V and 5V logic compatible inputs, 350 kHz maximum Step pulse frequency.
[Motion Control Products MSD542].
1 axis, RMS 3A, microstepping drive. Looks identical to the Keling KL- 5042 (I think they are both Leadshine drives).
[Granite Devices]
Up to 160V 40A servo-drive cards for DC, AC, BLDC and linear servo motors.
For brush-DC servo motors, one drive can control two motors yielding cost around 100 euros/axis.
[stepperworld.com sp3]
3 axis stepper drive - sp3 from stepperworld.com. [pin setup]
Servo drives, both brush and brushless.
[Semis Co.]
Manufactures up to 12kW peak power analogue and STEP/DIR servo-drives.
stepper drives, breakout boards with relays, motors and more.
e.g. micro-steping 1 axis 2A 39 Euro, 4A 76euro, 3axis 2A 98 Euro nice quality (some items are kits, others are ready to use). Bigger drivers up to 10A/90V.
might be a good option if you live in Europe

PCI and PCIe Parallel Port Cards

Parallel port cards allow the addition of parallel ports beyond the built-in port on PC motherboards. These may be used for realtime functions such as software PWM and step/dir, or for user functions such as controlling coolant, tool changers, relays, etcetera. Nearly any card will work with pin changing functions (hal_parport), but very few cards are compatible with EPP, which is used with parallel port connected FPGA signal generators and controllers.

Startech (Sunix/SUN1888)


NetMos - Most parallel port cards use one of the NetMos chips

Breakout Boards, Power Supplies etc.

$41.60 C1G - Parallel Port Interface Card (For Geckos)
Toroid Transfomers and Power Supplies
$140 63VDC 600W with regulated 5VDC and 12 VDC input 120VAC or 240VAC
Breakout Boards and other accessories for step and direction controls


Variable Frequency Drives are generally used to drive three phase spindle motors. Variable-frequency drives are also known as adjustable-frequency drives (AFD), variable-speed drives (VSD), AC drives, microdrives or inverter drives. Since the voltage is varied along with frequency, these are sometimes also called VVVF (variable voltage variable frequency) drives. Since the spindle motor is often the only truly three phase component of a CNC machine, a VFD may be used to convert a machine to single phase by either using an overrated three phase input drive or a drive designed as a single phase input drive. Voltage conversion is also a common feature that can allow one to use, for instance, a 460 Volt motor from 240 Volt mains. See: http://en.wikipedia.org/wiki/Variable-frequency_drive

Common I/O are; the front panel,or digital inputs such as start, stop, forward, reverse, etcetera, along with analog speed as +/- 5 or 10 Volts, or Modbus RTU and Modbus Ethernet. For use with LinuxCNC, the digital, analog, and Modbus I/O are the most interesting.

VFD Digital/Analog Interface
VFD Modbus

Encoder & Resolver Interfaces

Pico Systems has a line of products to connect proprietary position feedback devices to LinuxCNC systems and others CNC controls.
[Fanuc Converter]
The original Fanuc "Red Cap" motors had quadrature encoders, but the commutation information was proprietary. They call these "Pulse Coders." We have a converter that converts these signals to standard "Hall" signals that can be used with Pico Systems brushless drives or other makes.
[Fanuc Serial Converter]
Fanuc Serial Pulse Coders give a serial data stream when interrogated. We have a converter that converts this data to quadrature with index, plus standard commutation signals.
[Resolver to Quadrature Converter]
Resolver to quadrature converter converts a brushless resolver to a quadrature resolution of 4096 counts/rev, with index.
[Panasonic Converter]
Panasonic converter for MUMS-series motors. Again, they have proprietary commutation info, this converts it to industry-compatible "Hall" signals.

Human Interface


DIY hardware known to work with LinuxCNC

The open-source [LiniStepper motor driver] is known to work with LinuxCNC: [video of a Linisteppers driving a Sherline 2000], [configuration settings] It is Microchip PIC based and supports full, half (at full power), as well as 6th and 18th microstepping with linear smoothing, for small to medium sized Unipolar motors. The [source], [circuit], and several [user contributed board layouts] are available as well as [full kits] with pre-programmed PIC chips. It uses [PMinMO connector] so you can mix and match with the drivers and BOB's from [PMinMO] including those listed below.
L297/L298 stepper driver
A single-sided board based on the L297/L298 chipset. up to 46V supply, 2A/motor, constant-current chopper. For bipolar motors. Half- or full-stepping with step and direction inputs. PDF format for DIY pcb. Thru-hole components. [PMinMO.com L297-8]
A three axis driver based on the L297/L298 chipset. Available as a kit (THT) or PCB only (double-sided board, industrial quality). Up to 43V supply, 2A/motor, constant-current chopper. For bipolar motors. Half- or full-stepping with step and direction inputs.[mechapro 3D-Step]
[Pluto-P Servo]
An FPGA board with open-source firmware and LinuxCNC driver. 4x20kHz PWM, 4x8MHz quadrature, 10+ digital outputs, 8+ digital inputs. Uses EPP parallel port. Needs compatible servo amplifiers (up/down or pwm+direction input), such as L298 servo driver (below)
L298 servo driver
A single sided board based on the L298 H-bridge. Up to 46V supply, 2A/motor. For DC servo motors with TTL-level encoder outputs. Driven by PWM input. PNG images of schematic. So far this has only run cradek's lathe experimentally, but the results are good and with the new parallel port "x mode" (8 outputs, 9 inputs, supported on some but not all parallel ports) it may be possible to run a 3 or 4 axis machine with this scheme. http://emergent.unpythonic.net/projects/01142347802
A diagram of the hal connections in the etch-servo hal example distributed with LinuxCNC is available upload:EtchHalDiagram.pdf .
Medium Current Quadrature Drive Servo System
This is a full servo board up to 7amp +-24v. Its on board DSPic processor reads quadrature position signals from LinuxCNC stepgen type 2 and uses an onboard PID loop driving a current amplifier to keep the actual position close to the commanded position. Drive setup is through a serial port. It is best suited for 12 to 25 volt dc/servo motors with TTL encoders. Pic source code is GPL. PCB eagle project provided as well as milling and drilling G code files for machining the board with LinuxCNC. http://members.shaw.ca/swstuff/dspic-servo.html
AVR (in very early development)
Parallel port to AVR fast hardware signal generator and counter
Might be used for a parallel port interface similar to the AVR above, but faster. May also be fast enough to run Linux, RTAI and/or LinuxCNC by itself, such as on a Beagle Board.
May be the ultimate in LinuxCNC peripheral speed. Popular for PCI and parallel port I/O interface cards. This page explores this technology to see if it might be useful to the beginning developer, integrator or DIY'er.
Bridges - Half, Full, Three Phase
Power drivers for switched and PWM control of motors or other high voltage or high current loads

Toy designs

Low-current stepper driver
A single-sided board based on the ULN2803 darlington chip. Simple, but very low current, <500mA/motor. Not recommended for anything but a toy. Half- or full-stepping with 4 winding activation signals per axis. PNG images of schematic and board. This design could be adapted to drive 3-axes, because there are 12 available outputs. http://axis.unpythonic.net/etchcnc

RC Servo Test
I can't think of any CNC application, but LinuxCNC's PWM and pyVCP can be used to test RC servos.

other hardware we've heard about, but we don't know if it will work or not

Hardware that doesn't work

What about the machines?

If you want to see pictures of big iron, check out the Case Studies page

LinuxCNCKnowledgeBase | RecentChanges | PageIndex | Preferences | LinuxCNC.org
This page is read-only. Follow the BasicSteps to edit pages. | View other revisions
Last edited January 5, 2017 11:53 am by Andyough (diff)
Published under a Creative Commons License