---
title: "SuperLongBoard"
url: "https://maker.wiznet.io/scott/resellers/superlongboard/"
markdown_url: "https://maker.wiznet.io/scott/resellers/superlongboard/md"
type: "VAR: Value-Added Reseller Products"
author: "Sienci Labs"
author_url: "https://sienci.com/product/slb/"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Sienci Labs"
original_url: "https://sienci.com/product/slb/"
published: "2026-09-22"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 66
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# SuperLongBoard

> SuperLongBoard: Why a CNC Shop Tired of EMI Chose W5500 Ethernet Over USB

Original author: Sienci Labs (source: https://sienci.com/product/slb/)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## Summary

The **SuperLongBoard (SLB)** is a **$165 32-bit grblHAL controller** that Canada's Sienci Labs built for its **LongMill** desktop CNC router. To stop the mid-job disconnects its older board suffered from shop electrical noise (EMI), Sienci put a **WIZnet W5500 Ethernet port directly on the board** alongside USB-C. Following the code shows that the W5500 does not run as a hardware TCP/IP engine (TOE). It runs in **MACRAW mode**, and **lwIP** on the STM32F412 handles TCP/IP. That makes the SLB a notable case: a CNC controller chose the W5500 not as "a TCP engine in a chip" but as **"an Ethernet MAC+PHY on SPI."**

## Overview

**Sienci Labs** is a CNC maker based in Waterloo, Ontario, Canada. It says it has built **about 15,000 CNC machines** over roughly ten years, and that its free G-code sender **gSender** has **more than 60,000 users**. Its main products are the kit-style **LongMill** desktop router and the larger **AltMill**.

The SLB replaced the LongMill's brain. Sienci first showed it in April 2023, opened pre-orders in December 2023, and shipped the **first batch of 500 in April 2024**. Sienci says development took **more than 1.5 years and over $200k in R&D**. The hardware is released under **CERN-OHL-S v2**, schematics included, and was designed together with **Expatria Technologies**, the maker of the FlexiHAL grblHAL boards.

→ About Sienci: <https://sienci.com/about/>
→ SLB Welcome (development timeline): <https://resources.sienci.com/view/slb-welcome/>
→ Product page: <https://sienci.com/product/slb/>

## Why It Matters

### Sales — Confirmed

- First shipment of **500 units** (April 2024, firmware 5.0.3), and **about 700 sold** as of the Welcome page

- **Standard equipment on the LongMill MK2.5**

- Not a personal DIY build but **a commercial controller the maker ships in its own machines**

→ sienciHAL firmware changelog: <https://github.com/Sienci-Labs/sienciHAL>

### Motivation — EMI-Driven Disconnects

Sienci says its older LongBoard (Arduino-based) **dropped connections mid-job and had settings corrupted because of EMI**, and names this as the reason for developing the SLB. A CNC router runs a trim router or spindle, a dust collector, and stepper motors all at once, which makes for a noisy electrical environment. The USB cable between the PC and the controller becomes the weak link.

User reports point the same way. One SLB product review says:

> "Fixed my static issues, but only after switching to the ethernet jack."

→ SLB product reviews: <https://sienci.com/product/slb/>

### Industry Trend

Commercial grblHAL boards are increasingly **offering wired Ethernet, built in or as an option**.

- **Expatria FlexiHAL 2350** — an RP2350 grblHAL board with W5500 Ethernet

- **Ooznest** — adopted the W5500 on its ESP32-S3 grblHAL board

- **Sienci SLB** — W5500 mounted directly on the board

All three are controller makers for the hobby and small-shop CNC market. Wired links, long standard in industrial controllers, appear to be **moving down into hobby CNC boards** [Inferred].

→ FlexiHAL 2350 (WIZnet Makers): <https://maker.wiznet.io/scott/resellers/flexihal-2350-cnc-controller/>

## Product Breakdown

| Item | Detail |
| --- | --- |
| **MCU** | **STM32F412VGT6** (Cortex-M4, 100MHz, 1MB Flash, 256KB SRAM) |
| **Ethernet** | **WIZnet W5500** on board (U11, dedicated 25MHz crystal), **HanRun HR911105A** RJ45 |
| **USB** | USB-C (required for initial setup and firmware updates) |
| **Motor drivers** | **4 × TMC2660C** (X, Y1, Y2, Z); the fourth rotary axis (A) is an external-driver output |
| **Other I/O** | RS485 (Modbus VFD), spindle and laser PWM, tool length sensor, touch probe, E-stop, 3 macro buttons, microSD, CANBUS jack, RGB status light |
| **Power** | **24V** DC (product page says 12.5A; manual and board silkscreen say 10A. Adapter sold separately) |
| **Firmware** | grblHAL (Sienci fork sienciHAL; upstream grblHAL has also had an SLB board definition since March 2024) |
| **License** | Hardware **CERN-OHL-S v2** |
| **Price** | **$165** (currently out of stock) |

The SLB schematics are public, so you can see exactly how the W5500 is wired. The **Ethernet_Interface** sheet (B6.1, 2024-01-30) shows the W5500 (U11), a 25MHz crystal, the HR911105A RJ45 jack with integrated magnetics, and the `SPI_CS_JOG_SW`, `W5500_INTn`, and `W5500_RSTn` signals running to the MCU.

→ SLB schematic (B6.1): <https://github.com/Sienci-Labs/SuperLongBoard/blob/master/Project%20Outputs%20for%20Longboard_32bit/Schematic%20and%203D%20Prints/Longboard_32bit_Schematic_B6.1_FULL_PLACE.PDF>

### Sibling Model: SLB-EXT

The **SLB-EXT Closed-Loop Controller** ($175) is a sibling board for the larger AltMill. It has no on-board motor drivers and instead **drives external drivers such as closed-loop steppers**. It offers the same USB-C plus Ethernet setup as the SLB. We will cover the SLB-EXT in detail in a separate article.

→ SLB-EXT product page: <https://sienci.com/product/slb-ext-closed-loop-controller/>

## Architecture

Here is what happens when gSender on the PC sends a line of G-code over Ethernet.

1. gSender opens a TCP connection to the SLB's default address **192.168.5.1** and sends G-code

2. The Ethernet frame enters through the RJ45, the HR911105A isolation transformer, and into the **W5500**. The W5500 holds the frame in its on-chip buffer and signals the STM32 over **IRQ (PA10)**

3. The STM32 reads the whole frame over **SPI1** and hands it to **lwIP**. lwIP handles ARP, IP, TCP, and the ACK reply

4. The G-code string that lwIP extracts enters grblHAL's input stream and flows to the **motion planner, step generation, and the TMC2660C drivers**

5. Replies such as status reports go the other way: lwIP builds the frame, and the STM32 writes it to the W5500 for transmission

Sienci's manual says to **connect the PC directly instead of through a router**, and to give the PC a static IP in the same subnet (for example 192.168.5.5). The required bandwidth is only **1–2 Mbps**.

→ SLB technical manual: <https://resources.sienci.com/view/slb-manual/>

## Technology Background

### grblHAL — One Motion Core, Many Boards

**grblHAL** rewrites grbl 1.1, the Arduino CNC firmware, for 32-bit MCUs. Its key idea is a **hardware abstraction layer (HAL)**. The **core**, which holds G-code parsing and motion planning, never mixes with MCU-specific code. Each MCU **driver** exposes GPIO, timers, and communications to the core through function pointers. Features such as SD card support, Trinamic drivers, and networking attach as **plugins**.

- A core bug fix **reaches every board at once**

- A board maker can add its board with a single **board map** file

The SLB follows this structure exactly. The STM32F4xx driver contains a board map called `longboard32_map.h`, and the **networking plugin** handles Ethernet. Because board differences live in one board-map file, Sienci's plan to drop its own fork and return to upstream seems to have been feasible [Inferred].

→ grblHAL core wiki: <https://github.com/grblHAL/core/wiki>

### Shop EMI and Ethernet Isolation

USB **ties the PC's ground directly to the controller's ground through the cable.** In general, when a spindle or stepper kicks in and the two grounds shift, the difference can ride on the signal lines as **common-mode noise** and briefly drop the USB device [Inferred]. The SLB's USB circuit does include a common-mode choke and ESD protection (schematic USB_Connector sheet), but it has no galvanic isolator, so the grounds stay tied.

Ethernet works differently. The **isolation transformer** inside the RJ45 jack electrically separates the cable side from the chip side. The datasheet for the SLB's **HR911105A** lists:

- **1500Vrms isolation** (0.5mA, 60 seconds, cable side to chip side)

- **At least −30dB common-mode rejection** (1–50MHz)

So choosing Ethernet on the SLB **removes the direct ground connection between the PC and the controller.** Sienci's manual says to use Ethernet if the PC is far away or disconnects occur, and this isolation appears to be the reason [Inferred]. Still, Sienci says the USB side also has shielding and ferrites, so Ethernet is **not the only fix but the more reliable alternative**.

→ HR911105A datasheet: <https://core-electronics.com.au/attachments/localcontent/cc11be56d66bb63d5f1eeb85492439c0_335950a6d06.pdf>

## Technical Highlights

- **EMI countermeasures by default** — Sienci says both USB and Ethernet have shielding and ferrites, and explicitly lists Ethernet as a "communication alternative"

- **Separate roles for each link** — Ethernet for everyday jobs, USB-C for initial setup and firmware updates. Firmware cannot be updated over Ethernet

- **Direct link and static IP by default** — default IP `192.168.5.1`, netmask `255.255.255.0`, static mode. Standard grblHAL builds default to DHCP. Sienci's static default pairs with the manual's direct-link recommendation [Inferred]

- **Bundled network services** — the SLB's shipping firmware enables the grblHAL networking plugin's Telnet (sender connection), WebSocket (WebUI), and FTP (job file transfer) (sienciHAL `platformio.ini` lines 71–73). The plugin itself also supports HTTP, mDNS, SSDP, and more

- **From fork to upstream** — Sienci forked grblHAL in February 2023 (sienciHAL) to develop the SLB, and upstream grblHAL has had an SLB board definition since 2024-03-19. Sienci says it intends to merge its changes back upstream, and sienciHAL is now **intentionally not under active development**. Whether the merge is complete is unverified

→ grblHAL core #731 (static vs. DHCP defaults): <https://github.com/grblHAL/core/issues/731>

## Where WIZnet Fits

### TOE: No — MACRAW + lwIP

The SLB's W5500 is **not used as a hardware TCP/IP (TOE) engine.** It opens a single socket, socket 0, in **MACRAW mode** to pass raw Ethernet frames, and **lwIP** on the STM32 handles TCP/IP. The evidence is right in the code.

| Evidence | Location | Content |
| --- | --- | --- |
| lwIP glue code | grblHAL Plugin_networking `wiznet/enet.c` line 2 | "lwIP driver glue code for WizNet breakout boards" |
| Opening the MACRAW socket | Same file, line 461 (master) | `socket(SOCKET_MACRAW, Sn_MR_MACRAW, …)` |
| Frame hand-off | `wiznet/port/w5x00_lwip.c` | `recv_lwip()` / `send_lwip()` move frames to and from the lwIP `netif` |
| Buffer allocation | sienciHAL `Src/w5x00_ll_driver.c` line 133 | Socket 0 gets **TX 8KB / RX 8KB**, all other sockets 0KB (16KB of the W5500's 32KB in use) |
| Maintainer comment | grblHAL core #830 (an SLB-EXT issue) | Terje Io: "I reduced the MEM_SIZE … it is allocated for the lwIP stack" |
| Board definition | grblHAL STM32F4xx `boards/longboard32_map.h` lines 30–31 | Enabling Ethernet fails to compile unless `_WIZCHIP_=5500` |

sienciHAL's build config (`platformio.ini`) also includes `lwip` and `networking/wiznet` along with `-D _WIZCHIP_=5500`. Including WIZnet's `socket.h` does not make it TOE. Here that API is used **only to open one MACRAW socket**.

→ grblHAL Plugin_networking: <https://github.com/grblHAL/Plugin_networking>
→ grblHAL core #830: <https://github.com/grblHAL/core/issues/830>

### Division of Labor Between the W5500 and the STM32

| Task | Who |
| --- | --- |
| Physical layer (PHY), link negotiation, Ethernet MAC | **W5500** |
| Receive frame buffering (RX 8KB), arrival notice (IRQ) | **W5500** |
| ARP, IP, TCP, retransmission, ACK | **lwIP on the STM32** |
| Telnet, WebSocket, FTP (SLB shipping config) | **grblHAL networking plugin on the STM32** |
| G-code parsing, motion planning, step generation | **grblHAL core on the STM32** |

**Think of the W5500 here not as "a mailbox with a translator" but as "a sturdy mailbox."** It keeps the letters (frames) safe from the weather (electrical noise) and rings a bell (IRQ) when mail arrives. Opening the letters and writing replies (TCP/IP) is done by the homeowner (the STM32). That contrasts with products that run the W5500 in TOE mode (for example ZenoLAN0505, [Inferred] TOE), where the W5500 also plays the "counter clerk."

→ ZenoLAN0505 (WIZnet Makers): <https://maker.wiznet.io/scott/resellers/ip-ethernet-wifi-zenolan0505/>

### Why Not TOE? [Inferred]

We found no official document explaining why grblHAL chose MACRAW. The code structure suggests two reasons.

- **Socket count** — the networking plugin can run Telnet, WebSocket, FTP (control and data), HTTP, mDNS, SSDP, and MQTT at the same time. Add multiple clients and the **W5500's 8 hardware sockets** may not be enough

- **Code sharing** — grblHAL already has an lwIP path (`enet.c`) for MCUs with a **built-in Ethernet MAC**, such as the STM32F407. Putting the W5500 under lwIP too lets **all the upper-layer service code run unchanged**

→ W5500 official documentation (8 sockets, 32KB buffer): <https://docs.wiznet.io/Product/Chip/Ethernet/W5500>

### So Why the W5500?

The SLB's MCU, the **STM32F412**, **has no Ethernet MAC.** Ethernet is absent from the peripheral list on ST's product page, while the STM32F407 in the same F4 family lists a "10/100 Ethernet MAC." So for Ethernet, the SLB has to bring in **both the MAC and the PHY externally**.

The W5500 packs **MAC + PHY + a 32KB buffer into one chip on four SPI lines**. That advantage holds even in MACRAW mode. A second reason adds to it: the W5500 is **a chip upstream grblHAL already supports**, so one line, `_WIZCHIP_=5500`, plus the pin numbers in a board map unlocks the whole networking plugin.

→ STM32F412VG product page: <https://www.st.com/en/microcontrollers-microprocessors/stm32f412vg.html>
→ STM32F407VG product page: <https://www.st.com/en/microcontrollers-microprocessors/stm32f407vg.html>

### The Cost of MACRAW

- **RAM** — lwIP needs `MEM_SIZE 16K` (`wiznet/lwipopts.h`). That is manageable on the F412's 256KB of SRAM

- **Shared SPI** — on the SLB, the W5500 **shares SPI1 with the SD card** (sienciHAL `Inc/longboard32_map.h` lines 373–389). In grblHAL STM32F4xx #208, "Board hangs when network connection is used" (January 2025), Terje Io ran long tests under shared-SPI conditions but could not reproduce the hang. A participant from Expatria pointed out that a second W5500 IRQ arriving right after the first could be missed, and Terje replied that `enet.c` had already been refactored, so that change was likely no longer needed. The reporter confirmed on 2025-01-17 that the issue was **fixed in the new firmware**

→ grblHAL STM32F4xx #208: <https://github.com/grblHAL/STM32F4xx/issues/208>

## Similar Projects on WIZnet Makers

- **FlexiHAL 2350 CNC Controller** — a grblHAL board from **Expatria**, the SLB's design partner, that generates steps with RP2350 PIO and connects to the network through a W5500. When Ethernet is enabled, grblHAL's RP2040/RP2350 driver pulls in the same `networking/wiznet` code as the SLB along with `pico_lwip` (`CMakeLists.txt` lines 139–151), and the FlexiHAL 2350 board map assigns the WIZnet CS pin (`boards/flexihal2350_map.h` lines 201–204). In other words, **the FlexiHAL 2350 is also MACRAW + lwIP**
  → Project link: <https://maker.wiznet.io/scott/resellers/flexihal-2350-cnc-controller/>
  → grblHAL RP2040 build config: <https://github.com/grblHAL/RP2040/blob/master/CMakeLists.txt>

- **Why Did CNC Vendor Ooznest Choose W5500 Ethernet for Its grblHAL ESP32-S3 Board?** — an ESP32-S3 grblHAL board from UK CNC vendor Ooznest. It attaches the W5500 through the ESP-IDF `esp_eth` driver, and lwIP handles TCP. **The MCU and driver path differ, but the conclusion (W5500 = MAC+PHY, TCP = lwIP) matches the SLB**
  → Project link: <https://maker.wiznet.io/Benjamin/projects/why-did-cnc-vendor-ooznest-choose-w5500-ethernet-for-its-grblhal-esp32-s3-board/>

- **STM32F4xx grblHAL driver** — covers the very driver family that holds the SLB board map. It explains the driver's two network paths (built-in MAC + lwIP, and W5500). This article confirms in code that **the W5500 path is in fact MACRAW**
  → Project link: <https://maker.wiznet.io/matthew/projects/stm32f4xx-grblhal-driver/>

The three cases and the SLB all share one structure: **a grblHAL-family CNC controller gets wired networking from a W5500.** Whether the MCU is an STM32, an RP2350, or an ESP32-S3, the grblHAL side converges on using the W5500 as **a MAC+PHY under lwIP**.

| Item | SuperLongBoard | FlexiHAL 2350 | Ooznest ESP32-S3 | STM32F4xx driver |
| --- | --- | --- | --- | --- |
| Type | Commercial (Canada) | Commercial (Canada, Expatria) | Commercial (UK) | Open-source driver |
| MCU | STM32F412 | RP2350 | ESP32-S3 | STM32F4 family |
| W5500 connection | On board, SPI1 | W5500 | W5500, SPI | Per board |
| TCP/IP | **lwIP (MACRAW)** | lwIP (MACRAW) | lwIP (esp_eth) | Built-in MAC: lwIP / W5500: lwIP (MACRAW) |
| Motor drivers | 4 × TMC2660C on board | Unknown | Unknown | Per board |
| Price | $165 | Unknown | Unknown | Free (open source) |

**The shared design philosophy is "motion on the MCU, connectivity on the W5500, protocols in lwIP."** The SLB stands out by **packing this structure, plus four motor drivers, into a $165 finished board sold as the standard controller for the maker's own machines**.

## Business Value

### External View — Customers and Market

- **No more mid-job drops** — when a multi-hour carving job stops on a USB disconnect, both material and time are wasted. Ethernet's isolation transformer removes the direct ground connection between the PC and the controller, reducing that risk

- **Distance between PC and machine** — the machine can sit deep in a dusty, noisy shop while the PC stays outside

- **File transfer and remote control** — upload job files to the SD card over FTP, and run the machine from a browser through the WebUI

- **Open hardware** — public schematics let users and other makers learn from the design

## Limitations and Future Improvements

The SLB is a rare case of a maker tackling EMI head-on, publishing the result as open hardware, and working to return it to upstream grblHAL. What follows is not criticism but **room to grow into the next generation**.

### Current Limitations

- **Firmware updates over USB only** — firmware cannot be flashed over Ethernet, so a USB connection is still needed at least once

- **Direct link recommended** — the manual recommends a direct connection without a router. Forum posts report failures to reconnect over a direct link

- **Shared-SPI history** — the W5500 and SD card share SPI1, and there was a hang issue, which is now confirmed fixed

- **Conflicting product page text** — the body and the FAQ disagree on AltMill compatibility

- **Out of stock and a successor** — the board is out of stock, and a review mentions it was "replaced by a completely redesigned SLB." The successor's design is unverified

→ Forum "SLB Ethernet connection issues": <https://forum.sienci.com/t/12071>

### Improvements

- **Ethernet firmware updates** — a bootloader with network update support would remove the need for USB entirely. The W5500 makes such a bootloader easy to add in either MACRAW or TOE mode [Inferred]

- **Separate SPI** — the STM32F412 has five SPIs, so giving the W5500 its own bus would eliminate any chance of contention with the SD card [Inferred]

- **Integrated chips** — to shrink the board further, options such as the **W55RP20**, which combines an MCU and the W5500 in one package, are available. grblHAL already has an RP2040-family driver [Inferred]

## FAQ

**Q1. Can I update the firmware over Ethernet?** No. According to Sienci's manual, initial setup and firmware updates require USB-C. Ethernet is for communication during jobs.

**Q2. Can I go through a router or switch?** It works. However, the manual recommends a direct connection to the PC with static IPs (SLB default 192.168.5.1, PC in the same subnet). The required bandwidth is small, at 1–2 Mbps.

**Q3. Why is Ethernet more stable than USB?** The SLB's USB has a common-mode choke and ESD protection, but the PC and controller grounds are still tied together. With Ethernet, the transformer inside the RJ45 jack separates the two sides with 1500Vrms isolation.

**Q4. Does the W5500 handle TCP?** Not on the SLB. The W5500 passes raw Ethernet frames in MACRAW mode, and lwIP on the STM32 handles TCP/IP. You can confirm this in `enet.c` in the grblHAL networking plugin.

**Q5. How do the SLB and SLB-EXT differ?** The SLB is a LongMill controller with four motor drivers on board, while the SLB-EXT is an AltMill controller with no drivers that controls external closed-loop steppers. Both have the same USB-C and Ethernet setup. We cover the SLB-EXT in a separate article.

---

---

## 요약

**SuperLongBoard(SLB)** 는 캐나다 Sienci Labs 가 데스크톱 CNC 라우터 **LongMill** 용으로 만든 **$165 짜리 32비트 grblHAL 컨트롤러**입니다. 구형 보드가 작업장 전기 잡음(EMI) 때문에 작업 도중 끊기던 문제를 풀려고, USB-C 와 함께 **WIZnet W5500 Ethernet 포트를 보드에 직접 넣었습니다.** 코드를 따라가 보면 W5500 은 하드웨어 TCP/IP(TOE)가 아니라 **MACRAW 모드**로 쓰이고, TCP/IP 는 STM32F412 위의 **lwIP** 가 처리합니다. CNC 컨트롤러가 W5500 을 "칩 안의 TCP 엔진"이 아니라 **"SPI 로 붙는 Ethernet MAC+PHY"** 로 고른 사례라는 점에서 주목할 만합니다.

## 개요

**Sienci Labs** 는 캐나다 온타리오주 워털루의 CNC 제조사입니다. 약 10년 동안 **CNC 기계 약 15,000대**를 만들었고, 무료 G-code 송신 프로그램 **gSender** 사용자는 **6만 명 이상**이라고 밝힙니다. 주력 제품은 조립식 데스크톱 라우터 **LongMill** 과 대형 라우터 **AltMill** 입니다.

SLB 는 LongMill 의 두뇌를 바꾼 제품입니다. 2023-04 에 처음 공개됐고, 2023-12 에 사전주문을 받아 **2024-04 첫 물량 500대**가 출하됐습니다. Sienci 는 개발에 **1.5년 이상, R&D 비용 $200k 이상**이 들었다고 밝혔습니다. 하드웨어는 **CERN-OHL-S v2** 로 회로도까지 공개됐고, 설계는 grblHAL 보드 FlexiHAL 을 만든 **Expatria Technologies** 와 함께 했습니다.

→ Sienci 소개: <https://sienci.com/about/>
→ SLB Welcome(개발 연표): <https://resources.sienci.com/view/slb-welcome/>
→ 제품 페이지: <https://sienci.com/product/slb/>

## 도입 배경: 왜 필요한가

### 판매 실적 — 확인됨

- 첫 출하분 **500대**(2024-04, 펌웨어 5.0.3), Welcome 페이지 작성 시점까지 **약 700대** 판매

- **LongMill MK2.5 에 기본 탑재**됩니다

- 개인 DIY 가 아니라 **제조사가 자기 기계에 넣어 파는 상용 컨트롤러**입니다

→ sienciHAL 펌웨어 변경 이력: <https://github.com/Sienci-Labs/sienciHAL>

### 개발 동기 — EMI 로 인한 연결 끊김

Sienci 는 구형 LongBoard(Arduino 기반)가 **EMI 때문에 작업 도중 연결이 끊기고 설정이 손상되는** 문제를 겪었다고 밝히며, 이것을 SLB 개발 동기로 꼽습니다. CNC 라우터는 트리머나 스핀들 모터, 집진기, 스테퍼 모터가 한꺼번에 돌아 전기 잡음이 심한 환경입니다. 그 속에서 PC 와 컨트롤러를 잇는 USB 선이 약한 고리가 됩니다.

실사용자 증언도 같은 방향입니다. SLB 제품 리뷰 가운데 하나는 이렇게 적었습니다.

> "Fixed my static issues, but only after switching to the ethernet jack."

→ SLB 제품 리뷰: <https://sienci.com/product/slb/>

### 산업 트렌드 통찰

grblHAL 을 쓰는 상용 CNC 보드들이 잇달아 **유선 Ethernet 을 내장하거나 옵션으로** 제공하고 있습니다.

- **Expatria FlexiHAL 2350** — RP2350 grblHAL 보드. W5500 으로 Ethernet 연결

- **Ooznest** — ESP32-S3 grblHAL 보드에 W5500 채택

- **Sienci SLB** — W5500 을 보드에 직접 실장

세 회사 모두 취미·소규모 CNC 시장의 컨트롤러 제조사입니다. 산업용 컨트롤러에서는 당연하던 유선 연결이 **취미용 CNC 보드로 내려오는 흐름**으로 볼 수 있습니다 [추정].

→ FlexiHAL 2350 (WIZnet Makers): <https://maker.wiznet.io/scott/resellers/flexihal-2350-cnc-controller/>

## 제품 구성

| 항목 | 내용 |
| --- | --- |
| **MCU** | **STM32F412VGT6** (Cortex-M4, 100MHz, Flash 1MB, SRAM 256KB) |
| **Ethernet** | **WIZnet W5500** 보드 실장(U11, 전용 25MHz 크리스털), **HanRun HR911105A** RJ45 |
| **USB** | USB-C (초기 설정·펌웨어 업데이트 필수) |
| **모터 드라이버** | **TMC2660C × 4** (X, Y1, Y2, Z), 4번째 회전축(A)은 외부 드라이버 출력 |
| **기타 I/O** | RS485(Modbus VFD), 스핀들·레이저 PWM, 툴 길이 센서, 터치 프로브, E-stop, 매크로 버튼 3개, microSD, CANBUS 잭, RGB 상태등 |
| **전원** | DC **24V** (제품 페이지는 12.5A, 매뉴얼과 보드 실크는 10A 로 표기. 어댑터 별매) |
| **펌웨어** | grblHAL (Sienci 포크 sienciHAL. 2024-03 부터 grblHAL 본가에도 SLB 보드 정의가 있음) |
| **라이선스** | 하드웨어 **CERN-OHL-S v2** |
| **가격** | **$165** (현재 품절) |

SLB 의 회로도는 공개돼 있어서 W5500 이 어떻게 붙었는지 직접 볼 수 있습니다. **Ethernet_Interface** 시트(B6.1, 2024-01-30)에는 W5500(U11)과 25MHz 크리스털, 자석 내장 RJ45 잭 HR911105A, 그리고 MCU 쪽으로 가는 `SPI_CS_JOG_SW`·`W5500_INTn`·`W5500_RSTn` 신호가 그려져 있습니다.

→ SLB 회로도(B6.1): <https://github.com/Sienci-Labs/SuperLongBoard/blob/master/Project%20Outputs%20for%20Longboard_32bit/Schematic%20and%203D%20Prints/Longboard_32bit_Schematic_B6.1_FULL_PLACE.PDF>

### 형제 모델 SLB-EXT

**SLB-EXT Closed-Loop Controller**($175)는 대형 라우터 AltMill 용 형제 보드입니다. 보드에 모터 드라이버가 없고 **폐루프 스테퍼 같은 외부 드라이버를 제어**합니다. USB-C 와 Ethernet 을 함께 제공하는 구성은 SLB 와 같습니다. SLB-EXT 는 별도 글에서 자세히 다룹니다.

→ SLB-EXT 제품 페이지: <https://sienci.com/product/slb-ext-closed-loop-controller/>

## 아키텍처

PC 에서 gSender 가 G-code 한 줄을 Ethernet 으로 보낼 때 흐름은 다음과 같습니다.

1. gSender 가 SLB 의 기본 주소 **192.168.5.1** 로 TCP 연결을 열고 G-code 를 보냅니다

2. 이더넷 프레임이 RJ45 → HR911105A(절연 트랜스포머) → **W5500** 으로 들어옵니다. W5500 은 프레임을 칩 안의 버퍼에 담고 **IRQ(PA10)** 로 STM32 에 알립니다

3. STM32 가 **SPI1** 로 프레임을 통째로 읽어 **lwIP** 에 넘깁니다. ARP·IP·TCP 처리와 ACK 응답은 lwIP 가 합니다

4. lwIP 가 꺼낸 G-code 문자열이 grblHAL 의 입력 스트림으로 들어가 **모션 플래너 → 스텝 생성 → TMC2660C** 로 이어집니다

5. 상태 보고 같은 응답은 반대 방향으로, lwIP 가 만든 프레임을 STM32 가 W5500 에 써서 내보냅니다

Sienci 매뉴얼은 **공유기를 거치지 말고 PC 와 직결**하고, PC 쪽에도 같은 대역의 고정 IP(예: 192.168.5.5)를 주라고 안내합니다. 필요한 대역폭은 **1~2Mbps** 수준입니다.

→ SLB 기술 매뉴얼: <https://resources.sienci.com/view/slb-manual/>

## 기술 배경

### grblHAL — 하나의 모션 코어, 여러 보드

**grblHAL** 은 Arduino 용 CNC 펌웨어 grbl 1.1 을 32비트 MCU 용으로 다시 쓴 프로젝트입니다. 핵심은 **하드웨어 추상화 계층(HAL)** 입니다. G-code 해석과 모션 플래닝을 담은 **core** 는 어떤 MCU 코드와도 섞이지 않고, MCU 별 **driver** 가 GPIO·타이머·통신을 함수 포인터로 core 에 알려 줍니다. SD 카드, Trinamic 드라이버, 네트워킹 같은 기능은 **plugin** 으로 붙습니다.

- core 의 버그 수정은 **모든 보드에 바로 반영**됩니다

- 보드 제조사는 **보드 정의(board map)** 파일 하나로 자기 보드를 추가할 수 있습니다

SLB 는 이 구조를 그대로 탔습니다. STM32F4xx driver 에 `longboard32_map.h` 라는 보드 정의가 있고, Ethernet 은 **networking plugin** 이 맡습니다. 보드 차이가 보드 정의 파일 하나에 모이는 구조라, Sienci 가 자체 포크를 접고 본가로 돌아가려는 계획도 가능했던 것으로 보입니다 [추정].

→ grblHAL core 위키: <https://github.com/grblHAL/core/wiki>

### CNC 작업장의 EMI 와 Ethernet 절연

USB 는 PC 와 컨트롤러의 **접지(GND)를 선 하나로 직접 잇습니다.** 일반적으로 스핀들이나 스테퍼가 도는 순간 두 기기의 접지 전위가 흔들리면, 그 차이가 **공통 모드 잡음**이 되어 신호선에 실리고 USB 장치가 순간적으로 끊기는 원인이 될 수 있습니다 [추정]. SLB 의 USB 회로에도 공통 모드 초크와 ESD 보호 소자가 있지만(회로도 USB_Connector 시트), 갈바닉 절연기는 없어 접지는 직결됩니다.

Ethernet 은 구조가 다릅니다. RJ45 잭 안의 **절연 트랜스포머**가 케이블 쪽과 칩 쪽을 전기적으로 떼어 놓습니다. SLB 가 쓰는 **HR911105A** 는 데이터시트에 다음 값을 적고 있습니다.

- **절연 1500Vrms** (0.5mA, 60초, 케이블 쪽 ↔ 칩 쪽)

- **공통 모드 제거 −30dB 이상** (1~50MHz)

즉 SLB 에서 Ethernet 을 고르면 **PC 와 컨트롤러 사이의 직접 접지 연결이 사라집니다.** Sienci 매뉴얼은 "PC 를 멀리 두거나 끊김이 생기면 Ethernet 을 쓰라"고 안내하는데, 이 절연 구조가 그 배경으로 보입니다 [추정]. 다만 SLB 는 USB 쪽에도 차폐와 페라이트를 넣어 두었다고 밝히므로, Ethernet 은 **유일한 해법이 아니라 더 확실한 대안**입니다.

→ HR911105A 데이터시트: <https://core-electronics.com.au/attachments/localcontent/cc11be56d66bb63d5f1eeb85492439c0_335950a6d06.pdf>

## 기술 특징

- **EMI 대책을 기본값으로** — USB·Ethernet 모두 차폐와 페라이트를 넣었다고 밝히며, Ethernet 을 "통신 대안"으로 명시합니다

- **통신 경로 분리** — 일상 작업은 Ethernet, 초기 설정과 펌웨어 업데이트는 USB-C 입니다. Ethernet 으로는 펌웨어를 올릴 수 없습니다

- **직결·고정 IP 기본값** — 기본 IP `192.168.5.1`, 넷마스크 `255.255.255.0`, static 모드입니다. 표준 grblHAL 빌드의 기본값은 DHCP 입니다. Sienci 의 static 기본값은 매뉴얼의 직결 권장과 짝을 이룹니다 [추정]

- **네트워크 서비스 묶음** — SLB 출하 펌웨어는 grblHAL networking plugin 의 Telnet(송신 프로그램 연결), WebSocket(WebUI), FTP(작업 파일 전송)를 켭니다(sienciHAL `platformio.ini` 71–73행). 플러그인 자체는 HTTP·mDNS·SSDP 등도 지원합니다

- **포크에서 본가로** — Sienci 는 2023-02 에 grblHAL 을 포크(sienciHAL)해 SLB 를 개발했고, 2024-03-19 부터 grblHAL 본가에 SLB 보드 정의가 들어가 있습니다. Sienci 는 변경 사항을 본가에 다시 합치겠다고 밝혔고, sienciHAL 은 지금 **일부러 개발을 멈춘** 상태입니다. 병합이 모두 끝났는지는 확인되지 않았습니다

→ grblHAL core #731 (static 과 DHCP 기본값): <https://github.com/grblHAL/core/issues/731>

## W5500 이 이 보드에서 하는 일

### TOE 사용: 아니오 — MACRAW + lwIP

SLB 의 W5500 은 **하드웨어 TCP/IP(TOE)로 쓰이지 않습니다.** W5500 의 소켓 0 하나를 **MACRAW 모드**로 열어 이더넷 프레임만 주고받고, TCP/IP 는 STM32 위의 **lwIP** 가 처리합니다. 근거는 코드에 그대로 있습니다.

| 근거 | 위치 | 내용 |
| --- | --- | --- |
| lwIP 연결 코드 | grblHAL Plugin_networking `wiznet/enet.c` 2행 | "lwIP driver glue code for WizNet breakout boards" |
| MACRAW 소켓 열기 | 같은 파일 461행 (master) | `socket(SOCKET_MACRAW, Sn_MR_MACRAW, …)` |
| 프레임 전달 | `wiznet/port/w5x00_lwip.c` | `recv_lwip()` / `send_lwip()` 로 프레임을 받아 lwIP `netif` 로 넘김 |
| 버퍼 배분 | sienciHAL `Src/w5x00_ll_driver.c` 133행 | 소켓 0 에 **TX 8KB · RX 8KB** 를 주고 나머지 소켓은 0KB (W5500 의 32KB 중 16KB 사용) |
| 관리자 발언 | grblHAL core #830 (SLB-EXT 이슈) | Terje Io: "I reduced the MEM_SIZE … it is allocated for the lwIP stack" |
| 보드 정의 | grblHAL STM32F4xx `boards/longboard32_map.h` 30–31행 | Ethernet 을 켜면 `_WIZCHIP_=5500` 이 아니면 컴파일 오류 |

sienciHAL 의 빌드 설정(`platformio.ini`)도 `-D _WIZCHIP_=5500` 과 함께 `lwip`·`networking/wiznet` 을 포함합니다. WIZnet 의 `socket.h` 가 들어 있다고 TOE 인 것은 아닙니다. 여기서는 그 API 로 **MACRAW 소켓 하나를 여는 데만** 씁니다.

→ grblHAL Plugin_networking: <https://github.com/grblHAL/Plugin_networking>
→ grblHAL core #830: <https://github.com/grblHAL/core/issues/830>

### W5500 과 STM32 의 분업

| 일 | 누가 |
| --- | --- |
| 물리 계층(PHY), 링크 협상, 이더넷 MAC | **W5500** |
| 수신 프레임 버퍼링(RX 8KB), 도착 알림(IRQ) | **W5500** |
| ARP·IP·TCP·재전송·ACK | **STM32 의 lwIP** |
| Telnet·WebSocket·FTP (SLB 출하 설정) | **STM32 의 grblHAL networking plugin** |
| G-code 해석·모션 플래닝·스텝 생성 | **STM32 의 grblHAL core** |

**비유하자면 W5500 은 "번역가가 딸린 우편함"이 아니라 "튼튼한 우편함"입니다.** 편지(프레임)를 비바람(전기 잡음)에서 지키고, 편지가 오면 벨(IRQ)을 울려 줍니다. 편지를 뜯어 읽고 답장을 쓰는 일(TCP/IP)은 집주인(STM32)이 직접 합니다. W5500 을 TOE 로 쓰는 제품(예: ZenoLAN0505 [추정] TOE)이 W5500 에 "창구 직원" 역할까지 맡기는 것과 대조됩니다.

→ ZenoLAN0505 (WIZnet Makers): <https://maker.wiznet.io/scott/resellers/ip-ethernet-wifi-zenolan0505/>

### 왜 TOE 를 쓰지 않았나 [추정]

grblHAL 이 MACRAW 를 고른 이유를 밝힌 공식 문서는 찾지 못했습니다. 코드 구조로 보면 이유는 두 가지로 추정됩니다.

- **소켓 수** — networking plugin 은 Telnet·WebSocket·FTP(제어·데이터)·HTTP·mDNS·SSDP·MQTT 를 동시에 띄울 수 있습니다. 여기에 여러 클라이언트까지 붙으면 **W5500 의 하드웨어 소켓 8개**로는 모자랄 수 있습니다

- **코드 공유** — grblHAL 에는 STM32F407 처럼 **Ethernet MAC 이 내장된 MCU** 용 lwIP 경로(`enet.c`)가 이미 있습니다. W5500 도 lwIP 아래에 두면 **위쪽 서비스 코드를 그대로 쓸 수 있습니다**

→ W5500 공식 문서(소켓 8개, 버퍼 32KB): <https://docs.wiznet.io/Product/Chip/Ethernet/W5500>

### 그렇다면 왜 W5500 인가

SLB 의 MCU **STM32F412** 에는 **Ethernet MAC 이 없습니다.** ST 제품 페이지의 주변장치 목록에 Ethernet 이 없고, 같은 F4 계열의 STM32F407 은 "10/100 Ethernet MAC" 을 명시합니다. 따라서 SLB 가 Ethernet 을 쓰려면 **MAC 과 PHY 를 모두 외부에서** 가져와야 합니다.

W5500 은 **MAC + PHY + 32KB 버퍼를 한 칩에 담고 SPI 네 가닥으로** 붙습니다. MACRAW 로 쓰더라도 이 장점은 그대로입니다. 여기에 두 번째 이유가 더해집니다. W5500 은 **grblHAL 본가가 이미 지원하는 칩**이어서, 보드 정의에 `_WIZCHIP_=5500` 한 줄과 핀 번호만 넣으면 networking plugin 전체를 쓸 수 있습니다.

→ STM32F412VG 제품 페이지: <https://www.st.com/en/microcontrollers-microprocessors/stm32f412vg.html>
→ STM32F407VG 제품 페이지: <https://www.st.com/en/microcontrollers-microprocessors/stm32f407vg.html>

### MACRAW 의 대가

- **RAM** — lwIP 에 `MEM_SIZE 16K` 를 떼어 줘야 합니다(`wiznet/lwipopts.h`). 256KB SRAM 인 F412 에는 감당할 만한 크기입니다

- **SPI 공유** — SLB 에서 W5500 은 **SD 카드와 SPI1 을 함께 씁니다**(sienciHAL `Inc/longboard32_map.h` 373–389행). 2025-01 grblHAL STM32F4xx #208 "네트워크를 쓰면 보드가 멈춤" 이슈에서 Terje Io 는 SPI 를 공유하는 조건으로 장시간 테스트했지만 재현하지 못했습니다. Expatria 쪽 참여자는 W5500 IRQ 가 연달아 오면 두 번째를 놓칠 수 있다고 지적했고, Terje 는 `enet.c` 가 이미 리팩터링돼 그 수정이 필요 없을 것이라고 답했습니다. 신고자는 2025-01-17 **새 펌웨어에서 해결**됐다고 확인했습니다

→ grblHAL STM32F4xx #208: <https://github.com/grblHAL/STM32F4xx/issues/208>

## WIZnet Makers 유사 사례

- **FlexiHAL 2350 CNC Controller** — SLB 설계 협업사 **Expatria** 의 grblHAL 보드로, RP2350 PIO 로 스텝을 만들고 W5500 으로 네트워크를 연결합니다. grblHAL 의 RP2040/RP2350 드라이버는 Ethernet 을 켜면 SLB 와 같은 `networking/wiznet` 코드와 `pico_lwip` 을 함께 넣고(`CMakeLists.txt` 139–151행), FlexiHAL 2350 보드 정의도 WIZnet CS 핀을 잡습니다(`boards/flexihal2350_map.h` 201–204행). 즉 **FlexiHAL 2350 도 MACRAW + lwIP** 입니다
  → 프로젝트 링크: <https://maker.wiznet.io/scott/resellers/flexihal-2350-cnc-controller/>
  → grblHAL RP2040 빌드 설정: <https://github.com/grblHAL/RP2040/blob/master/CMakeLists.txt>

- **Why Did CNC Vendor Ooznest Choose W5500 Ethernet for Its grblHAL ESP32-S3 Board?** — 영국 CNC 업체 Ooznest 의 ESP32-S3 grblHAL 보드입니다. W5500 을 ESP-IDF `esp_eth` 드라이버로 붙이고 TCP 는 lwIP 가 맡습니다. **MCU 와 드라이버 경로는 달라도 결론(W5500 = MAC+PHY, TCP = lwIP)은 SLB 와 같습니다**
  → 프로젝트 링크: <https://maker.wiznet.io/Benjamin/projects/why-did-cnc-vendor-ooznest-choose-w5500-ethernet-for-its-grblhal-esp32-s3-board/>

- **STM32F4xx grblHAL driver** — SLB 보드 정의가 들어 있는 바로 그 드라이버 계열을 다룬 글입니다. 드라이버 전체의 두 가지 네트워크 경로(내장 MAC + lwIP, W5500)를 설명합니다. 이번 글은 그중 **W5500 경로가 실제로 MACRAW 라는 점**을 코드로 확인했습니다
  → 프로젝트 링크: <https://maker.wiznet.io/matthew/projects/stm32f4xx-grblhal-driver/>

세 사례와 SLB 는 모두 **grblHAL 계열 CNC 컨트롤러가 W5500 으로 유선 네트워크를 얻는** 구조입니다. MCU 가 STM32 든 RP2350 이든 ESP32-S3 든, grblHAL 쪽에서는 W5500 을 **lwIP 아래의 MAC+PHY** 로 쓰는 쪽으로 모입니다.

| 항목 | SuperLongBoard | FlexiHAL 2350 | Ooznest ESP32-S3 | STM32F4xx driver |
| --- | --- | --- | --- | --- |
| 구분 | 상용(캐나다) | 상용(캐나다, Expatria) | 상용(영국) | 오픈소스 드라이버 |
| MCU | STM32F412 | RP2350 | ESP32-S3 | STM32F4 계열 |
| W5500 연결 | 보드 실장, SPI1 | W5500 | W5500, SPI | 보드별 선택 |
| TCP/IP | **lwIP (MACRAW)** | lwIP (MACRAW) | lwIP (esp_eth) | 내장 MAC: lwIP / W5500: lwIP (MACRAW) |
| 모터 드라이버 | TMC2660C × 4 내장 | 미상 | 미상 | 보드별 |
| 가격 | $165 | 미상 | 미상 | 무료(오픈소스) |

**공통 설계 철학은 "모션은 MCU, 연결은 W5500, 프로토콜은 lwIP" 입니다.** SLB 의 차별점은 이 구조를 **$165 완제품에 모터 드라이버 4개까지 넣어 자사 기계의 기본 컨트롤러로 판다**는 데 있습니다.

## 비즈니스 가치

### 외부 관점 — 고객·시장

- **작업 중 끊김 해소** — 몇 시간짜리 조각 작업이 USB 끊김으로 중단되면 재료와 시간이 함께 버려집니다. Ethernet 은 절연 트랜스포머로 PC 와 컨트롤러의 직접 접지 연결을 없애 이 위험을 줄입니다

- **PC 와 기계의 거리** — 먼지와 소음이 나는 작업장 안쪽에 기계를, 바깥쪽에 PC 를 둘 수 있습니다

- **파일 전송과 원격 조작** — FTP 로 작업 파일을 SD 에 올리고, WebUI 로 브라우저에서 기계를 다룰 수 있습니다

- **오픈 하드웨어** — 회로도가 공개돼 있어 사용자와 다른 제조사가 설계를 참고할 수 있습니다

## 한계 및 개선 방향

SLB 는 제조사가 EMI 문제를 정면으로 풀고, 그 결과를 오픈 하드웨어로 공개하고 grblHAL 본가로 되돌리려는 드문 사례입니다. 아래는 비판이 아니라 **다음 세대로 갈 개선 기회**입니다.

### 현재 한계

- **펌웨어 업데이트는 USB 로만** — Ethernet 으로는 펌웨어를 올릴 수 없어, 결국 USB 연결이 한 번은 필요합니다

- **직결 권장** — 매뉴얼은 공유기 없이 직결하라고 권합니다. 포럼에는 직결 상태에서 재연결이 안 된다는 보고가 있습니다

- **SPI 공유 이력** — W5500 과 SD 카드가 SPI1 을 공유해 멈춤 이슈가 있었고, 지금은 해결된 것으로 확인됩니다

- **제품 페이지 표기 모순** — AltMill 호환 여부가 본문과 FAQ 에서 다르게 적혀 있습니다

- **품절과 후속 제품** — 현재 품절이고, 리뷰에는 "완전히 재설계된 SLB 로 대체됐다"는 언급이 있습니다. 후속 제품의 구성은 확인 불가입니다

→ 포럼 "SLB Ethernet connection issues": <https://forum.sienci.com/t/12071>

### 개선 방향

- **Ethernet 펌웨어 업데이트** — 부트로더가 네트워크 업데이트를 지원하면 USB 를 완전히 뺄 수 있습니다. W5500 은 MACRAW·TOE 어느 쪽이든 이런 부트로더를 붙이기 쉬운 칩입니다 [추정]

- **SPI 분리** — STM32F412 는 SPI 가 다섯 개라, W5500 에 SPI 버스를 따로 주면 SD 카드와의 충돌 여지가 사라집니다 [추정]

- **일체형 칩 검토** — 보드를 더 줄이려면 MCU 와 W5500 을 한 패키지에 담은 **W55RP20** 같은 선택지도 있습니다. grblHAL 은 이미 RP2040 계열 드라이버를 갖고 있습니다 [추정]

## FAQ

**Q1. Ethernet 으로 펌웨어도 업데이트할 수 있나요?** 아니요. Sienci 매뉴얼에 따르면 초기 설정과 펌웨어 업데이트에는 USB-C 가 필요합니다. Ethernet 은 작업 중 통신용입니다.

**Q2. 공유기나 스위치를 거쳐도 되나요?** 연결은 됩니다. 다만 매뉴얼은 PC 와 직결하고 고정 IP(SLB 기본 192.168.5.1, PC 는 같은 대역)를 쓰라고 권합니다. 필요한 대역폭은 1~2Mbps 로 작습니다.

**Q3. 왜 USB 보다 Ethernet 이 안정적인가요?** SLB 의 USB 에도 공통 모드 초크와 ESD 보호가 있지만 PC 와 컨트롤러의 접지는 직결됩니다. Ethernet 은 RJ45 잭 안의 트랜스포머가 1500Vrms 절연으로 양쪽을 떼어 놓습니다.

**Q4. W5500 이 TCP 를 처리하나요?** SLB 에서는 아닙니다. W5500 은 MACRAW 모드로 이더넷 프레임만 주고받고, TCP/IP 는 STM32 위의 lwIP 가 처리합니다. grblHAL networking plugin 의 `enet.c` 에서 확인할 수 있습니다.

**Q5. SLB 와 SLB-EXT 는 무엇이 다른가요?** SLB 는 모터 드라이버 4개를 보드에 내장한 LongMill 용 컨트롤러이고, SLB-EXT 는 드라이버 없이 외부 폐루프 스테퍼를 제어하는 AltMill 용 컨트롤러입니다. USB-C 와 Ethernet 구성은 같습니다. SLB-EXT 는 별도 글에서 다룹니다.

---

Source: https://maker.wiznet.io/scott/resellers/superlongboard/
