Skip to content

KlipperAPI

An Arduino communication library enabling ESP8266, ESP32, and Arduino boards to monitor and control Klipper via the Moonraker API.

KlipperAPI

Components

Hardware components
W5500 Ethernet Shield

x 1


Project description

 

KlipperAPI

๐Ÿ“ŒOverview

This project is an Arduino communication library that enables ESP8266, ESP32, and Arduino boards to monitor and control Klipper 3D printers through the Moonraker API.

The example code includes fully working firmware that periodically connects to Moonraker using an ESP32, ESP8266, or an Arduino paired with a W5100/W5500 Ethernet Shield. It demonstrates:

  • Retrieving server information
  • Querying printer status and statistics
  • Reading current position, temperature, power output, and active print job details
  • Executing emergency stop and temperature safety checks

All of these features are implemented and functional in the included examples.

๐Ÿ“ŒFeatures

Core Functionality

  • Real-time printer status monitoring (status, position, temperature, etc.)
  • Print job management (start, pause, resume, cancel)
  • Temperature control (set nozzle/bed temperatures, control fan speed)
  • Axis control (homing, absolute/relative movements)
  • Single and multiple G-code transmission
  • Emergency actions such as emergency stop, firmware restart, and host reboot

Memory-Optimized Design

  • Boolean states managed with bit fields to minimize RAM usage
  • Structs designed using compact data types such as uint8_t and int16_t
  • Configurable buffer sizes to match different MCU capabilities

Supported Hardware

  • ESP8266
  • ESP32
  • Arduino with Ethernet Shield
  • Arduino boards with Wi-Fi capability

Dependencies

  • ArduinoJson (>= 6.0.0) โ€“ JSON parsing
  • Wi-Fi / Ethernet libraries (ESP8266WiFi, WiFi, Ethernet, etc.)

Development Environment

  • Installable via Arduino IDE Library Manager
  • Also available for manual installation via GitHub Releases or source download

๐Ÿ“ŒSystem Architecture

Core Components

  • MCU
    • ESP8266 (Wi-Fi)
    • ESP32 (Wi-Fi)
    • Arduino + W5100/W5500 Ethernet Shield
  • Server
    • 3D printer running Klipper firmware
    • Moonraker API server
  • Network
    • Wi-Fi (built into ESP8266/ESP32)
    • Ethernet (via W5100/W5500 shield)
    • HTTP/JSON-based REST API calls to Moonraker

Data Flow

  1. The MCU connects to the LAN via Wi-Fi or Ethernet. 
  2. The KlipperApi object sends requests to multiple Moonraker server endpoints.
  3. The MCU receives the JSON response into an internal buffer (default 2048 bytes) and parses it into optimized structures.
  4. User code can then utilize these structures to perform:
  • Status display (Serial / Web / LCD)
  • Temperature safety checks
  • Print control
  • And other application logic

๐Ÿ“ŒRole and Application of the W5500

In the KlipperAPI project, the W5500 is used as the key network module that enables wired Ethernet communication between the Arduino board and the Klipper/Moonraker server. In environments where Wi-Fi is unstable or where 3D printer control requires consistent latency and reliable response times, the W5500 provides the most dependable connection method.

๐Ÿ“ŒRole and Application of the W5500

Main Roles of the W5500

  • Wired Moonraker Connectivity
    • Even low-spec MCUs such as Arduino Uno/Mega/Leonardo can communicate directly with the Klipper/Moonraker server through the W5500.
    • Ideal for 3D printer control scenarios that require high speed and stable connectivity.
  • Printer Status Queries and Data Reception
    • Core KlipperAPI functionsโ€”such as getServerInfo(), getPrinterInfo(), and getPrinterStatistics()โ€”send requests to Moonraker over the W5500 network path.
    • Temperature, position, progress, and other data are received reliably thanks to hardware-based packet handling.
  • Sending Control Commands
    • Sends G-code (sendGcode()), print start/pause/cancel operations, temperature settings, axis movement commands, and more through the W5500.
    • Provides more stable, lower-latency control than Wi-Fi, with reduced risk of communication errors.
  • Ensuring Network Stability
    • Example code includes Ethernet state checks, link detection, and retry logic for improved robustness.
    • Supports both DHCP and static IP configurations, with KlipperAPI running reliably on top of the EthernetClient.

