Wiznet makers

matthew

Published July 29, 2025 ©

88 UCC

9 WCC

31 VAR

0 Contests

0 Followers

0 Following

Original Link

W55RP20のサンプルプログラムを実際に試してみる

Learn how to develop W55RP20-EVB-PICO with PICO-SDK: build SNTP (UDP) example, adjust board settings, and switch fixed IP to DHCP.

COMPONENTS
PROJECT DESCRIPTION

Overview

This tutorial demonstrates how to work with the W55RP20-EVB-PICO development board using the Raspberry Pi Pico C/C++ SDK (PICO-SDK) instead of Arduino.
Because the Arduino environment lacks UDP examples, the author explores the SNTP (UDP-based) example included in PICO-SDK, building and running it on W55RP20. Beyond a simple run, the article explains how to adjust the board configuration in CMakeLists.txt and switch the default fixed IP setting to DHCP, highlighting real-world considerations in SDK-based development.


Original Language & Author

The article was originally published in Japanese on Zenn (Dec 13, 2024).
The author, Yuta Kitagami (@nonNoise), is co-founder of ArtifactNoise, LLC and an inventor with a focus on embedded and IoT development. He previously wrote about Arduino basics for W55RP20; this follow-up extends into lower-level SDK development.
By publishing in Japanese, the tutorial is highly accessible to local makers (including domestic distributor links like Switch Science). This curated English version ensures that global readers can also reproduce the same results without language barriers.


Key Highlights

Clone the GitHub repository (with submodules)

 
git clone --recurse-submodules https://github.com/WIZnet-ioNIC/WIZnet-PICO-C.git cd WIZnet-PICO-C/

Update board configuration in CMakeLists.txt
The default setting is W5500_EVB_PICO. To target the W55RP20 board, modify:

 
set(BOARD_NAME W55RP20_EVB_PICO)

Build and run the example

 
mkdir build cd build cmake .. cd examples/sntp make -j4

A .uf2 file will be generated. Copy it to the board to flash and run.

Observe logs and troubleshoot
USB serial logs may initially show: “SNTP failed : 0”.
This reveals that the default example uses a fixed IP configuration. Modifying the code to use DHCP and rebuilding resolves the issue.


Why It Matters

Goes beyond Arduino limitations: PICO-SDK provides UDP-based examples, unavailable in the Arduino environment.

Deeper hardware understanding: Since W55RP20 integrates RP2040 and W5500, SDK-based development exposes resource initialization and SPI handling details that Arduino abstracts away.

Real-world problem solving: Adjusting from fixed IP to DHCP simulates the type of environment-specific tuning required in actual IoT deployments.

Gateway to advanced networking: Starting with SNTP, developers can extend to HTTP, MQTT, and cloud integrations such as AWS IoT Core using the SDK.


Quick Reproduce (Checklist)

Clone the repo with --recurse-submodules.

In CMakeLists.txt, set BOARD_NAME to W55RP20_EVB_PICO.

Create build directory → run cmake .. → build SNTP example with make -j4.

Copy the generated .uf2 file to the board.

Use USB serial to monitor logs. If errors appear, switch from fixed IP to DHCP and rebuild.


References

Original (Japanese): Zenn — PICO-SDKでW55RP20を開発してみる (by Yuta Kitagami, 2024-12-13)

WIZnet Docs: W55RP20-EVB-Pico Overview

GitHub: WIZnet-PICO-C

Documents
Comments Write