STM32Ethernet — W5500 Ethernet library for STM32 with Modbus TCP support

Hi Arduino community,

I just released STM32Ethernet, a lightweight W5500 Ethernet library
for STM32 microcontrollers, compatible with the STM32duino Arduino core.

Built and tested on STM32F446RE (Nucleo-64) with a WIZ550io module.

Features:

  • TCP server and client (single-listener architecture)
  • Modbus TCP slave (FC03, FC16)
  • Modbus TCP master with auto-reconnect
  • Correct BSB-aware W5500 SPI register access
  • PHY link status detection

GitHub: GitHub - Amir13600631/STM32Ethernet: A lightweight W5500 Ethernet library for STM32 microcontrollers, compatible with the official STM32duino Arduino core. Built and tested on STM32F446RE (Nucleo-64) with a WIZ550io module. · GitHub

Feedback and questions welcome!

Thanks for your contribution to the Arduino library ecosystem @amir13600631!

Minor nitpick, but I would recommend removing the information about registering a library from the readme:

https://github.com/Amir13600631/STM32Ethernet#publishing-to-the-official-arduino-library-registry

This is useful information in general, but it is completely off topic for this readme. The reader of the readme wants information about your library. They aren't going to be interested in learning about the procedure you followed for the one time task of registering the library. And the people who might be interested in such information won't look for it in the readme of a library.

It is great if you want to share the procedure you followed to register the library, but I would do that somewhere else; not in the library repository.

Done! Thank you for letting me know about the issue!

it's a C library with cpp files?
it is a nice layer on top of the W5500 SP API, but it doesn't have the standard Arduino networking API so it can't integrate with the Arduino Modbus library.
what is the advantage over the Arduino Ethernet library?

https://github.com/Networking-for-Arduino/Arduino-Networking-API/blob/main/ArduinoNetAPIDev.md

Hi Juraj, Please see the updated README file about the library.