๐Ÿ“ŒMarket & Application Value

Application Areas

  • External control panels and remote control terminals for Klipper 3D printers
  • Standalone status displays (small LCD/OLED) and notification devices (buzzer, LED)
  • Integration with Klipper for controlling peripheral equipment such as lighting, fans, and environmental sensors

Advantages Over Existing Approaches

  • Traditionally, control was mainly done through web UIs (Fluidd/Mainsail) or applications running on a Raspberry Pi; this library enables direct control from low-cost MCU boards
  • With only a network connection, a single board can monitor multiple printers or serve as a dedicated HMI

Expansion Potential

  • Can be used as a management node in IoT devices or smart factoryโ€“style 3D printer farms
  • Well-suited as a bridge connecting industrial Ethernet, sensors, and printers

๐Ÿ“ŒExternal Indicators

Currently, the number of stars and forks on GitHub is low, and the library has a strong personal-project nature.

However, resources such as FEATURES.md, the example code folder, and the detailed API documentation in the README are well organized, making it valuable for technical experimentation and reference purposes.

๐Ÿ“ŒWIZnet Strategic Value

Representative Use Case for Ethernet + Klipper Integration

  • By applying a KlipperAPI-style library to boards using WIZnet chips, it becomes possible to create a wired, low-latency 3D printer controller reference design.

Entry Point Into the 3D Printer Market

  • The number of 3D printer users adopting Klipper is growing rapidly, and there is strong demand in printer farms, shared workspaces, and FabLabs for printer status monitoring and centralized management.
  • WIZnet can enter the 3D-printer networking module market by offering a bundled solution in the form of โ€œEthernet + Klipper-compatible board/module + library package.โ€

Piggybacking on the ESP Ecosystem

  • Since KlipperAPI supports ESP8266 and ESP32, combining ESP with a WIZnet Ethernet module enables a dual Wi-Fi + Ethernet environment.
  • Creating a โ€œKlipper-dedicated network expansion moduleโ€ as a WIZnet UCC reference project would naturally expose WIZnet chips to the ESP maker community.

Klipper Community :

https://klipper.discourse.group/t/can-i-add-ethernet-support-to-my-klipper-stm32f103-enc28j60-lan8720-or-w5500/14733

๐Ÿ“ŒWIZnet Strategic Value

In the Klipper user community, there have been active discussions about implementing Ethernet connectivity by pairing an MCU with an SPI-to-Ethernet chip such as the WIZnet W5500, ENC28J60, or LAN8720.
Overall forum feedback has been positive, with virtually no objections to combinations like โ€œSTM32 + W5500 (or ENC28J60/LAN8720)โ€.

๐Ÿ“ŒSummary

KlipperAPI is a meaningful library that clearly showcases the concept of directly controlling Klipper using an MCU with Ethernet or Wi-Fi. It has the potential to serve as a bridge project that connects both the ESP ecosystem and the Klipper community.

 


 

๐Ÿ“Œ๊ฐœ์š”

์ด ํ”„๋กœ์ ํŠธ๋Š” ESP8266, ESP32, ๊ทธ๋ฆฌ๊ณ  Arduino ๋ณด๋“œ๊ฐ€ Moonraker API๋ฅผ ํ†ตํ•ด Klipper 3D ํ”„๋ฆฐํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” Arduino ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ ์ฝ”๋“œ๋Š” ESP32, ESP8266, ๋˜๋Š” W5100/W5500 ์ด๋”๋„ท ์‹ค๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋œ Arduino๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Moonraker์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ์™„์ „ํ•œ ๋™์ž‘ ํŽŒ์›จ์–ด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์ œ๋Š” ๋‹ค์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

  • ์„œ๋ฒ„ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
  • ํ”„๋ฆฐํ„ฐ ์ƒํƒœ ๋ฐ ํ†ต๊ณ„ ์กฐํšŒ
  • ํ˜„์žฌ ์œ„์น˜, ์˜จ๋„, ์ „๋ ฅ ์ถœ๋ ฅ, ํ™œ์„ฑ ํ”„๋ฆฐํŠธ ์ž‘์—… ์ •๋ณด ์ฝ๊ธฐ
  • ๋น„์ƒ ์ •์ง€ ์‹คํ–‰ ๋ฐ ์˜จ๋„ ์•ˆ์ „ ์ ๊ฒ€ ์ˆ˜ํ–‰

