Skip to content

Tiggy_Wifi_Controller

Open-source ESP32-S3 6-axis CNC motion controller. WiFi or W5500 Ethernet auto-detected. LinuxCNC, GRBL, Mach3 support. TCP+UDP real-time protocol.

irina

Published April 06, 2026

Original author: MichaelGaylorOriginal source (new tab)

Tiggy_Wifi_Controller

Components

Hardware components Software Apps and online services


WIZnet parts

Project description

๐Ÿ“Œ ๊ฐœ์š”

Tiggy WiFi CNC ๋ชจ์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๊ธฐ์กด ๋ณ‘๋ ฌ ํฌํŠธ(Parallel Port) ๋ฐฉ์‹์˜ CNC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ESP32-S3 ๊ธฐ๋ฐ˜ 6์ถ• CNC ๋ชจ์…˜ ์ปจํŠธ๋กค๋Ÿฌ ํŽŒ์›จ์–ด์ž…๋‹ˆ๋‹ค. WiFi ๋˜๋Š” WIZnet W5500 ์œ ์„  ์ด๋”๋„ท์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋ฉฐ, ์—ฐ๊ฒฐ ๋ฐฉ์‹์€ ์ž๋™์œผ๋กœ ๊ฐ์ง€๋ฉ๋‹ˆ๋‹ค. LinuxCNC, GRBL ํ˜ธํ™˜ G์ฝ”๋“œ ์„ผ๋”, Mach3 ํ”Œ๋Ÿฌ๊ทธ์ธ(๋ณ„๋„ ๊ตฌ๋งค)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. 6์ถ• ์ „์ฒด ๊ธฐ๋Šฅ์„ ๋ฌด๋ฃŒ ์˜คํ”ˆ์†Œ์Šค๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ๋ณ„๋„ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ ์—†์ด ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ Web Flasher๋กœ ์ฆ‰์‹œ ํ”Œ๋ž˜์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๐Ÿ“Œ ์ง€์› ๋ณด๋“œ ๋น„๊ต

 
๐Ÿ“Œ ์ง€์› ๋ณด๋“œ ๋น„๊ต

๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ

W5500 ์ด๋”๋„ท + WiFi ์ž๋™ ๊ฐ์ง€ W5500 ์œ ์„  ์ด๋”๋„ท๊ณผ WiFi๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜๋ฉฐ, W5500 ๋ชจ๋“ˆ์ด ์—ฐ๊ฒฐ๋˜๋ฉด ์ž๋™์œผ๋กœ ์œ ์„  ์ด๋”๋„ท์ด ์šฐ์„  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CNC ํ™˜๊ฒฝ์—์„œ๋Š” ์Šคํ…Œํผ ๋“œ๋ผ์ด๋ฒ„, VFD, ์Šคํ•€๋“ค ๋ชจํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ „์ž๊ธฐ ๊ฐ„์„ญ(EMI)์œผ๋กœ ์ธํ•ด WiFi๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. W5500 ์œ ์„  ์ด๋”๋„ท์€ ์ด๋Ÿฐ ํ™˜๊ฒฝ์—์„œ๋„ ์‹ค์‹œ๊ฐ„ ๋ชจ์…˜ ํŒจํ‚ท์„ ์•ˆ์ •์ ์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

6์ถ• ์™„์ „ ๋ฌด๋ฃŒ ์ง€์› X, Y, Z, A, B, C 6์ถ• ๋…๋ฆฝ ์Šคํ…/๋ฐฉํ–ฅ ์ œ์–ด๋ฅผ ๋ชจ๋‘ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LinuxCNC, GRBL ํ˜ธํ™˜ ์„ผ๋”์—์„œ๋Š” 6์ถ• ์ „์ฒด๊ฐ€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. Mach3 ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ๋Š” 4~6์ถ• ์‚ฌ์šฉ ์‹œ Pro ๋ผ์ด์„ ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ์ด์ค‘ ํ”„๋กœํ† ์ฝœ (TCP + UDP) TCP ํฌํŠธ 58429(ํ•ธ๋“œ์…ฐ์ดํฌ, ์„ค์ •, ๋ช…๋ น)์™€ UDP ํฌํŠธ 58427/58428(์‹ค์‹œ๊ฐ„ ๋ชจ์…˜ ํŒจํ‚ท, ์ƒํƒœ ๋ฆฌํฌํŠธ)์„ ๋™์‹œ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐ์„ฑ๊ณผ ์ €์ง€์—ฐ์„ ๋™์‹œ์— ํ™•๋ณดํ•˜๋Š” ์„ค๊ณ„์ž…๋‹ˆ๋‹ค.

์Šคํ•€๋“ค ์—”์ฝ”๋” ํ”ผ๋“œ๋ฐฑ ์Šคํ•€๋“ค ์—”์ฝ”๋” ํ”ผ๋“œ๋ฐฑ์„ ์ง€์›ํ•˜์—ฌ ๋‚˜์‚ฌ ์ ˆ์‚ญ(G33/G76)๊ณผ CSS(G96, ์ผ์ • ํ‘œ๋ฉด ์†๋„) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ•€๋“ค PWM, ์ฟจ๋ŸฐํŠธ(ํ”Œ๋Ÿฌ๋“œ/๋ฏธ์ŠคํŠธ), ์ฐจ์ง€ ํŽŒํ”„ ์ถœ๋ ฅ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € Web Flasher Chrome ๋˜๋Š” Edge์—์„œ Web Flasher ํŽ˜์ด์ง€๋ฅผ ์—ด๊ณ  USB ์—ฐ๊ฒฐ ํ›„ ๋ณด๋“œ๋ฅผ ์„ ํƒํ•˜๋ฉด ์›ํด๋ฆญ์œผ๋กœ ํ”Œ๋ž˜์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๐Ÿ“Œ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

๐Ÿ“Œ ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ

๋ณด๋“œMCU์ง€์› ์ถ•ํŠน์ง•
Tiggy StandardESP32-S3-Zero (FH4R2)3์ถ• (X/Y/Z)์ปดํŒฉํŠธ, Quad SPI PSRAM
Tiggy Pro (Octal)ESP32-S3-DevKitC-1 (N16R8/N8R8)6์ถ•Octal SPI PSRAM, I/O ์ œํ•œ
Tiggy Pro (Quad)ESP32-S3-DevKitC-1 (N8/N8R2)6์ถ•Quad SPI PSRAM, I/O ํ’๋ถ€
ClassicESP32-WROOM-326์ถ• (I/O ์ œํ•œ)๋ ˆ๊ฑฐ์‹œ ์ง€์›

๋ชจ๋“  ๋ณด๋“œ๋Š” ๋™์ผํ•œ 6์ถ• ํŽŒ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. "์ง€์› ์ถ•"์€ ๋ณด๋“œ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฐฐ์„ ๋œ ์Šคํ…/๋ฐฉํ–ฅ GPIO ์Œ์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํŽŒ์›จ์–ด ์ž์ฒด๋Š” ํ•ญ์ƒ 6์ถ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ๋น ๋ฅธ ์‹œ์ž‘

๐Ÿ“Œ ๋น ๋ฅธ ์‹œ์ž‘

Web Flasher (๊ฐ€์žฅ ๊ฐ„๋‹จ):

  1. Chrome ๋˜๋Š” Edge์—์„œ https://michaelgaylor.github.io/Tiggy_Wifi_Controller/ ์—ด๊ธฐ
  2. USB๋กœ ESP32 ์—ฐ๊ฒฐ ํ›„ ๋ณด๋“œ ์„ ํƒ
  3. Flash ํด๋ฆญ โ€” ๋ณ„๋„ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ ๋ถˆํ•„์š”

PlatformIO ๋นŒ๋“œ:

cd firmware
pio run -e esp32s3-devkitc -t upload    # Tiggy Pro (6์ถ•)
pio run -e esp32s3-zero -t upload       # Tiggy Standard (3์ถ•)

LinuxCNC ์„ค์น˜:

tar xzf Tiggy-LinuxCNC.tar.gz
cd linuxcnc-package
chmod +x install.sh
./install.sh

Mach3 ์„ค์น˜:

  1. Tiggy.dll๊ณผ *.pinmap์„ C:\Mach3\PlugIns\์— ๋ณต์‚ฌ
  2. M62-M65.m1s๋ฅผ C:\Mach3\macros\Mach3Mill\์— ๋ณต์‚ฌ
  3. Config > Select Motion Device > Tiggy Motion Controller

๐Ÿ“Œ WIZnet W5500 ์นฉ์˜ ์—ญํ• 

