---
title: "Getting Started with W55RP20 on Ubuntu"
url: "https://maker.wiznet.io/Lihan__/projects/w55rp20-getting-started-with-ubuntu/"
markdown_url: "https://maker.wiznet.io/Lihan__/projects/w55rp20-getting-started-with-ubuntu/md"
type: "WCC: WIZnet Created Content"
author: "Lihan__"
author_url: "https://maker.wiznet.io/Lihan__/"
original_author: "Lihan"
published: "2024-11-27"
language: "en"
hardware: ["WIZnet W55RP20-EVB-Pico"]
likes: 0
views: 1984
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Getting Started with W55RP20 on Ubuntu

> This guide explains how to set up the W55RP20 development environment on Ubuntu, build examples, and verify functionality.

Original author: Lihan

## Components

- **WIZnet W55RP20-EVB-Pico** x 1 ([docs](https://wiznet.io/products/powered-by-raspberry-pi/w55rp20-evb-pico))

## Documents and links

- [Getting started with Raspberry Pi Pico-series](https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf) (code)
- [WIZnet-ioNIC/WIZnet-PICO-C](https://github.com/WIZnet-ioNIC) (code)

## Article

## Raspberry Pi Pico Setup Guide and Example for Ubuntu

This guide explains how to set up the W55RP20 development environment on Ubuntu, build examples, and verify functionality.

## Development Environment SETUP

#### Update Ubuntu Packages

First, ensure your system packages are up-to-date:

```plaintext
$apt-get install  
$apt-get upgrade
```

#### Install Required Packages

Install essential tools for building and running the examples:

```plaintext
$sudo apt-get install wget cmake python3 git tar  
$sudo apt-get install gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential  
$sudo apt-get install g++ libstdc++-arm-none-eabi-newlib
```

#### Download Raspberry Pi Pico Setup Script

Download the setup script provided by Raspberry Pi to streamline the setup process:

```plaintext
$mkdir setupScript 
$cd setupScript 
$wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
```

Give the script execution permissions and run it:

```plaintext
$ ls -al  
$ chmod +x pico_setup.sh 
$ ls -al  
$ ./pico_setup.sh
```

Note: The script may take 10–20 minutes to complete and might require administrator privileges.

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/665362522%5F1732703626%2Epng)

After running the script, a directory named [pico] will be created, containing the SDK and example codes.

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

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/665362522%5F1732703702%2Epng)

---

## Building and Testing the Blink Example

Navigate to the examples directory, create a build directory, and configure the build environment using CMake:

```plaintext
$ cd pico/pico-examples/ 
$ mkdir build 
$ cd build 
$ export PICO_SDK_PATH=/../../pico-sdk 
$ cmake ..
```

Build the blink example:

```plaintext
$ cd blink  
$ make -j4
```

If successful, you will find .bin and .uf2 files in the build output directory.

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/665362522%5F1732703935%2Epng)

---

## W55RP20 Setup and Example

#### Clone the WIZnet Repository

Clone the WIZnet-PICO-C repository for W55RP20 and initialize its submodules:

```plaintext
$ mkdir wiznet 
$ cd wiznet  
$ git clone https://github.com/WIZnet-ioNIC/WIZnet-PICO-C.git 
$ cd WIZnet-PICO-c 
$ git submodule update –init 
$ cd libraries/pico-sdk 
$ git submodule update –init 
$ cd ../ 
$ cd mbedtls 
$ git submodule update –init
```

#### Modify Configuration Files

Edit CMakeLists.txt to suit your target EVB board:

```plaintext
$ vi CMakeList.txt
```

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/665362522%5F1732705023%2Epng)

Edit w5x00_loopback.c in the example/loopback directory as needed:

```plaintext
$ cd  example/loopback 
$ vi w5x00_loopback.c
```

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/665362522%5F1732705139%2Epng)

---

## Build the W55RP20 Loopback Example

Create a build directory and proceed with the build:

```plaintext
$ cd ../../  
$ mkdir build 
$ cd build 
$ cmake .. 
$ cd example/loopback 
$ make -j4
```

If successful, .bin and .uf2 files will be generated in the build directory.

![텍스트, 스크린샷, 폰트이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/879222150%5F1732740089%2Epng)

---

## Uploading the UF2 File to Pico Flash

#### Entering Boot Mode on W55RP20

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

1. Connect the W55RP20 to the Ubuntu PC using a USB Type-C cable.

2. Hold the BOOTSEL button.

3. Press and release the RUN button while holding BOOTSEL.

4. Release the BOOTSEL button.

---

## Flash the UF2 File

Verify that W55RP20 is connected to the PC:

```plaintext
$ lsusb  
$ df
```

Mount the flash storage:

```plaintext
$ mkdir ~/picoMount  
$ sudo mount </your/device> ~/picoMount
```

Copy the UF2 file:

```plaintext
$ cp w5x00_loopback.uf2 ~/picoMount
```

Unmount the flash:

```plaintext
$ sudo umount ~/picoMount
```

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

---

## Loopback TEST

Verify the functionality using the loopback example

```plaintext
Server: W55RP20 acting as the loopback server.
Client: A Windows PC acting as the loopback client.
```

The debug messages from W55RP20, acting as the loopback server, were checked using minicom on an Ubuntu PC.
The functionality of the Windows PC as a loopback client was verified using Hercules.

The debug messages from W55RP20, verified via minicom:

![텍스트, 전자제품, 스크린샷, 디스플레이이(가) 표시된 사진 자동 생성된 설명](https://maker.wiznet.io/upload/ckeditor5/879222150%5F1732740764%2Epng)

The messages from the loopback client, tested using Hercules:

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

---

Source: https://maker.wiznet.io/Lihan__/projects/w55rp20-getting-started-with-ubuntu/
