CNCjs
Self-HostedOpen-source CNC controller for DIY and professional machining
Overview
CNCjs is a web-based, open-source CNC machine controller enabling remote operation and monitoring of machining setups. It supports Grbl, Smoothie, and Marlin firmware, offering real-time G-code visualization, jog controls, macro commands, and spindle management. Deployable via Node.js or Docker on Raspberry Pi, Linux, macOS, or Windows, it features a responsive UI for mobile/desktop use. Ideal for DIY enthusiasts and small workshops, it allows custom workflows and integrates with hardware like touch probes.
Self-Hosting Resources
Below is a reference structure for docker-compose.yml.
⚠️ Do NOT run blindly. Replace placeholders with official values.
version: '3'
services:
cncjs:
image: <OFFICIAL_IMAGE_NAME>:latest
container_name: cncjs
ports:
- "8080:<APP_INTERNAL_PORT>"
volumes:
- ./data:/app/data
restart: unless-stopped Key Features
- Web-based interface for remote CNC machine control
- Real-time G-code visualization and jogging
- Support for Grbl, Smoothie, and Marlin firmware
Frequently Asked Questions
? Is CNCjs hard to install?
CNCjs is relatively easy to install—options include npm (Node.js package manager) or Docker containers. For Raspberry Pi users, pre-configured scripts are available. Basic command-line or containerization familiarity helps, but detailed documentation simplifies the process.
? Is it a good alternative to Mach3?
Yes, CNCjs is a strong open-source alternative to Mach3. It offers web-based remote control (Mach3 lacks native support), cross-platform compatibility, and a modern UI. However, Mach3 has more integrated CAM features, so CNCjs is better for those prioritizing self-hosted flexibility over CAM integration.
? Is it completely free?
CNCjs is 100% free and open-source under the MIT License. There are no subscription fees or paid tiers—you can use all features without cost and modify the code to fit your machining needs.
Top Alternatives
People Also Ask about CNCjs
Tool Info
Pros
- ⊕ Self-hosted for full control over machining data
- ⊕ Cross-platform deployment (Raspberry Pi, Linux, macOS, Windows)
Cons
- ⊖ Requires basic technical knowledge for setup
- ⊖ No integrated CAM functionality (depends on external G-code tools)