MCPcopy Create free account
hub / github.com/bdring/FluidNC

github.com/bdring/FluidNC @v4.0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.0.3 ↗ · + Follow
3,734 symbols 7,933 edges 544 files 580 documented · 16% updated 7d agov4.0.3 · 2026-04-20★ 2,456109 open issues

Browse by type

Functions 3,268 Types & classes 465 Endpoints 1
What it actually does AI analysis from the code graph — generated when you open this
loading…
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 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=

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 if you want the learn more about the feature or how to use it.

Credits

The original 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.

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.

Core symbols most depended-on inside this repo

Shape

Method 2,256
Function 1,012
Class 410
Enum 55
Route 1

Languages

C++87%
C6%
Python6%
TypeScript1%

Modules by API surface

fluidterm/fluidterm.py87 symbols
FluidNC/esp32/fnc_idf_uart_idfbuild.c75 symbols
FluidNC/src/ProcessSettings.cpp74 symbols
FluidNC/esp32/fnc_idf_uart.c65 symbols
FluidNC/src/Protocol.cpp53 symbols
FluidNC/src/Settings.h52 symbols
FluidNC/src/WebUI/WebUIServer.cpp49 symbols
FluidNC/stdfs/std-ops.cpp43 symbols
X86TestSupport/TestSupport/TMC/TMCStepper.h39 symbols
FluidNC/capture/WString.h38 symbols
FluidNC/src/WebUI/WifiConfig.cpp37 symbols
FluidNC/src/FileCommands.cpp36 symbols

For agents

$ claude mcp add FluidNC \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page