---
title: "How to add Ethernet(W5500) to Raspberry Pi Pico ? C/C++"
url: "https://maker.wiznet.io/irina/projects/How-to-add-EthernetW5500-to-Raspberry-Pi-Pico-CC/"
markdown_url: "https://maker.wiznet.io/irina/projects/How-to-add-EthernetW5500-to-Raspberry-Pi-Pico-CC/md"
type: "UCC: User Created Content"
author: "irina"
author_url: "https://maker.wiznet.io/irina/"
original_author: "irina"
original_url: "https://www.hackster.io/irinakim1225/how-to-add-ethernet-w5500-to-raspberry-pi-pico-c-c-4477a0"
published: "2021-05-11"
language: "en"
hardware: ["WIZnet WIZ850io", "Raspberry Pi Pico", "jumper line"]
likes: 0
views: 1107
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# How to add Ethernet(W5500) to Raspberry Pi Pico ? C/C++

> How to add Ethernet(W5500) to Raspberry Pi Pico ? C/C++

Original author: irina (source: https://www.hackster.io/irinakim1225/how-to-add-ethernet-w5500-to-raspberry-pi-pico-c-c-4477a0)

## Components

- **WIZnet WIZ850io** x 1 ([docs](https://docs.wiznet.io/Product/ioModule/WIZ850io))
- **Raspberry Pi Pico** x 1 ([docs](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html))
- **jumper line** x 1
- Software: **io-Library**
- Software: **pico-example**
- Software: **pico-sdk**

## Documents and links

- [pico-examples](https://github.com/irinakim12/pico-examples) (code)
- [Connection diagram](http://maker.wiznet.io/uploads/2021/05/raspberry.PNG) (schematics)

## Article

#Raspberry Pi Pico is a little different from the existing #Raspberry Pi.

Raspberry Pi pico is target might be a sensor.

?

There are basic interfaces that can be attached to the MCU: UART, SPI, I2C, GPIO USB, PWM, and there are also things that can control the MCU such as dma, watchdog, timer, etc.

In order to use Pico, the example and SDK code must be present together, so these two are provided together.

Basically, you can check the Raspberry Pi Pico's Get Started documentation.

?

You can follow what I posted

I worked in?**C/C++ + Window10 environment**

In Korean :

-?<https://blog.naver.com/roruca/222253845980>

-?<https://blog.naver.com/roruca/222265404700>

in English :

-?<https://www.hackster.io/irinakim1225/windows10-environment-building-for-raspberry-pi-pico-c-c-2dc9f3>

You can check the basic LED driving through the environment building link..

.

There is an SPI interface, and the Raspberry Pi pico doesn't have a network-related chip such as Ethernet or Wifi, so I wanted to do Ethernet communication programming.

First, in the pico-example example, there are about 4 SPI folders as shown below.

![(left) Before change (right) After change](https://hackster.imgix.net/uploads/attachments/1295909/image_FIa8wWREiz.png?auto=compress%2Cformat&w=740&h=555&fit=max)

(left) Before change (right) After change

So, I created the W5500_SPI folder and added w5500_spi to CMakeList.txt in the SPI folder.

![](https://hackster.imgix.net/uploads/attachments/1295910/image_nYwhwpz8Bl.png?auto=compress%2Cformat&w=740&h=555&fit=max)

IoLibrary of WIznet

<https://github.com/Wiznet/ioLibrary_Driver>

Only files used in W5500 were added in ioLibrary provided by Wiznet.

![](https://hackster.imgix.net/uploads/attachments/1295911/image_r3mhWmdZqZ.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Below is the SPI and Reset pinmap,

![](https://hackster.imgix.net/uploads/attachments/1295912/image_ozq1pflcjo.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Below is the change of Read/Write byte operation.

![](https://hackster.imgix.net/uploads/attachments/1295913/image_8vfyfC3BIM.png?auto=compress%2Cformat&w=740&h=555&fit=max)

Below is a video of compilation, firmware upload, and operation demonstration using Cmake.

Currently, I sent a pull request to the Pico-example provided by raspberry, and I am ping pong hard, and I think I will be able to enter the basic example sooner or later.

![](https://hackster.imgix.net/uploads/attachments/1295919/image_r5zsh5p8Ko.png?auto=compress%2Cformat&w=740&h=555&fit=max)

![](https://hackster.imgix.net/uploads/attachments/1295918/image_fV4C1IEmQE.png?auto=compress%2Cformat&w=740&h=555&fit=max)

[embed]https://www.youtube.com/watch?v=MDdt03a3NQU[/embed]

---

Source: https://maker.wiznet.io/irina/projects/How-to-add-EthernetW5500-to-Raspberry-Pi-Pico-CC/
