---
title: "Implementing socket offload for W5500 in Zephyr"
url: "https://maker.wiznet.io/viktor/projects/implementing-socket-offload-for-w5500/"
markdown_url: "https://maker.wiznet.io/viktor/projects/implementing-socket-offload-for-w5500/md"
type: "UCC: User Created Content"
author: "TerryGeng"
author_url: "https://github.com/zephyrproject-rtos/zephyr/pull/83413"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "TerryGeng"
original_url: "https://github.com/zephyrproject-rtos/zephyr/pull/83413"
published: "2025-12-11"
language: "en"
hardware: ["WIZnet W5500"]
likes: 0
views: 539
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Implementing socket offload for W5500 in Zephyr

> Implementing socket offload for W5500 in Zephyr

Original author: TerryGeng (source: https://github.com/zephyrproject-rtos/zephyr/pull/83413)

## 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

## **Zephyr RTOS Receives Community Contribution for Full WIZnet W5500 TOE Support**

### **Introduction**

The Zephyr RTOS ecosystem continues to expand rapidly, driven by one of the most active open-source communities in embedded systems today. Zephyr has evolved from a small RTOS into a **global, industry-supported platform**, now backed by companies like Intel, Google, Nordic, NXP, Meta, and many more.

[![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765463939%2Epng)](https://www.zephyrproject.org/wp-content/uploads/2025/06/Zephyr-Overview-20250626.pdf)

With **over 1,500 active contributors per year** and an estimated **hundreds of thousands of engineers** using Zephyr globally, the project is growing into a key infrastructure layer for IoT, consumer electronics, and industrial devices.

A recent example of this momentum is a community pull request adding **true TOE (TCP/IP Offload Engine) support** for the WIZnet W5500 Ethernet controller. This update moves far beyond the existing MACRAW-only implementation and brings Zephyr closer to fully leveraging WIZnet’s hardware networking capabilities.

Before continuing, this is important to state clearly:
👉 **This project is not created by WIZnet, and WIZnet does not claim any ownership or rights to it.**
We are simply highlighting meaningful community work that benefits developers using WIZnet solutions.

---

### **Zephyr — A Fast-Growing Platform Shaping the Future of Connected Devices**

Zephyr is one of the most active RTOS projects ever created. Some key indicators of its growth:

- **1,500+ active developers annually**

- **25,000+ total contributors** since launch

- **Hundreds of supported boards** across every major MCU vendor

- **Millions of downstream devices** believed to ship with Zephyr-based firmware

- Ranked as a **top Linux Foundation project** in commit activity

[![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765463960%2Epng)](https://www.zephyrproject.org/wp-content/uploads/2025/06/Zephyr-Overview-20250626.pdf)

As Zephyr gains traction in commercial IoT, industrial connectivity, and wearable devices, hardware vendors benefit from integration into its official stack.

[![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765463984%2Epng)](https://www.zephyrproject.org/wp-content/uploads/2025/06/Zephyr-Overview-20250626.pdf)

The addition of WIZnet TOE support makes wired networking more efficient and accessible for the entire Zephyr user base.

---

## **About the Author (Contributor)**

This pull request was submitted by **Terry**, a developer active within the Zephyr networking community.
Terry’s contribution demonstrates:

- deep understanding of Zephyr’s network subsystem

- practical knowledge of SPI-based Ethernet devices

- strong experience with offload networking architectures

Their work brings Zephyr closer to full TCP/IP hardware offload support for WIZnet chips.

---

## **Project Description — Moving From MACRAW to Full TOE**

Zephyr’s current WIZnet driver only supports **MACRAW mode**, meaning the chip acts as a simple MAC/PHY interface while the MCU must run the full TCP/IP stack.

[![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765464013%2Epng)](https://www.zephyrproject.org/wp-content/uploads/2025/06/Zephyr-Overview-20250626.pdf)

Terry’s pull request introduces:

### **✔ Full W5500 TOE (TCP/IP Offload Engine) support**

The driver now leverages hardware-accelerated TCP/IP, handling:

- connection establishment

- retransmission

- timeout management

- socket handling

- packet segmentation and reassembly

This drastically reduces CPU load on resource-constrained MCUs.

### **✔ New socket-based API integration**

The PR maps W5500 sockets to Zephyr’s unified BSD-like socket API, enabling standard networking calls (connect, send, recv, bind, listen) while the W5500 handles protocol complexity internally.

### **✔ Improved stability and performance**

The author reports successful testing, including:

- **long-running TCP communication with no MCU-side retransmission overhead![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765463221%2Epng)**

- **stable throughput using only SPI bandwidth limits**

- **reduced CPU usage**, especially when handling multiple concurrent sockets

![](https://maker.wiznet.io/upload/ckeditor5/201746982%5F1765464095%2Epng)

These improvements highlight the benefits of shifting TCP/IP work into a dedicated hardware engine.

---

## **Why WIZnet Is Used in This Project**

### ✔ **True Hardware TCP/IP Offload**

The biggest value of the W5500—and the core of this PR—is the TOE engine.
Instead of running lwIP or Zephyr Net stack on the MCU, the W5500 performs:

- TCP/UDP protocol handling

- State machine management

- Automatic retries and ACK management

- Packet segmentation

- Checksum calculations

This offload dramatically improves efficiency, especially on MCUs with limited RAM or flash.

### ✔ **Simple SPI Control + High Reliability**

The SPI interface simplifies board design while retaining robust Ethernet performance.

### ✔ **Proven Long-Term Stability**

WIZnet’s TOE chips are widely used in industrial systems requiring years of uptime.

### ✔ **Ideal Match for Small MCUs**

When developers want Ethernet without the cost of running a full software stack, WIZnet’s TOE devices are a perfect fit.

---

## **How This Contribution Benefits WIZnet**

Even though WIZnet did not create this PR, it provides several meaningful advantages:

### ⭐ **Positions WIZnet as a first-class Ethernet option in Zephyr**

Native TOE support means WIZnet is no longer limited to MACRAW. Developers now see WIZnet as a **complete networking solution**, not just a MAC/PHY device.

### ⭐ **Encourages adoption in commercial Zephyr-based products**

As companies adopt Zephyr in production, having built-in WIZnet TOE support increases likelihood of W5500 design-wins.

### ⭐ **Stronger community ecosystem around WIZnet hardware**

Third-party driver contributions show that developers value WIZnet technology and want deeper integration.

---

Source: https://maker.wiznet.io/viktor/projects/implementing-socket-offload-for-w5500/
