Just-works Ethernet PHY?

I had assumed that using the w5500 PHY would be fairly painless to use within mbed based on its popularity in Arduino circles. That seems to have been a poor assumption. From a couple of hours of research, the w5500 libraries and examples found within the mbed ecosystem have been forked, patched, repatched and abandoned (nothing really after 2015).

Are there other SPI interfaced Ethernet PHYs that are more up to date and easier (just work) with mbed?

It is much easier to use a Mbed enabled board with Ethernet interface. The Wiznet component is a very ‚special‘ TCP/IP implementation, I have also given up to fix that and the support from Wiznet was null.

The ENC28J60 is an another Ethernet controller equipped with SPI interface. You can find an EMAC driver published by Tobias Jaster at

I have published a simplified fork (the interrupt and reset lines are omitted) at


It’s easy to use. Ads Ethernet PHY to an Mbed board (ARM chip) not equipped with built-in PHY. This allows to use Mbeds’s EthernetInterface and Connectivity APIs the same way as with an onboard Ethernet PHY. Works with Mbed OS 6.9.0

A simple MQTT client example is available at


@hudakz I think there is a bug in your fork. In the second constructor, ENC28J60::ENC28J60(mbed::SPI* spi, PinName cs), the _spi variable is not set at all.

Thank you, you are right! Sorry, I neglected to test that one :frowning: