It's easy to use the WIZ5500 breakout with CircuitPython, and the Adafruit_CircuitPython_Wiznet5k module. This module allows you to easily write Python code to use the WIZ5500 for ethernet access.
This breakout is for use with microcontrollers, not with single-board computers running Blinka.
CircuitPython Microcontroller Wiring
First wire up the breakout to your board exactly as follows. The following is the breakout wired to a Feather RP2040 using a solderless breadboard:
-
Board 3V to breakout VIN (red wire)
-
Board GND to breakout GND (black wire)
-
Board SCK to breakout SCK (yellow wire)
- Board MO to breakout MOSI (blue wire)
- Board MI to breakout MISO (green wire)
- Board D10 to breakout CS (orange wire)
CircuitPython Usage
To use with CircuitPython, you need to first install the Adafruit_CircuitPython_Wiznet5k library, and its dependencies, into the lib folder on your CIRCUITPY drive. Then you need to update code.py with the example script.
Thankfully, we can do this in one go. In the example below, click the Download Project Bundle button below to download the necessary libraries and the code.py file in a zip file. Extract the contents of the zip file, and copy the entire lib folder and the code.py file to your CIRCUITPY drive.
Your CIRCUITPY/lib folder should contain the following folders and files:
- adafruit_bus_device/
- adafruit_wiznet5k/
- adafruit_connection_manager.mpy
- adafruit_requests.mpy
- adafruit_ticks.mpy
Example Code
Once everything is saved to the CIRCUITPY drive, connect to the serial console to see the data printed out!
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
# SPDX-License-Identifier: MIT
import adafruit_connection_manager
import adafruit_requests
import board
import busio
import digitalio
from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K
print("Wiz5100 Breakout WebClient Test")
TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html"
cs = digitalio.DigitalInOut(board.D10)
spi_bus = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
# Initialize ethernet interface with DHCP
eth = WIZNET5K(spi_bus, cs)
# Initialize a requests session
pool = adafruit_connection_manager.get_radio_socketpool(eth)
ssl_context = adafruit_connection_manager.get_radio_ssl_context(eth)
requests = adafruit_requests.Session(pool, ssl_context)
print("Chip Version:", eth.chip)
print("MAC Address:", [hex(i) for i in eth.mac_address])
print("My IP address is:", eth.pretty_ip(eth.ip_address))
print("IP lookup adafruit.com: %s" % eth.pretty_ip(eth.get_host_by_name("adafruit.com")))
# eth._debug = True
print("Fetching text from", TEXT_URL)
r = requests.get(TEXT_URL)
print("-" * 40)
print(r.text)
print("-" * 40)
r.close()
print("Done!")
First, the WIZ5500 breakout is instantiated over SPI. Then, a network connection is established over ethernet. You'll see the chip version, MAC address, IP address and text from the Adafruit WiFi test print out to the serial console.
Page last edited June 11, 2025
Text editor powered by tinymce.