Machinekit is a platform for machine control applications.
Machinekit is portable across a wide range of hardware platforms and real-time environments, and delivers excellent performance at low cost. It is based on the HAL component architecture, an intuitive and easy to use circuit model that includes over 150 building blocks for digital logic, motion, control loops, signal processing, and hardware drivers. Machinekit supports local and networked UI options, including ubiquitous platforms like phones or tablets.
This free and open source software is no longer under active development.
Key Features
- Control machine tools, robots, or other automated devices. It can control servo motors, stepper motors, relays, and other devices related to machine tools.
- There are four main components to the Machinekit software:
- a motion controller (EMCMOT)
- a discrete I/O controller (EMCIO)
- a task executor which coordinates them (EMCTASK)
- and one of several graphical user interfaces.
- Layer called HAL (Hardware Abstraction Layer) which allows configuration of Machinekit without the need of recompiling.
Website: github.com/machinekit/machinekit-cnc
Support:
Developer:
License: GNU General Public License (some portions GNU Lesser General Public License)

Machinekit is written in C, C++ and Python. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials. Learn Python with our recommended free books and free tutorials.
Related Software
| CNC Software | |
|---|---|
| Universal Gcode Sender | gcode platform used for interfacing with advanced CNC controllers |
| LinuxCNC | Drive milling machines, lathes, 3d printers, laser cutters, ... |
| CNCjs | Web-based interface for CNC milling controller |
| gSender | Connect to and control Grbl-based CNCs |
| OpenCamLib | Library providing computer aided manufacturing (CAM) algorithms |
| bCNC | Cross-platform Python application for CNC machines |
| Kiri:Moto | Browser-based Slicer for 3D printers, CNC mills, and Laser cutters |
| OpenBuilds CONTROL | Connect and control your CNC, Laser, Plasma or Dragknife machine |
| Luban | 3-in-1 software tailor-made for Snapmaker machines |
| Inkcut | Control 2D plotters, cutters, engravers and CNC machines |
| Rayforge | Laser cutters and engravers tool |
| MeerK40t | Laser cutting software |
| CAMotics | 3-axis CNC GCode simulator |
| Machinekit | Platform for machine control applications |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

