Site icon Pallav Aggarwal

How to add Ethernet on Raspberry Pi PICO

Raspberry Pi released PICO board with their first Microcontroller in early 2020. Its a very powerful platform with inhouse built microcontroller having dual ARM core running at max. 133MHz.

It has a lot of peripherals which could be utilized to create amazing projects and products.

You can read more about Raspberry PICO and RP2040 Microcontroller.

Once you have a powerful platform whether it is a microcontroller or a processor, its always interesting to see how we can add high end interfaces like SD Card, Displays (TFT, HDMI), Ethernet, etc.

Ethernet interface

In this article we will see how we can add Ethernet capability to Raspberry Pi PICO platform.

Raspberry Pi PICO uses RP2040 microcontroller and it doesn’t have inbuilt ethernet interface like MII or RMII so how one can add ethernet?

Well there two possible ways.

External Ethernet PHY Chip

Raspberry PICO RP2040 has a very unique logic block called programmable IO which could be used to implement a lot of peripherals which are not available natively and we can use the same PIO to interface Ethernet PHY like LAN7820.

Here is an article which shows how to add ethernet on Raspberry Pi PICO with step by step instructions.

You will need:

to connect breakout board with your Raspberry PI PICO board.

LAN8720 breakout wired to a Raspberry Pi Pico on a breadboard (Image from Raspberry Pi Website)

External SPI to Ethernet Chip

Raspberry Pi PICO has SPI interface and there are a lot of SPI to Ethernet chips and their breakout boards available in the market which can be used to add the ethernet interface.

For examples two of the most popular ones are:

and breakout board using above chips are widely available in the market.

To further reduce the effort, here is another solution:

Wiznet’s Raspberry Pi PICO Clone

Wiznet has recently developed a Raspberry PI PICO board which is nothing but Raspberry PI PICO + Ethernet on the same board and gives access to all pins which are available on Raspberry PI PICO Board.

Image credit: Wiznet

Features

Wiznet Raspberry PI PICO Clone Pinout

Image credit: Wiznet

It is very easy to interface W5100S SPI to Ethernet Chip, you only need 4 wire SPI pins i.e CS, MOSI, MISO and Clock and Interrupt pin and Reset pin which gives you extra control to implement the interface efficiently.

I/OPin NameDescription
IGPIO16Connected to MISO on W5100S
OGPIO17Connected to CSn on W5100S
OGPIO18Connected to SCLK on W5100S
OGPIO19Connected to MOSI on W5100S
OGPIO20Connected to RSTn on W5100S
IGPIO21Connected to INTn on W5100S

The board is available as Open source:

Code Examples

Learn more from Wiznet’s product page

What is the difference in both approach?

The two approaches mentioned above are very different.

In the 1st one where we are using Ethernet PHY chip the whole ethernet stack is implemented on the microcontroller itself.

On the other hand in case of SPI to Ethernet the stack is implement in the chip and user need to only configure the registers to work in particular way and send data and receive data. This makes life easy for a developer where they need to understand the internals of how ethernet works. Other the other hand in both the case an external chip is required for the implementation.


I hope you found this project interesting.


If you like the post, please share it with others. Any suggestions or comments, let me know here.

Read my other articles on embedded systems design.


Exit mobile version