์ด ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ์ œ๊ณต๋œ ์˜ˆ์ œ์— ์™„์ „ํžˆ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ŒํŠน์ง•

ํ•ต์‹ฌ ๊ธฐ๋Šฅ

  • ์‹ค์‹œ๊ฐ„ ํ”„๋ฆฐํ„ฐ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง(์ƒํƒœ, ์œ„์น˜, ์˜จ๋„ ๋“ฑ)
  • ํ”„๋ฆฐํŠธ ์ž‘์—… ๊ด€๋ฆฌ(์‹œ์ž‘, ์ผ์‹œ์ •์ง€, ์žฌ๊ฐœ, ์ทจ์†Œ)
  • ์˜จ๋„ ์ œ์–ด(๋…ธ์ฆ/๋ฒ ๋“œ ์˜จ๋„ ์„ค์ •, ํŒฌ ์†๋„ ์ œ์–ด)
  • ์ถ• ์ œ์–ด(ํ™ˆ๋™์ž‘, ์ ˆ๋Œ€/์ƒ๋Œ€ ์ด๋™)
  • ๋‹จ์ผ ๋ฐ ๋‹ค์ค‘ G-code ์ „์†ก
  • ๋น„์ƒ ์ •์ง€, ํŽŒ์›จ์–ด ์žฌ์‹œ์ž‘, ํ˜ธ์ŠคํŠธ ์žฌ๋ถ€ํŒ… ๋“ฑ ๊ธด๊ธ‰ ์•ก์…˜ ์ง€์›

๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ์„ค๊ณ„

  • RAM ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋น„ํŠธ ํ•„๋“œ๋ฅผ ํ™œ์šฉํ•œ Boolean ์ƒํƒœ ๊ด€๋ฆฌ
  • uint8_t, int16_t ๋“ฑ compact ํƒ€์ž…์„ ์‚ฌ์šฉํ•œ ๊ตฌ์กฐ์ฒด ์„ค๊ณ„
  • ๋‹ค์–‘ํ•œ MCU ์„ฑ๋Šฅ์— ๋งž๊ฒŒ ๋ฒ„ํผ ํฌ๊ธฐ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ

์ง€์› ํ•˜๋“œ์›จ์–ด

  • ESP8266
  • ESP32
  • Ethernet Shield๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Arduino ๋ณด๋“œ
  • Wi-Fi ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ Arduino ๋ณด๋“œ

ํ•„์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ArduinoJson (>= 6.0.0) โ€“ JSON ํŒŒ์‹ฑ
  • Wi-Fi / Ethernet ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (ESP8266WiFi, WiFi, Ethernet ๋“ฑ)

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • Arduino IDE Library Manager๋ฅผ ํ†ตํ•ด ์„ค์น˜ ๊ฐ€๋Šฅ
  • GitHub Releases ๋˜๋Š” ์†Œ์Šค ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ†ตํ•œ ์ˆ˜๋™ ์„ค์น˜๋„ ์ง€์›

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

๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

  • MCU 
    • ESP8266 (Wi-Fi)
    • ESP32 (Wi-Fi)
    • Arduino + W5100/W5500 Ethernet Shield
  • ์„œ๋ฒ„ 
    • Klipper ํŽŒ์›จ์–ด๊ฐ€ ๊ตฌ๋™ ์ค‘์ธ 3D ํ”„๋ฆฐํ„ฐ
    • Moonraker API ์„œ๋ฒ„
  • ๋„คํŠธ์›Œํฌ
    • Wi-Fi (ESP8266/ESP32 ๋‚ด์žฅ)
    • Ethernet (W5100/W5500 ๊ธฐ๋ฐ˜ Shield)
    • Moonraker๋กœ HTTP/JSON ๊ธฐ๋ฐ˜ REST API ํ˜ธ์ถœ