์‚ฌ์šฉ ์นฉ ๋ชจ๋ธ๋ช…: W5500

Tiggy WiFi ์ปจํŠธ๋กค๋Ÿฌ์—์„œ W5500์€ WiFi์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์„ ํƒ์  ์œ ์„  ์ด๋”๋„ท ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. W5500 ๋ชจ๋“ˆ์ด ์—ฐ๊ฒฐ๋˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐ์ง€๋˜์–ด WiFi๋ณด๋‹ค ์šฐ์„ ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

CNC ํ™˜๊ฒฝ์€ ์Šคํ…Œํผ ๋“œ๋ผ์ด๋ฒ„, ์Šคํ•€๋“ค ๋ชจํ„ฐ, VFD์—์„œ ๊ฐ•ํ•œ ์ „์ž๊ธฐ ๊ฐ„์„ญ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ„์„ญ์ด 2.4GHz WiFi ์‹ ํ˜ธ๋ฅผ ๋ฐฉํ•ดํ•˜๋ฉด ์‹ค์‹œ๊ฐ„ ๋ชจ์…˜ ํŒจํ‚ท์ด ์œ ์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ G33/G76 ๋‚˜์‚ฌ ์ ˆ์‚ญ์ฒ˜๋Ÿผ ์Šคํ•€๋“ค RPM๊ณผ ์ถ• ์ด๋™์„ ์ •๋ฐ€ํ•˜๊ฒŒ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์—์„œ ํŒจํ‚ท ์†์‹ค์ด ๋ฐœ์ƒํ•˜๋ฉด ๊ณต์ž‘๋ฌผ์ด ๋ง๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

W5500์˜ ํ•˜๋“œ์›จ์–ด TCP/IP ์Šคํƒ์€ ์ด๋Ÿฐ ๋…ธ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ๋„ ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋“œ์›จ์–ด ๋ ˆ๋ฒจ์—์„œ TCP/IP๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ESP32 CPU ๋ถ€ํ•˜๋„ ์ค„์–ด๋“ค์–ด, ์‹ค์‹œ๊ฐ„ ์Šคํ… ์ƒ์„ฑ๊ณผ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ๋™์‹œ์— ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Œ ์‹œ์žฅ ๋ฐ ํ™œ์šฉ ๊ฐ€์น˜

DIY CNC ๋ฉ”์ด์ปค, ํ™ˆ ๋จธ์‹œ๋‹ ์ž‘์—…์žฅ, ์†Œ๊ทœ๋ชจ ์ œ์กฐ์—…์ฒด, ๋ ˆ๊ฑฐ์‹œ Mach3 ์‚ฌ์šฉ์ž์˜ ๋ณ‘๋ ฌ ํฌํŠธ ๋Œ€์ฒด ์ˆ˜์š”๊ฐ€ ํ•ต์‹ฌ ์‹œ์žฅ์ž…๋‹ˆ๋‹ค. LinuxCNC์™€ GRBL ์„ผ๋”์—์„œ 6์ถ• ์ „์ฒด๊ฐ€ ์™„์ „ ๋ฌด๋ฃŒ์ด๋ฉฐ, Mach3์—์„œ๋„ 3์ถ•๊นŒ์ง€๋Š” ๋ฌด๋ฃŒ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜คํ”ˆ์†Œ์Šค ํŽŒ์›จ์–ด์™€ ์ƒ์—… ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ฒฐํ•ฉํ•œ ๊ตฌ์กฐ๋กœ ์ง€์† ๊ฐ€๋Šฅํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ ์š”์•ฝ

Tiggy WiFi CNC ๋ชจ์…˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ESP32-S3์™€ WIZnet W5500 ์œ ์„  ์ด๋”๋„ท(์ž๋™ ๊ฐ์ง€)์„ ํ™œ์šฉํ•ด 6์ถ• CNC ๋ณ‘๋ ฌ ํฌํŠธ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ํŽŒ์›จ์–ด์ž…๋‹ˆ๋‹ค. LinuxCNC HAL, GRBL ํ˜ธํ™˜, Mach3 ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ง€์›ํ•˜๋ฉฐ, TCP+UDP ์ด์ค‘ ํ”„๋กœํ† ์ฝœ๋กœ ์‹ค์‹œ๊ฐ„ ๋ชจ์…˜ ํŒจํ‚ท์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € Web Flasher๋กœ ์ฆ‰์‹œ ์‹œ์ž‘ ๊ฐ€๋Šฅํ•˜๋ฉฐ, EMI๊ฐ€ ๋งŽ์€ CNC ํ™˜๊ฒฝ์—์„œ W5500์ด WiFi๋ณด๋‹ค ํ›จ์”ฌ ์•ˆ์ •์ ์ธ ์—ฐ๊ฒฐ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. MIT ๋ผ์ด์„ ์Šค.

