1. Circuit Python install first!
Reason: lots of examples with W5500
CircuitPython has a lot of examples and support!There are 260+ libraries for the standard CircuitPython API. Most of these will already work. Listed here
- 1. Download the below uf2 file link on your computer
CircuitPython 6.2.0 – adafruit-circuitpython-raspberry_pi_pico-en_US-6.2.0.uf2
- 2. Push and hold the BOOTSEL button and plug your Pico into the USB port of your Raspberry Pi or other computer. Release the BOOTSEL button after your Pico is connected.
- 3. It will mount as a Mass Storage Device called RPI-RP2.
- 4. Drag and drop the CircuitPython 6.2.0 UF2 file onto the RPI-RP2 volume. Your Pico will reboot. You are now running CircuitPython.
- if you want, you can install MU editor to make your python code. But I think, it’s not necessary. Just use your Python IDE such as Notepad, VSCode, …
Then, you can see “CIRCUITPY” drive on your system.
Now, we’re ready to enjoy the code on python code.py with CircuitPython!!
Once you edit and save your code on code.py, run your code on the board.
Let’s test “LED on” and “LED off” code.
actually, just visit the below page to blink led on your rpi pico board.
2. Pin connect to W5500, WIZ850io
use SPI1 on rpi pi board.
- SPI1_SCK => WIZ850io SCLK
- SPI1_TX => WIZ850io MOSI
- SPI1_RX => WIZ850io MISO
- SPI1_CSn => WIZ850io SCNn
- GP15 => WIZ850io RSTn
, and 3.3V, GND as well.
for your reference,
3. W5500 Reset Test
Copy below RESET_test code to code.py file on your rpi pico board.
Every 6 second, RESET pin control => See the link on & off
4. W5500 adafruit_wiznet5k python library
Before, ping test we prepare some libraries from Adafruit learning page.
Before continuing, make sure your board’s lib folder has at least the following files and folders copied over:
(Added 04-21, 2021) I put the latest files and folders on my github repo. download files from here.
For adafruit_wiznet5k, I forked & modified some code for DHCP operation. please visit & download code from
- Adafruit original lib – https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k
OR, original files can be download as belows.
Find and copy adafruit_bus_device & adafruit_requests.mpy file from Adafruit’s CircuitPython library bundle matching your version of CircuitPython. Don’t copy all files and folder in the library.
- Download adafruit-circuitpython-bundle-6.x-mpy-20210409.zip
- unzip and find adafruit_requests.mpy.
For adafruit_bus_device, download from below link.
Last, you copy the files on the lib director of CIRCUITPY drive.
5. W5500 PING Test
(UPDATED 04/12/2021) DHCP OK. refer from my repo. ~~I tried DHCP mode, but failed.~~
so first I’m trying to ping with manual IP setting
For this example, please visit the link.
- the code from https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/blob/master/examples/wiznet5k_simpletest_manual_network.py
I changed some information as my network env.
please refer my code.
just copy the content to code.py on your RPi Pico and save!! Done!!
PING test on my laptop. Result is 🙂
6. REPL, Open serial terminal for printf()
I found the material for REPL, terminam open from Adafruit page.
Now you need to open PuTTY.
Under Connection type: choose the button next to Serial.
In the box under Serial line, enter the serial port you found that your board is using.
In the box under Speed, enter 115200.
Once your settings are entered, you’re ready to connect to the serial console. Click “Open” at the bottom of the window. A new window will open.
To see your COM port number, please open “Device Manager” on your Windows.
see the terminal screen as follows.
7. WebClient Demo
please visit next project story.
All code, you can find the below repo.