WebCNC
This project began as an experiment in generative art. Along the way it grew into a software project, a deep dive into machining, precision engineering, and mechatronics, and eventually into a DIY CNC machine.
Around 2017, I started building a pen plotter using Grbl_ESP32, a simple controller board, and materials from a local hardware store.
FluidNC
Grbl_ESP32 was a port of the original Grbl firmware (designed for AVR microcontrollers) to the more powerful ESP32 platform. It added features like WiFi and a WebUI while maintaining compatibility with the standard Grbl G-code protocol. FluidNC is the next-generation successor, developed by the same team. It represents a ground-up, object-oriented redesign of Grbl_ESP32. FluidNC offers significantly more options for building any CNC machine with a cheap ESP32 board.
- ESP32-based motion control
- WiFi connectivity for web-based control
- Support for various CNC configurations
- Regular updates and active community
Resources:
However, the interface to manage the machine is based on some 10+ year old code and needs an upgrade. In my opinion, it needed a complete rewrite.
So I started a new project to build a browser-based CNC interface (HMI - Human Machine Interface).
Dashboard (HMI)
The project aims to provide a modern, intuitive interface for controlling CNC machines running FluidNC.
Code: WebCNC on GitHub ↗
From PenPlotter to CNC
The penplotter works just fine, but it is quite limited. The frame is not very rigid and it cannot carry anything heavier than a pen.
So I started building a large, X/Y/Z CNC machine.
Now using an upgraded version of the controller (6-axis), DM-556 (stepper driver) and large servo motors
The electronics and software is largely functional.