Wiznet makers

irina

Published May 07, 2026 ©

167 UCC

5 WCC

104 VAR

0 Contests

0 Followers

0 Following

Original Link

FluidNC CNC Firmware Fork — W5500 Ethernet Support Added for ESP32

Fork of open-source FluidNC CNC firmware (ESP32-based GRBL successor) adding W5500 Ethernet support. Send G-code over wired TCP without WiFi. 2025 community for

COMPONENTS
PROJECT DESCRIPTION

Overview

This is a community fork of FluidNC — the popular open-source CNC firmware for ESP32 (the spiritual successor to GRBL) — with WIZnet W5500 Ethernet support added. FluidNC normally runs on ESP32 using WiFi for network connectivity. This fork patches in W5500 SPI Ethernet, enabling CNC machines to receive G-code files and commands over a wired TCP connection without relying on WiFi.

This is highly practical for CNC workshop environments where WiFi interference from stepper motors, spindles, and VFDs can cause connection dropouts during critical machining operations.

What This Project Does

  • Adds W5500 SPI Ethernet driver to FluidNC's networking layer
  • Enables TCP-based G-code streaming over wired Ethernet (replacing WiFi for network operations)
  • Maintains full FluidNC feature set: G-code parsing, motion control, spindle/laser control, WebUI
  • Targets ESP32-based CNC controller boards running FluidNC

Why Wired Ethernet for CNC? CNC environments are electrically noisy. Stepper motor drivers, VFDs, and spindles generate significant EMI that disrupts 2.4 GHz WiFi. Wired W5500 Ethernet is immune to this interference, providing a stable, reliable connection for G-code streaming — especially important for long machining jobs where a dropped connection mid-cut can ruin a workpiece.

Hardware

  • MCU: ESP32 (any FluidNC-compatible board)
  • Ethernet: WIZnet W5500 module (SPI)
  • CNC interface: Standard FluidNC stepper outputs, spindle control, limit switches

Compatible Software

  • Any G-code sender that supports TCP/IP connection to FluidNC: FluidTerm, CNCjs, Candle, UGS (Universal Gcode Sender)

How to Build & Flash

  1. Clone: git clone https://github.com/val218/fluidNC-with-w5500-support
  2. Follow standard FluidNC build instructions (PlatformIO)
  3. Configure W5500 SPI pins in config.yaml for your hardware
  4. Flash via pio run -t upload
  5. Connect W5500 module via SPI and RJ45 to your network
  6. Open FluidNC WebUI or connect G-code sender to the assigned IP

FAQ

Q1. Why does CNC need wired Ethernet instead of WiFi? CNC machines generate strong electromagnetic interference (EMI) from stepper drivers, spindle motors, and VFDs. This EMI can disrupt 2.4 GHz WiFi signals, causing connection drops during machining. Wired W5500 Ethernet is shielded and immune to this interference.

Q2. Does this replace WiFi entirely? This fork adds W5500 as an alternative network interface. Depending on the implementation, WiFi may remain available as a fallback, or the fork may configure W5500 as the primary (and only) network interface.

Q3. What FluidNC version is this based on? Check the repository's commit history for the base FluidNC version. Community forks typically track a specific FluidNC release and may lag behind the latest upstream changes.

Q4. Is FluidNC the same as GRBL? FluidNC is a modern ESP32-based rewrite that is functionally compatible with GRBL G-code but uses a YAML configuration file system, native WiFi/WebUI, and a more modular architecture. It supports all standard GRBL G-code commands.

Key Takeaway

Adding W5500 Ethernet to FluidNC solves a real problem in CNC workshops: reliable network connectivity in an EMI-heavy environment. This fork demonstrates how WIZnet W5500 can be integrated into an existing complex ESP32 firmware project to replace WiFi with wired Ethernet — a pattern applicable to many industrial embedded systems.

Source Code: https://github.com/val218/fluidNC-with-w5500-support

Documents
Comments Write