๋ฐ์ดํ„ฐ ํ๋ฆ„ 

  1. MCU๋Š” Wi-Fi ๋˜๋Š” Ethernet์„ ํ†ตํ•ด LAN์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
  2. KlipperApi ๊ฐ์ฒด๋Š” ์—ฌ๋Ÿฌ Moonraker ์„œ๋ฒ„ ์—”๋“œํฌ์ธํŠธ๋กœ ์š”์ฒญ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
  3. MCU๋Š” JSON ์‘๋‹ต์„ ๋‚ด๋ถ€ ๋ฒ„ํผ(๊ธฐ๋ณธ 2048๋ฐ”์ดํŠธ)์— ์ˆ˜์‹ ํ•œ ๋’ค, ์ด๋ฅผ ์ตœ์ ํ™”๋œ ๊ตฌ์กฐ์ฒด๋กœ ํŒŒ์‹ฑํ•ฉ๋‹ˆ๋‹ค.
  4. ์‚ฌ์šฉ์ž ์ฝ”๋“œ๋Š” ์ด ๊ตฌ์กฐ์ฒด๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์Œ ์ž‘์—…๋“ค์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
  • ์ƒํƒœ ํ‘œ์‹œ(Serial / Web / LCD)
  • ์˜จ๋„ ์•ˆ์ „ ์ ๊ฒ€
  • ํ”„๋ฆฐํŠธ ์ œ์–ด
  • ๊ทธ ์™ธ ์‘์šฉ ๋กœ์ง ์ˆ˜ํ–‰

๐Ÿ“ŒW5500 ์—ญํ•  ๋ฐ ์ ์šฉ ๋ฐฉ์‹

KlipperAPI ํ”„๋กœ์ ํŠธ์—์„œ W5500์€ Arduino ๋ณด๋“œ์™€ Klipper/Moonraker ์„œ๋ฒ„ ๊ฐ„์˜ ์œ ์„  ์ด๋”๋„ท ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” ํ•ต์‹ฌ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. Wi-Fi ํ™˜๊ฒฝ์ด ๋ถˆ์•ˆ์ •ํ•˜๊ฑฐ๋‚˜, 3D ํ”„๋ฆฐํ„ฐ ์ œ์–ด์— ํ•„์š”ํ•œ ์•ˆ์ •์ ์ธ ์ง€์—ฐยท์‘๋‹ต ์†๋„๊ฐ€ ์š”๊ตฌ๋˜๋Š” ์ƒํ™ฉ์—์„œ W5500์€ ๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค.

๐Ÿ“ŒW5500 ์—ญํ•  ๋ฐ ์ ์šฉ ๋ฐฉ์‹

W5500์˜ ์ฃผ์š” ์—ญํ• 

  • ์œ ์„  ๊ธฐ๋ฐ˜ Moonraker ์—ฐ๊ฒฐ
    • Arduino Uno/Mega/Leonardo ๊ฐ™์€ ์ €์‚ฌ์–‘ MCU์—์„œ๋„
      W5500์„ ํ†ตํ•ด Klipper/Moonraker ์„œ๋ฒ„์™€ ์ง์ ‘ ํ†ต์‹  ๊ฐ€๋Šฅ
    • ๊ณ ์†ยท์•ˆ์ •์„ฑ์„ ์š”๊ตฌํ•˜๋Š” 3D ํ”„๋ฆฐํ„ฐ ์ œ์–ด์— ์ ํ•ฉ
  • ํ”„๋ฆฐํ„ฐ ์ƒํƒœ ์กฐํšŒ ๋ฐ ๋ฐ์ดํ„ฐ ์ˆ˜์‹ 
    • getServerInfo(), getPrinterInfo(), getPrinterStatistics() ๋“ฑ
      KlipperAPI์˜ ์ฃผ์š” ํ•จ์ˆ˜๋“ค์ด W5500 ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด Moonraker์— ์š”์ฒญ
    • ์˜จ๋„, ์œ„์น˜, ์ง„ํ–‰๋ฅ  ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋“œ์›จ์–ด ํŒจํ‚ท ์ฒ˜๋ฆฌ๋กœ ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜์‹ 
  • ์ œ์–ด ๋ช…๋ น ์ „์†ก
    • G-code ์ „์†ก(sendGcode()), ํ”„๋ฆฐํŠธ ์‹œ์ž‘/์ผ์‹œ์ •์ง€ยท์ทจ์†Œ ๋ช…๋ น,
      ์˜จ๋„ ์ œ์–ด/์ถ• ์ด๋™ ๋“ฑ ์ œ์–ด ์š”์ฒญ์„ W5500์„ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์ „๋‹ฌ
    • Wi-Fi ํ™˜๊ฒฝ๋ณด๋‹ค ์ง€์—ฐยท์˜ค๋ฅ˜ ์œ„ํ—˜์ด ๋‚ฎ์•„ ์•ˆ์ •์ ์ธ ํ”„๋ฆฐํ„ฐ ์ œ์–ด ๊ฐ€๋Šฅ
  • ๋„คํŠธ์›Œํฌ ์•ˆ์ •์„ฑ ํ™•๋ณด
    • ์˜ˆ์ œ ์ฝ”๋“œ์—์„œ Ethernet ์ƒํƒœ ํ™•์ธ, ๋งํฌ ๊ฐ์ง€, ์žฌ์‹œ๋„ ๋กœ์ง์„ ๊ตฌํ˜„
    • DHCP/Static IP ๋ชจ๋‘ ์ง€์›ํ•˜๋ฉฐ
      EthernetClient ๊ธฐ๋ฐ˜์œผ๋กœ KlipperAPI๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ๊ตฌ์„ฑ๋จ

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

