Skip to content

ports/rp2/boards: Add support for WIZnet-EVB-Pico2 #16280

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

wiznet-grace
Copy link

Summary

This PR adds initial support for the W5500-EVB-PICO2 and W5100S-EVB-PICO2 boards.
The changes included in this PR are as follows:

  • Board configuration files
  • Pin definitions (which are the same as W5500-EVB-Pico and W5100S-EVB-Pico)

These updates extend MicroPython's compatibility to additional RP2350-based boards, enabling more developers to utilize these platforms effectively.

Testing

W5500-EVB-PICO2 and W5100S-EVB-PICO2 boards successfully tested:

  • LED blink
  • Ethernet (DHCP allocation)

Copy link

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:    +0 +0.000% RPI_PICO_W
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
  qemu rv32:    +0 +0.000% VIRT_RV32

@wiznet-grace wiznet-grace force-pushed the WIZnet-EVB-Pico2 branch 4 times, most recently from 6b9334d to 47049a8 Compare November 21, 2024 05:12
@wiznet-grace wiznet-grace changed the title Add support for WIZnet-EVB-Pico2 ports/rp2/boards: Add support for WIZnet-EVB-Pico2 Nov 21, 2024
@byzantic
Copy link

Hi, I notice that in the board definition files, you have defined the external flash size as 16 MByte.

However, my understanding was that the flash size is the same as the W5500-EVB-pico, i.e. 2MByte. Also the schematic for the W5500-EVB-Pico2 (see https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico2#schematic) shows the flash to be a W25Q16JV, a 16Mbit part, i.e 2MByte.

@wiznet-grace
Copy link
Author

wiznet-grace commented Nov 26, 2024

Dear byzantic,

Thank you for your advice and for pointing out the issue with the flash size definition. You are absolutely correct, and I sincerely apologize for the oversight.

The flash size for the W5500-EVB-Pico2 / W5100S-EVB-Pico2 is indeed 2MByte, as the schematic indicates with the W25Q16JV flash, which is a 2MByte(16Mbit ). I have updated the mpconfigboard.h files to reflect the correct flash size.
and I’ve also completed the testing after the modification.

I truly appreciate your attention to detail and for bringing this to my attention. Thanks again for your help in ensuring the accuracy of the board configuration.

Best regards
Grace

Hi, I notice that in the board definition files, you have defined the external flash size as 16 MByte.

However, my understanding was that the flash size is the same as the W5500-EVB-pico, i.e. 2MByte. Also the schematic for the W5500-EVB-Pico2 (see https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico2#schematic) shows the flash to be a W25Q16JV, a 16Mbit part, i.e 2MByte.

@dpgeorge dpgeorge added the board-definition New or updated board definition files. Combine with a port- label. label Dec 19, 2024
Copy link

@MilhouseVH MilhouseVH left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like some copy & paste minors.

Hopefully this Wiznet Pico2 support will land soon! 👍

"USB"
],
"images": [
"W5500-EVB-Pico2.jpg"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a nit, but wrong image? Should be "W5100S-EVB-Pico2.jpg"?

"W5500-EVB-Pico2.jpg"
],
"mcu": "rp2350",
"product": "Wiznet W5500-EVB-Pico2",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe a nit, but wrong product? Should be "Wiznet W5100S-EVB-Pico2"?


// Enable networking.
#define MICROPY_PY_NETWORK (1)
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "W5500S-EVB-PICO2"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "W5500S-EVB-PICO2"
#define MICROPY_PY_NETWORK_HOSTNAME_DEFAULT "W5100S-EVB-PICO2"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello.

Thank you for pointing out my mistake.
I will add this to the commit. I truly appreciate it.

Best regards,
Grace

@diafygi
Copy link

diafygi commented Mar 10, 2025

I may be a bit confused, but are there remaining changes needed for this PR? Looking forward to getting this board supported!

@wiznet-grace
Copy link
Author

I may be a bit confused, but are there remaining changes needed for this PR? Looking forward to getting this board supported!

Sorry for the late reply, and thank you so much for your interest!

This PR is still active and there are no pending changes at the moment.
If there's anything that needs to be fixed or adjusted, we’d really appreciate your feedback.

Thanks again for checking in — we really appreciate the support!
Grace

@nexusgoblin
Copy link

Well, FWIW, I've been testing this PR in the wild.

I picked up a W5100S-EVB-Pico2 a few weeks ago wth the add-on PoE module. I built a Micropython install for it using this PR and the v1.25 release tag. Flashed it and deployed my code on top.

It has been running 24x7 monitoring a half dozen sensors every 10 seconds or so and sending the results over a TLS encrypted websocket to a central server. It seems pretty solid.

Thanks for the work @wiznet-grace and I'm looking forward to this being merged.

@wiznet-grace
Copy link
Author

Well, FWIW, I've been testing this PR in the wild.

I picked up a W5100S-EVB-Pico2 a few weeks ago wth the add-on PoE module. I built a Micropython install for it using this PR and the v1.25 release tag. Flashed it and deployed my code on top.

It has been running 24x7 monitoring a half dozen sensors every 10 seconds or so and sending the results over a TLS encrypted websocket to a central server. It seems pretty solid.

Thanks for the work @wiznet-grace and I'm looking forward to this being merged.

Thanks a lot for testing and sharing your results!
Happy to hear it’s working well for you.
If you spot anything that needs improvement, feel free to let me know. 😊

Grace

@bachah
Copy link

bachah commented May 26, 2025

Hello ! any reason for not merging it yet?

@wiznet-grace
Copy link
Author

Hi, just following up on this PR. It’s been a few months since submission,
and we’ve seen some community users testing these WIZnet Pico2 boards with good results.

I’d be happy to rebase or make any changes needed to get this merged. Let me know if there’s anything I can help with!

Thanks again for maintaining MicroPython.

cc @dpgeorge

@bachah
Copy link

bachah commented Jun 30, 2025

Hello @dpgeorge ,

This PR looks great, builds are passing and tests are conclusive, please advise on the reason of not approving yet. Thanks!

@wiznet-grace can you please share the uf2 generated from this PR? or how to do it? would like to proceed cause 7 months are way too much for a PR 😄

@wiznet-grace
Copy link
Author

wiznet-grace commented Jun 30, 2025

Hello @dpgeorge ,

This PR looks great, builds are passing and tests are conclusive, please advise on the reason of not approving yet. Thanks!

@wiznet-grace can you please share the uf2 generated from this PR? or how to do it? would like to proceed cause 7 months are way too much for a PR 😄

Sure! You can generate the .uf2 from this PR by cloning my fork directly:

  1. Clone the repo and checkout the branch:
git clone https://github.com/wiznet-grace/micropython.git
cd micropython
git checkout WIZnet-EVB-Pico2
  1. Initialize submodules:
    git submodule update --init
  2. Build for the W5500-EVB-Pico2 board:
make -C mpy-cross
cd ports/rp2
make BOARD=W5500_EVB_PICO2
(or make BOARD=W5100S_EVB_PICO2)
  1. After build completes, you'll find:
    build-W5500_EVB_PICO2/firmware.uf2

Let me know if you need help flashing the .uf2 to your board 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
board-definition New or updated board definition files. Combine with a port- label. port-rp2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants