ports/rp2/boards: Add support for W55RP20-EVB-Pico and WIZNET_PIO_SPI communication. by wiznet-grace · Pull Request #16476 · micropython/micropython · GitHub
Skip to content

ports/rp2/boards: Add support for W55RP20-EVB-Pico and WIZNET_PIO_SPI communication. - #16476

Closed
wiznet-grace wants to merge 4 commits into
micropython:masterfrom
wiznet-grace:W55RP20-EVB-Pico
Closed

wiznet-grace wants to merge 4 commits into
micropython:masterfrom
wiznet-grace:W55RP20-EVB-Pico

Conversation

@wiznet-grace

Copy link
Copy Markdown

Summary

The W55RP20-EVB-Pico is an evaluation board for the W55RP20, a SiP (System in Package) chip that integrates the W5500 (wired TCP/IP controller) and the RP2040. As a result, both the features of the Raspberry Pi Pico and the W5500 can be utilized.

This PR adds initial support for the W55RP20-EVB-Pico board. The changes included in this PR are as follows:

  • Board configuration files

  • Pin definitions

  • wiznet_pio_spi implementation (as described below)

    The W55RP20 features two identical PIO (Programmable Input/Output) blocks, one of which is used for communication with the W5500. For more detailed information on PIO, please refer to section 3 "PIO" in the RP2040 datasheet.
    The following changes were made to implement this:

    1. New Files Created: New files were created in the ports/rp2 directory:

      • machine_wiznet_pio_spi.c
      • wiznet_pio_spi.c
      • wiznet_pio_spi.h
      • wiznet_pio_spi.pio
    2. Wiznet PIO SPI Communication Enabled: The MICROPY_PY_MACHINE_WIZNET_PIO_SPI definition was added and relevant conditional statements were introduced to enable PIO SPI communication with the W5500.

    3. Utilized Existing Structures: Existing structure definitions from the modemachine file in extmod were utilized for integrating PIO SPI.

Testing

W55RP20-EVB-Pico board successfully tested:

  • LED blink
  • DHCP allocation
  • TCP Loopback Server/Client
  • HTTP client
  • SNTP

@codecov

codecov Bot commented Dec 24, 2024

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Dec 24, 2024

Copy link
Copy Markdown

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
     mimxrt:    +0 +0.000% TEENSY40
        rp2: +2488 +0.271% RPI_PICO_W[incl +40(bss)]
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
  qemu rv32:    +0 +0.000% VIRT_RV32

@wiznet-grace
wiznet-grace force-pushed the W55RP20-EVB-Pico branch 4 times, most recently from dcc609e to 033ebc4 Compare December 24, 2024 02:23
Signed-off-by: Grace-Koo <Grace@wiznet.io>
Signed-off-by: Grace-Koo <Grace@wiznet.io>

fix: Fix code formatting.

Signed-off-by: Grace-Koo <Grace@wiznet.io>
Signed-off-by: Grace-Koo <Grace@wiznet.io>
@wiznet-grace
wiznet-grace deleted the W55RP20-EVB-Pico branch February 28, 2025 06:15
@wiznet-grace
wiznet-grace restored the W55RP20-EVB-Pico branch February 28, 2025 06:17
@wiznet-grace wiznet-grace reopened this Feb 28, 2025
@philippebourcier

Copy link
Copy Markdown

Hi, is this port planned for a future release ?
I've started to work on a big project with this board. 🚀
Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware.
Thanks for all the hard work anyway, @dpgeorge 💪

@MilhouseVH

Copy link
Copy Markdown

Hi, is this port planned for a future release ? I've started to work on a big project with this board. 🚀 Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware. Thanks for all the hard work anyway, @dpgeorge 💪

I've practically given up waiting on W55RP20 support. It seemed like a good idea but then Wiznet switched to a new SPI library that seems to be going nowhere. I also would only consider official upython firmware releases, not build my own or use the Wiznet fork.

The W5500-EVB-PICO-POE works well with official upython releases (and with the PoE addon board) and is only slightly more expensive, but at least it works.

@wiznet-grace

Copy link
Copy Markdown
Author

Hi, is this port planned for a future release ? I've started to work on a big project with this board. 🚀 Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware. Thanks for all the hard work anyway, @dpgeorge 💪

Hi! Thanks for the nice comment — we really appreciate the kind words.
The PR is ready, and we hope it will be included in an upcoming release!

Thank you.
Grace

@wiznet-grace

Copy link
Copy Markdown
Author

I've practically given up waiting on W55RP20 support. It seemed like a good idea but then Wiznet switched to a new SPI library that seems to be going nowhere. I also would only consider official upython firmware releases, not build my own or use the Wiznet fork.

The W5500-EVB-PICO-POE works well with official upython releases (and with the PoE addon board) and is only slightly more expensive, but at least it works.

Thanks for the honest feedback — and totally understandable.
We're sorry for the delay on W55RP20 support. The PR is still open.
Also, thank you for using the W5500-EVB-PICO-POE board — we're glad to hear it's working well with the official firmware.
We appreciate your patience and your perspective!

Thank you.
Grace

@wiznet-grace

wiznet-grace commented Sep 11, 2025

Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants