A full-featured web-based interface for CNC controllers running Grbl, Marlin, Smoothieware, or TinyG.
CNCjs is a web-based interface for controlling CNC machines and 3D printers that run on firmware like Grbl, Marlin, Smoothieware, or TinyG. It allows users to send G-code commands, visualize toolpaths in 3D, and monitor machine operations from any modern web browser. The project solves the need for a flexible, cross-platform control solution that can be accessed remotely and extended with custom widgets and hardware pendants.
CNC hobbyists, makers, small workshop operators, and educators who use open-source CNC controllers and want a modern, browser-based control interface. It's also suitable for developers interested in extending CNC functionality with custom widgets or integrating with Raspberry Pi and other hardware pendants.
Developers choose CNCjs because it's a free, open-source alternative to proprietary CNC software, offering extensive hardware compatibility, a rich web-based UI, and strong community-driven extensibility. Its ability to run as a self-hosted server and support for multiple simultaneous clients provides flexibility not found in many traditional desktop applications.
A web-based interface for CNC milling controller running Grbl, Marlin, Smoothieware, or TinyG.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple open-source firmwares including Grbl, Marlin, Smoothieware, TinyG, and g2core, as listed in the README, making it versatile for various CNC and 3D printer setups.
Allows simultaneous connections from multiple clients via browser, enabling collaborative control and monitoring from any device, a key feature highlighted in the documentation.
Offers custom widgets, MDI command buttons, and multi-language interfaces, with boilerplate code and examples provided in the README for extensibility.
Includes 3D preview of G-code for error checking and planning, a core capability emphasized in the features section to prevent machine errors.
Requires Node.js 14 or higher with non-trivial installation steps, including warnings about serialport issues on platforms like Raspberry Pi, adding setup overhead.
Lacks integrated computer-aided manufacturing features; users must rely on external software like jscut for G-code generation, as noted in the examples section.
Demands manual setup via a .cncrc JSON file or command-line options, which can be cumbersome for users unfamiliar with server configuration and JSON syntax.