https://github.com/bdring/fluidnc
The next generation of motion control firmware
https://github.com/bdring/fluidnc
Last synced: about 1 year ago
JSON representation
The next generation of motion control firmware
- Host: GitHub
- URL: https://github.com/bdring/fluidnc
- Owner: bdring
- License: other
- Created: 2021-08-22T17:50:03.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-05-11T20:14:52.000Z (about 1 year ago)
- Last Synced: 2025-05-11T21:21:04.393Z (about 1 year ago)
- Language: C++
- Size: 88 MB
- Stars: 1,894
- Watchers: 83
- Forks: 455
- Open Issues: 88
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README

## Introduction
**FluidNC** is a CNC firmware optimized for the ESP32 controller. It is the next generation of firmware from the creators of Grbl_ESP32. It includes a web based UI and the flexibility to operate a wide variety of machine types. This includes the ability to control machines with multiple tool types such as laser plus spindle or a tool changer.
## Firmware Architecture
- Object-Oriented hierarchical design
- Hardware abstraction for machine features like spindles, motors, and stepper drivers
- Extensible - Adding new features is much easier for the firmware as well as gcode senders.
## Machine Definition Method
There is no need to compile the firmware. You use an installation script to upload the latest release of the firmware and then create [config file](http://wiki.fluidnc.com/en/config/overview) text file that describes your machine. That file is uploaded to the FLASH on the ESP32 using the USB/Serial port or WIFI.
You can have multiple config files stored on the ESP32. The default is config.yaml, but you can change that with [**$Config/Filename=**](http://wiki.fluidnc.com/en/features/commands_and_settings#config_filename)
## Basic Grbl Compatibility
The intent is to maintain as much Grbl compatibility as possible. It is 100% compatible with the day to day operations of running gcode with a sender, so there is no change to the Grbl gcode send/response protocol, and all Grbl gcode are supported. Most of the $ settings have been replaced with easily readable items in the config file.
## WebUI
FluidNC includes a built-in browser-based Web UI (Esp32_WebUI) so you control the machine from a PC, phone, or tablet on the same Wifi network.
## Wiki
[Check out the wiki](http://wiki.fluidnc.com) if you want the learn more about the feature or how to use it.
## Credits
The original [Grbl](https://github.com/gnea/grbl) is an awesome project by Sungeon (Sonny) Jeon. I have known him for many years and he is always very helpful. I have used Grbl on many projects.
The Wifi and WebUI is based on [this project.](https://github.com/luc-github/ESP3D-WEBUI)
## Discussion

We have a Discord server for the development this project. Ask for an invite
## Donations
This project requires a lot of work and often expensive items for testing. Please consider a safe, secure and highly appreciated donation via the PayPal link below or via the GitHub sponsor link at the top of the page.
[](https://www.paypal.com/donate/?hosted_button_id=8DYLB6ZYYDG7Y)