๐Ÿ“Œ FAQ

Q1. W5500๊ณผ WiFi ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์šฐ์„  ์‚ฌ์šฉ๋˜๋‚˜์š”? W5500 ๋ชจ๋“ˆ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ์ž๋™์œผ๋กœ ์œ ์„  ์ด๋”๋„ท์ด ์šฐ์„  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ณ„๋„ ์„ค์ •์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

Q2. 6์ถ• ์ „์ฒด๋ฅผ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค. LinuxCNC, GRBL ์„ผ๋”, ์‹œ๋ฆฌ์–ผ/ํ…”๋„ท ๋“ฑ ๋ชจ๋“  ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ๋กœ์—์„œ 6์ถ• ์ „์ฒด๊ฐ€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. Mach3 ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ๋งŒ 4~6์ถ•์— Pro ๋ผ์ด์„ ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Q3. TCP์™€ UDP๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”? TCP๋Š” ํ•ธ๋“œ์…ฐ์ดํฌ, ์„ค์ •, ๋ช…๋ น์˜ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ „์†ก์— ์‚ฌ์šฉํ•˜๊ณ , UDP๋Š” ์‹ค์‹œ๊ฐ„ ๋ชจ์…˜ ํŒจํ‚ท๊ณผ ์ƒํƒœ ๋ฆฌํฌํŠธ์˜ ์ €์ง€์—ฐ ์ „์†ก์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‘ ํ”„๋กœํ† ์ฝœ์˜ ์žฅ์ ์„ ์กฐํ•ฉํ•œ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค.

Q4. Web Flasher๋Š” ์–ด๋–ค ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง€์›ํ•˜๋‚˜์š”? Chrome๊ณผ Edge๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. WebSerial API๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, Firefox๋Š” ํ˜„์žฌ WebSerial์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Q5. ์Šคํ•€๋“ค ์—”์ฝ”๋” ํ”ผ๋“œ๋ฐฑ์€ ๋ฌด์—‡์— ์‚ฌ์šฉํ•˜๋‚˜์š”? ๋‚˜์‚ฌ ์ ˆ์‚ญ(G33, G76 ์‹ฑํฌ๋กœ๋‚˜์ด์ฆˆ๋“œ ํƒญํ•‘)๊ณผ CSS(G96, ์ผ์ • ํ‘œ๋ฉด ์†๋„) ๊ธฐ๋Šฅ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ ๋ฐ˜์ด๋‚˜ ๋ฐ€๋ง ๋จธ์‹ ์—์„œ ์Šคํ•€๋“ค RPM๊ณผ ์ถ• ์ด๋™์„ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

Q6. CNC ํ™˜๊ฒฝ์—์„œ WiFi ๋Œ€์‹  W5500์„ ์จ์•ผ ํ•˜๋Š” ์ด์œ ๋Š”? ์Šคํ…Œํผ ๋“œ๋ผ์ด๋ฒ„, VFD, ์Šคํ•€๋“ค ๋ชจํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” EMI๊ฐ€ 2.4GHz WiFi๋ฅผ ๊ฐ„์„ญํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์‚ฌ ์ ˆ์‚ญ์ฒ˜๋Ÿผ ํƒ€์ด๋ฐ์ด ์ค‘์š”ํ•œ ์ž‘์—…์—์„œ ํŒจํ‚ท ์†์‹ค์ด ๊ณต์ž‘๋ฌผ์„ ๋ง๊ฐ€๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. W5500 ์œ ์„  ์ด๋”๋„ท์€ EMI์— ๋ฉด์—ญ์ด ์žˆ์–ด ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.