ํ™œ์šฉ ๋ถ„์•ผ 

  • Klipper 3D ํ”„๋ฆฐํ„ฐ์šฉ ์™ธ๋ถ€ ์ œ์–ด ํŒจ๋„ ๋ฐ ์›๊ฒฉ ์ œ์–ด ํ„ฐ๋ฏธ๋„
  • ์†Œํ˜• LCD/OLED ๊ธฐ๋ฐ˜์˜ ๋…๋ฆฝํ˜• ์ƒํƒœ ํ‘œ์‹œ ์žฅ์น˜ ๋ฐ ๋ถ€์ €ยทLED ์•Œ๋ฆผ ์žฅ์น˜
  • ์กฐ๋ช…, ํŒฌ, ํ™˜๊ฒฝ ์„ผ์„œ ๋“ฑ Klipper ์ฃผ๋ณ€ ์žฅ๋น„ ์ œ์–ด ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ตํ•ฉ

๊ธฐ์กด ๋ฐฉ์‹ ๋Œ€๋น„ ์žฅ์  

  • ๊ธฐ์กด์—๋Š” ์ฃผ๋กœ ์›น UI(Fluidd/Mainsail)๋‚˜ Raspberry Pi์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด ์ œ์–ดํ–ˆ์ง€๋งŒ, ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ €๊ฐ€ํ˜• MCU ๋ณด๋“œ๋งŒ์œผ๋กœ Klipper๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ๋งŒ ์žˆ์œผ๋ฉด ๋‹จ์ผ MCU ๋ณด๋“œ๋กœ ์—ฌ๋Ÿฌ ํ”„๋ฆฐํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ์ „์šฉ HMI ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ (Expansion Potential)

  • IoT ์žฅ์น˜๋‚˜ ์Šค๋งˆํŠธ ํŒฉํ† ๋ฆฌํ˜• 3D ํ”„๋ฆฐํ„ฐ ํŒœ์—์„œ ๊ด€๋ฆฌ ๋…ธ๋“œ๋กœ ํ™œ์šฉ ๊ฐ€๋Šฅ
  • ์‚ฐ์—…์šฉ Ethernet, ์„ผ์„œ, ํ”„๋ฆฐํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ธŒ๋ฆฌ์ง€ ์—ญํ• ๋กœ ์ ํ•ฉ

๐Ÿ“Œ์กฐํšŒ์ˆ˜ ๋ฐ ๋ฐ˜์‘

ํ˜„์žฌ GitHub์—์„œ์˜ ์Šคํƒ€์™€ ํฌํฌ ์ˆ˜๋Š” ๋งŽ์ง€ ์•Š์œผ๋ฉฐ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์„ฑํ–ฅ์ด ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ FEATURES.md, ์˜ˆ์ œ ์ฝ”๋“œ ํด๋”, README์— ํฌํ•จ๋œ ์ƒ์„ธํ•œ API ๋ฌธ์„œ ๋“ฑ์ด ์ž˜ ์ •๋ฆฌ๋˜์–ด ์žˆ์–ด ๊ธฐ์ˆ ์  ์‹คํ—˜์ด๋‚˜ ์ฐธ๊ณ ์šฉ ์ž๋ฃŒ๋กœ๋Š” ์ถฉ๋ถ„ํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ŒWIZnet ์ „๋žต์  ๊ฐ€์น˜

