---
title: "WIZnet W5500-EVB-Pico Raspberry Pi Getting Started Tutorial (1)"
url: "https://maker.wiznet.io/ronpang/projects/wiznet-w5500-evb-pico-raspberry-pi-getting-started-tutorial-1/"
markdown_url: "https://maker.wiznet.io/ronpang/projects/wiznet-w5500-evb-pico-raspberry-pi-getting-started-tutorial-1/md"
type: "UCC: User Created Content"
author: "WIZnet HK"
author_url: "https://blog.csdn.net/WIZnet2012/article/details/131992705?spm=1001.2014.3001.5501"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "WIZnet HK"
original_url: "https://blog.csdn.net/WIZnet2012/article/details/131992705?spm=1001.2014.3001.5501"
license: "Apache License 2.0 (Apache-2.0)"
published: "2023-08-04"
language: "en"
hardware: ["WIZnet W5500-EVB-Pico"]
likes: 0
views: 895
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# WIZnet W5500-EVB-Pico Raspberry Pi Getting Started Tutorial (1)

> WIZnet W5500-EVB-Pico Raspberry Pi Getting Started Tutorial (1)

Original author: WIZnet HK (source: https://blog.csdn.net/WIZnet2012/article/details/131992705?spm=1001.2014.3001.5501)

## Components

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

## Article

### Overview

The W5500-EVB-Pico is a microcontroller development board based on the Raspberry Pi RP2040 and the fully hardwired TCP/IP controller W5500 - basically the same as the Raspberry Pi Pico board, but with the addition of Ethernet functionality through the W5500 chip.

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

### Onboard resources

RP2040 is the first microcontroller for Raspberry Pi. It brings our hallmark values of high performance, low cost and ease of use to the microcontroller world. With large on-chip memory, symmetric dual-core processor complex, deterministic bus structure and rich peripheral set, and our unique programmable I/O (PIO) subsystem, it provides professional users with unmatched power and flexibility.

- RP2040 specifications
  - Dual-core Arm Cortex-M0 + @133MHz
  - 264KB high-speed SRAM and 2MB onboard memory
  - Support up to 16MB off-chip flash memory through dedicated QSPI bus
  - DMA controller
  - 30 GPIO pins, 4 of which can be used as analog inputs (12-bit precision)
  - 2 UARTs, 2 SPI controllers and 2 I2C controllers, 16 PWM channels, 1 timer, 1 RTC
  - 8 programmable I/O (PIO) state machines

W5500 is a cost-effective Ethernet chip. Its unique global patented technology of full hardware TCPIP protocol stack solves the problem of embedded Ethernet access. It is easy to use, safe and stable, and is the preferred solution for IoT devices.

- W5500 Chip Specifications
  - Full hardware TCPIP protocol stack
    - Support TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE protocols
    - The hardware protocol stack is safe and stable from network attacks
  - 8 independent hardware sockets, each communication does not affect each other
  - 32KB on-chip buffer for TCP/IP packet processing
  - Integrated 802.3 Ethernet MAC
  - Integrated 10BaseT/100Base-T Ethernet PHY
  - Host interface: SPI high-speed serial peripheral interface (up to 80Mhz)
  - Low power consumption, working temperature around 40°C
  - Support embedded operating system: Linux & RTOS
  - Support power-down mode & UDP wake-up on LAN
  - Working voltage 3.3V, I/O 5V withstand voltage
  - Support auto-negotiation (full/half duplex, 10M/100M)

- Micro-USB B interface for power supply and downloading programs

- 3-pin ARM Serial Wire Debug (SWD) port

- Built-in RJ45 interface

- Built-in LDO

## Hardware Specification

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

As shown in the picture above, the W5500-EVB-Pico pins are directly connected to the GPIO of the RP2040. It has the same pinouts as the Raspberry Pi Pico board. However, GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, and GPIO21 are connected to W5500 on the board. These pins enable SPI communication with W5500 using Ethernet function. If you are using the Ethernet functionality, these pins cannot be used for any other purpose.

The RP2040 GPIO used inside W5500-EVB-Pico is shown in the table below:

| I/O | Pin Name | Description |
| --- | --- | --- |
| I | GPIO16 | Connect to the MISO interface of W5500 |
| O | GPIO17 | Connect to CS interface of W5500 |
| O | GPIO18 | Connect to the SCLK interface of W5500 |
| O | GPIO19 | Connect to the MOSI interface of W5500 |
| O | GPIO20 | Connect to the RSTn interface of W5500 |
| I | GPIO21 | Connect to the INTn interface of W5500 |
| I | GPIO24 | VBUS detection interface |
| O | GPIO25 | User LED port |
| I | GPIO29 | For ADC mode detection VSYS/3 |

In addition to GPIO and ground pins, there are 7 other pin interfaces:

| Pin Number | Pin Name | Description |
| --- | --- | --- |
| PIN40 | VBUS | Micro-USB input voltage, connected to Micro-USB interface pin 1. Theoretically support 5V. |
| PIN39 | VSYS | The main system input voltage, which can vary within the allowable range of 4.3V to 5.5V, is generated by the onboard LDO to 3.3V. |
| PIN37 | 3VE_EN | Connect to on-board LDO enable pin. To disable 3.3V (also power down the RP2040 and W5500), short this pin low. |
| PIN36 | 3V3 | The main 3.3V power supply for RP2040 and W5500 is generated by the onboard LDO. |
| PIN35 | ADC_VREF | ADC supply (and reference) voltage and is generated on the W5500-EVB-Pico from a filtered 3.3V supply. |
| PIN33 | AGND | GPIO26-29 ground reference. |
| PIN30 | RUN | RP2040 enable pin, reset RP2040, short this pin low. |

Working conditions:

| Attributes | Parameter |
| --- | --- |
| Operating temperature | -20℃~85℃ |
| Micro-USB input voltage | DC 5V（+/- 10%) |
| Input voltage | DC 4.3V~5.5V |

#### Development Environment Configuration

Development Environment: Windows10/11，Visual Studio Code
Hardware preparation: W5500-EVB-Pico development board, network cable, Micro USB data cable

## **Step 1: Download compilation tools**

First download the official Raspberry Pi development environment configuration tool:

GitHub - raspberrypi/pico-setup-windows:

<https://github.com/raspberrypi/pico-setup-windows>

The tool integrates the following software:

- Arm GNU Toolchain

- CMake

- Ninja

- Python3.9

- Git for Windows

- Visual Studio Code

- OpenOCD

After entering, select: Download the latest release to download the latest version

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

## **Step 2: Install the program**

After the download is complete, double-click the .exe file to install, select the installation path and click install, after the installation is complete, check the download example to folder.

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

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

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

#### First program

USB virtual serial port printing example

**Find Visual Studio Code in the start menu. After opening, it will automatically load the sample program we just downloaded. Open the hello_usb.c file under the usb folder under the hello_world folder. The function of this example is to automatically print "Hello, world" through the USB port**

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

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

## **Compile**

Click the tool icon at the bottom and select Pico ARM GCC as our compilation chain

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

Select the CMake tool on the left, click the download button behind the hello_usb file to generate the execution file.

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

​

**Download**

Press and hold the BOOTSEL button of W5500-EVB-Pico and then plug it into the computer via USB, then release the BOOTSEL button. At this time, the computer will recognize W5500-EVB-Pico as a large storage device.

![](https://maker.wiznet.io/upload/ckeditor5/418546161%5F1691147614%2Epng)​

We open the build/hello_world/husb folder, and drag the compiled file with the suffix .uf2 into W5500-EVB-Pico to complete the download.

![](https://maker.wiznet.io/upload/ckeditor5/418546161%5F1691147630%2Epng)​

## **Phenomenon**

At this point, the mass storage device on the computer disappears, indicating that the program download is complete. At this time, W5500-EVB-Pico will virtualize the USB into a serial device and connect it to the computer. We can use the serial monitor that comes with VS Code to connect to W5500-EVB-Pico to view the printing information.

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

## Technical Documentation

## **Raspberry Pi pico reference materials**​

Raspberry Pi Pico Datasheet: <https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf>

Pico Official website: <https://pico.org.cn/>

**W5500 materials**

W5500 Overivew: https://docs.wiznet.io/Product/iEthernet/W5500/overview

**W5500-EVB-Pico Schematic**

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

## **W5500 Schematic & Part list & Gerber File**

<https://github.com/Wiznet/Hardware-Files-of-WIZnet/tree/master/02_iEthernet/W5500>

---

Source: https://maker.wiznet.io/ronpang/projects/wiznet-w5500-evb-pico-raspberry-pi-getting-started-tutorial-1/