Q7. ์–ด๋–ค G์ฝ”๋“œ ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ˜ธํ™˜๋˜๋‚˜์š”? LinuxCNC(HAL ์ปดํฌ๋„ŒํŠธ), GRBL ํ˜ธํ™˜ ๋ชจ๋“  G์ฝ”๋“œ ์„ผ๋”(UGS, CNCjs, Candle ๋“ฑ), Mach3(ํ”Œ๋Ÿฌ๊ทธ์ธ)์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์‹œ๋ฆฌ์–ผ/ํ…”๋„ท ํ„ฐ๋ฏธ๋„๋กœ๋„ ์ง์ ‘ G์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q8. I/O ํ™•์žฅ ๋ชจ๋“ˆ์€ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋‚˜์š”? ํŽœ๋˜ํŠธ ๋ฒ„ํŠผ๊ณผ ๋ฆด๋ ˆ์ด ์ถœ๋ ฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Mach3 Pro ๋ผ์ด์„ ์Šค์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Q9. ์ž๋™ ์žฌ์—ฐ๊ฒฐ์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”? ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ์žฌ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. WiFi์™€ W5500 ๋ชจ๋‘ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

Q10. Protocol Tester๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? Windows GUI ๋„๊ตฌ๋กœ, G์ฝ”๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์—†์ด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ง์ ‘ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitHub Releases์—์„œ ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Œ ์ฐธ๊ณ  ๋งํฌ


๐Ÿ“Œ Overview

Tiggy WiFi CNC Motion Controller is an open-source ESP32-S3-based 6-axis CNC motion controller firmware that replaces legacy parallel port CNC drivers. It connects via WiFi or WIZnet W5500 wired Ethernet โ€” auto-detected with no configuration needed. Compatible with LinuxCNC, GRBL-compatible G-code senders, and Mach3 plugin (sold separately). All 6 axes are fully free and open source. Flash firmware instantly via a browser-based Web Flasher 
 

๐Ÿ“Œ Supported board comparison

 
๐Ÿ“Œ Supported board comparison

๐Ÿ“Œ Key features

W5500 Ethernet + WiFi auto-detection Supports both W5500 wired Ethernet and WiFi. When a W5500 module is connected, wired Ethernet is automatically preferred โ€” no configuration needed. In CNC environments, strong electromagnetic interference (EMI) from stepper drivers, VFDs, and spindle motors can disrupt WiFi. W5500 wired Ethernet delivers real-time motion packets reliably even in these conditions.

Full 6-axis support โ€” completely free Independent step/direction control for all 6 axes (X, Y, Z, A, B, C) at no cost. All LinuxCNC and GRBL-compatible senders get full 6-axis support for free. A Pro license for the Mach3 plugin is only required for axes 4โ€“6.

Real-time dual-protocol (TCP + UDP) TCP port 58429 handles handshake, configuration, and commands. UDP ports 58427/58428 handle real-time motion packets and status reports. This design captures the reliability of TCP and the low latency of UDP simultaneously.

Spindle encoder feedback Spindle encoder feedback enables threading (G33/G76) and CSS โ€” Constant Surface Speed (G96). Also supports spindle PWM (CW/CCW), coolant (flood/mist), and charge pump outputs.

Browser Web Flasher Open the Web Flasher in Chrome or Edge, connect your ESP32 via USB, select your board, and click Flash โ€” one click, no software installation required.


๐Ÿ“Œ System architecture

๐Ÿ“Œ System architecture
 

๐Ÿ“Œ Hardware

BoardMCUWired axesNotes
Tiggy StandardESP32-S3-Zero (FH4R2)3 (X/Y/Z)Compact, Quad SPI PSRAM
Tiggy Pro (Octal)ESP32-S3-DevKitC-1 (N16R8/N8R8)6Octal SPI PSRAM, limited I/O
Tiggy Pro (Quad)ESP32-S3-DevKitC-1 (N8/N8R2)6Quad SPI PSRAM, more I/O
ClassicESP32-WROOM-326 (limited I/O)Legacy support

All boards run the same 6-axis firmware. "Wired axes" refers to the number of step/dir GPIO pairs physically routed on the board โ€” the firmware always supports 6 axes regardless of board.


๐Ÿ“Œ Quick start

๐Ÿ“Œ Quick start

Web Flasher (easiest):

  1. Open https://michaelgaylor.github.io/Tiggy_Wifi_Controller/ in Chrome or Edge
  2. Connect your ESP32 via USB and select your board
  3. Click Flash โ€” no software installation required

PlatformIO build:

cd firmware
pio run -e esp32s3-devkitc -t upload    # Tiggy Pro (6-axis)
pio run -e esp32s3-zero -t upload       # Tiggy Standard (3-axis)

LinuxCNC installation:

tar xzf Tiggy-LinuxCNC.tar.gz
cd linuxcnc-package
chmod +x install.sh
./install.sh

Mach3 installation:

  1. Copy Tiggy.dll and *.pinmap to C:\Mach3\PlugIns\
  2. Copy M62-M65.m1s to C:\Mach3\macros\Mach3Mill\
  3. Config > Select Motion Device > Tiggy Motion Controller

๐Ÿ“Œ Role and Application of the WIZnet's Chip

Chip model: W5500

In the Tiggy WiFi Controller, W5500 is an optional wired Ethernet interface alongside WiFi. When a W5500 module is connected, it is auto-detected and used in preference to WiFi.

CNC environments generate strong electromagnetic interference from stepper drivers, spindle motors, and VFDs. This interference disrupts 2.4 GHz WiFi signals, causing real-time motion packets to drop. For operations like G33/G76 threading โ€” which require precise synchronization of spindle RPM and axis movement โ€” packet loss can directly ruin a workpiece.

The W5500 hardware TCP/IP stack operates reliably in these noisy environments. Because it processes TCP/IP in dedicated hardware, ESP32 CPU load is also reduced, allowing real-time step generation and network communication to run simultaneously without interference.


๐Ÿ“Œ Market and Application Value

Core markets include DIY CNC makers, home machining shops, small manufacturers, and legacy Mach3 users replacing parallel port drivers. LinuxCNC and GRBL senders support all 6 axes completely free. The Mach3 plugin provides 3-axis support for free, with a Pro license unlocking axes 4โ€“6. The combination of open-source firmware and a commercial plugin creates a sustainable community-driven project.


๐Ÿ“Œ Summary

Tiggy WiFi CNC Motion Controller is an open-source firmware that replaces 6-axis CNC parallel ports using ESP32-S3 and WIZnet W5500 wired Ethernet (auto-detected). It supports LinuxCNC HAL, GRBL-compatible senders, and Mach3 plugin via a dual TCP+UDP real-time motion protocol. Flash instantly via browser Web Flasher. In EMI-heavy CNC environments, W5500 delivers far more stable connectivity than WiFi โ€” a critical advantage for precision threading and synchronized motion. MIT licensed.


๐Ÿ“Œ FAQ

Q1. Which takes priority โ€” W5500 or WiFi? If a W5500 module is connected, wired Ethernet is automatically preferred. No configuration needed.

Q2. Is full 6-axis support really free? Yes. All 6 axes are free for LinuxCNC, GRBL senders, and serial/telnet. Only the Mach3 plugin requires a Pro license for axes 4โ€“6.

Q3. Why use both TCP and UDP at the same time? TCP handles reliable delivery for handshake, configuration, and commands. UDP handles low-latency real-time motion packets and status reports โ€” combining the strengths of both protocols.

Q4. Which browsers does the Web Flasher support? Chrome and Edge only. The WebSerial API is required โ€” Firefox does not currently support WebSerial.

Q5. What is spindle encoder feedback used for? Threading (G33/G76 synchronized tapping) and CSS โ€” G96 Constant Surface Speed. It synchronizes spindle RPM with axis movement on lathes and milling machines.

Q6. Why use W5500 instead of WiFi in a CNC environment? EMI from stepper drivers, VFDs, and spindle motors interferes with 2.4 GHz WiFi. In timing-critical operations like threading, packet loss can ruin a workpiece. W5500 wired Ethernet is immune to EMI and delivers consistent real-time packet delivery.

Q7. Which G-code software is compatible? LinuxCNC (HAL component), any GRBL-compatible G-code sender (UGS, CNCjs, Candle, etc.), and Mach3 (plugin). Direct G-code input is also available via serial or telnet terminal.

Q8. What does the I/O expansion module add? Pendant buttons and relay outputs. Available with the Mach3 Pro license.

Q9. How does auto-reconnection work? On connection loss, the controller automatically attempts to reconnect. Applies to both WiFi and W5500.

Q10. What is the Protocol Tester? A Windows GUI tool for testing and configuring the controller directly without G-code software. Download from GitHub Releases.


๐Ÿ“Œ Reference links

Comments

Similar projects you might like

Comments