Ethernet + Klipper ์กฐํ•ฉ์˜ ๋Œ€ํ‘œ ์‚ฌ๋ก€ ํ›„๋ณด

  • ์œ„์ฆˆ๋„คํŠธ ์นฉ์„ ์‚ฌ์šฉํ•œ ๋ณด๋“œ์—์„œ KlipperAPI ์Šคํƒ€์ผ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋ฉด, ์œ ์„ ยท์ €์ง€์—ฐ 3D ํ”„๋ฆฐํ„ฐ ์ปจํŠธ๋กค๋Ÿฌ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

3D ํ”„๋ฆฐํ„ฐ ์‹œ์žฅ ์ง„์ž… ํฌ์ธํŠธ

  • ์š”์ฆ˜ Klipper๋ฅผ ์“ฐ๋Š” 3D ํ”„๋ฆฐํ„ฐ ์œ ์ €์ธต์ด ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๊ณ , ํ”„๋ฆฐํ„ฐ ํŒœยท๊ณต๋™ ์ž‘์—…์‹คยทFabLab ๋“ฑ์—์„œ ํ”„๋ฆฐํ„ฐ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋งยท์ค‘์•™ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ํฌ๋‹ค.
  • ์œ„์ฆˆ๋„คํŠธ๋Š” โ€œEthernet + Klipper ์—ฐ๋™ ๋ณด๋“œ/๋ชจ๋“ˆ + ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒจํ‚ค์ง€โ€ ํ˜•ํƒœ๋กœ ์†”๋ฃจ์…˜์„ ๋ฌถ์–ด 3D ํ”„๋ฆฐํ„ฐ์šฉ ๋„คํŠธ์›Œํฌ ๋ชจ๋“ˆ ์‹œ์žฅ์— ์ง„์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

ESP ์ƒํƒœ๊ณ„ piggyback

  • ํ˜„์žฌ KlipperAPI๋Š” ESP8266, ESP32๋„ ์ง€์›ํ•˜๋ฏ€๋กœ, ESP + WIZnet Ethernet ๋ชจ๋“ˆ ์กฐํ•ฉ์œผ๋กœ โ€œWi-Fi + Ethernet ๋“€์–ผโ€ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Maker ๋Œ€์ƒ โ€œKlipper ์ „์šฉ ๋„คํŠธ์›Œํฌ ํ™•์žฅ ๋ชจ๋“ˆโ€ ๋ ˆํผ๋Ÿฐ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ WIZnet UCC๋กœ ๋งŒ๋“ค๋ฉด, ESP ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์œ„์ฆˆ๋„คํŠธ ์นฉ ๋…ธ์ถœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

Klipper Community :

https://klipper.discourse.group/t/can-i-add-ethernet-support-to-my-klipper-stm32f103-enc28j60-lan8720-or-w5500/14733

๐Ÿ“ŒWIZnet ์ „๋žต์  ๊ฐ€์น˜

In the Klipper user community, there have been active discussions about implementing Ethernet connectivity by pairing an MCU with an SPI-to-Ethernet chip such as the WIZnet W5500, ENC28J60, or LAN8720.
Overall forum feedback has been positive, with virtually no objections to combinations like โ€œSTM32 + W5500 (or ENC28J60/LAN8720)โ€.

๐Ÿ“Œ์š”์•ฝ

KlipperAPI๋Š” Ethernet ๋˜๋Š” Wi-Fi๋ฅผ ์‚ฌ์šฉํ•˜๋Š” MCU๋กœ Klipper๋ฅผ ์ง์ ‘ ์ œ์–ดํ•œ๋‹ค๋Š” ๊ฐœ๋…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์˜๋ฏธ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
์ด ํ”„๋กœ์ ํŠธ๋Š” ESP ์ƒํƒœ๊ณ„์™€ Klipper ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ธŒ๋ฆฟ์ง€ ์—ญํ• ์„ ํ•  ์ž ์žฌ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

Comments

Comments