Linuxcnc Hardware
Hardware to run the LinuxCNC software
A computer is required to run
LinuxCNC itself.
Minimum computer requirements can be found in the LinuxCNC docs: http://linuxcnc.org/docs/stable/html/getting-started/system-requirements.html
The most common is to use a x86 computer (standard Intel / AMD computer)
ARM computers such as the Raspberry Pi or Orange Pi can be used
Hardware Interface to CNC machine
There are multiple different ways to interface between
LinuxCNC controller software, and CNC hardware (such as stepper / servo drivers, limit switches, inputs and outputs etc.)
Interfaces include:
- Parallel Port
- Ethernet
- Ethercat
- PCI / PCIe
- SPI (where the computer has a native SPI interface, such as Raspberry Pi)
- USB (not realtime interface)
A mix of different interfaces can be used. For example, a combination of ethercat for servo drives, and parallel port for additional General Purpose Inputs / Outputs (GPIO)
Some of these solutions are usable for all aspects of hardware interfacing, and some have specific roles (e.g. non-realtime GPIO, for an operator inferface).
Parallel Port
Using onboard motherboard parallel port, or a PCI/PCIe
? parallel port card.
Parallel Port Software Interface
Realtime (time critical) tasks such as step generation are done in software on the
LinuxCNC host - this means the parallel port interface is much more sensitive to the
LinuxCNC computer's latency.
Advantages:
- Low cost
- Simple configuration
Disadvantages:
- Sensitive to the LinuxCNC computer's latency
- Limited inputs/outputs
- Some PCI/PCIe? parallel port cards do not work well or do not properly support the required EPP mode
Parallel Port FPGA Communication
Realtime (time critical) tasks such as step generation are done in hardware (not on the computer)
Mesa via Parallel Port
- Mesa use Field-programmable gate array (FPGA) interfaced via parallel port - e.g. 7i43
- Website: http://mesanet.com/ Store: http://store.mesanet.com/
Pico Systems via Parallel Port
- http://pico-systems.com/univstep.html
Ethernet
Mesa Ethernet
- Mesa cards with a Field-programmable gate array (FPGA), interfaced to LinuxCNC computer via Ethernet. Time critical (realtime) tasks are performed on the FPGA card.
- Multiple ethernet interface FPGA cards are available, with many expansion cards
- Website: http://mesanet.com/ Store: http://store.mesanet.com/
Remora Ethernet
- Realtime requirements are offloaded onto a controller board. Multiple differnet controller boards are supported - see Remora docs.
- Note that some of these controller boards (e.g. NVEM, EC300, EC500) are designed / sold for use with Mach3. Use with LinuxCNC requires flashing new firmware, which has been developed by the LinuxCNC community. The manufacturer does not support LinuxCNC.
- Expatria Technologies PicoBOB?-DLX was designed for LinuxCNC Remora.
- Remora docs: https://remora-docs.readthedocs.io
As of March 2024:
-
STM32 based controller boards
NVEM - an STM32F207 based board with Ethernet PHY chip, originally intended for Mach3. [No longer in production, Legacy Support - no new features]
EC500 - an STM32F407 based board with Ethernet PHY chip, originally intended for Mach3. [No longer in production, Legacy Support - no new features]
Expatria Technologies Flexi-HAL with uFlexiNET Ethernet adapter - an STM32F446 based board with W5500 Ethernet SPI adapter designed for Remora
iMX RT1052 based controller boards
NVEM, EC300 & EC500 - iMXRT1052 based controller boards with Ethernet PHY chip, originally intended for Mach3. [In active development]
RP2040 based controller boards
WIZnet W5500-EVB-Pico - Raspberry Pi RP2040 based development board with on-board W5500 Ethernet SPI adapter
Expatria Technologies PicoBOB-DLX - Raspberry Pi RP2040 based board with on-board W5500 Ethernet SPI adapter designed for Remora
Litex-CNC
- This project aims to make a generic CNC firmware and driver for FPGA cards which are supported by LiteX?. Configuration of the board and driver is done using json-files. The supported boards are the Colorlight boards 5A-75B and 5A-75E, as these are fully supported with the open source toolchain.
- Colorlight 5A-75B and 5A-75E cards are designed as a LED receiver card - it outputs to LED matrix panels. These cards have outputs only - hardware modification is required to enable use for inputs. Soldering required. Output buffers can be replaced with an input buffer.
- https://litex-cnc.readthedocs.io
- RealtimeIO? for LinuxCNC based on an FPGA
- Ethernet interface can be used with a Ethernet to SPI interface.
- https://github.com/multigcs/LinuxCNC-RIO
Ethercat
- Beckhoff EtherCAT(TM) and compatible systems can be made to work with LinuxCNC using the open source etherlab software.
- EtherCAT is the open real-time Ethernet network originally developed by Beckhoff.
- The EtherCat? master (LinuxCNC computer) uses a standard ethernet (network) interface - no special hardware is needed on the master. The slaves use special hardware.
- There are many EtherCat? slave devices available including servo drives, stepper drives, input, output interfaces, VFDs, and others.
- https://github.com/linuxcnc-ethercat/linuxcnc-ethercat
== PCI / PCIe
Mesa
- Mesa PCI / PCIe cards with a Field-programmable gate array (FPGA). Time critical (realtime) tasks are performed on the FPGA card.
- Multiple daughter / expansion cards are available
- Website: http://mesanet.com/ Store: http://store.mesanet.com/
== SPI
SPI = Serial Peripheral Interface. SPI interfaces can be found on single board computers like Raspberry Pi, or Orange Pi. SPI interface is _not_ generally present on standard computers (AMD/Intel?).
Remora SPI
Realtime requirements are offloaded onto a controller board.
https://remora-docs.readthedocs.io
<nowkik>LinuxCNC-RIO</nowiki>
RealtimeIO
? for
LinuxCNC based on an FPGA
https://github.com/multigcs/LinuxCNC-RIO
Mesa
Mesa cards with a Field-programmable gate array (FPGA), interfaced to
LinuxCNC computer via SPI. Time critical (realtime) tasks are performed on the FPGA card.
Example: 7C80 for Raspberry Pi
Website: http://mesanet.com/ Store: http://store.mesanet.com/
USB
USB devices cannot be used to control motors or perform other __"real time"__ tasks.
[LinuxCNC ArduinoConnector]?
This Project enables you to connect an Arduino to
LinuxCNC and provides as many IO's as you could ever wish for. This Software is used as IO Expansion for
LinuxCNC.
It is NOT intended for timing and security relevant IO's. Don't use it for Emergency Stops or Endstop switches!
Site: https://github.com/AlexmagToast/LinuxCNC_ArduinoConnector
OLD INFO
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 7i76E, 7i96, 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.
- [HobbyCNC]
- $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
- [Xylotex]
- $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.
- [PMDX-150]
- 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).
- [http://www.granite