I use ESP32 as microcontroller, read and write modbus RTU through max485 ic (or SP485, SN65VD1781). Readable data I send to the cloud via WiFi or Ethernet. LAN port I use IC LAN8720A. When operating the board a bit hot, maybe 45-55 degrees, but that's okay, because on the board I have equipped a fan 5V heat sink, that works when the temperature is high.

All data sent via MQTT protocol, can monitor data via smart phone or computer/laptop via C # tool or app smart phone.

I use the arduino IDE to program them.
They work well with PLCs in my applications.

I am willing to share the altium schematic and sample codes read/write modbus rtu, trans data via wifi or ethernet lan8720A use the MQTT protocol.
The altium PCB layout file will probably be sent to you when I receive a cup of coffee or a corresponding donation.
I also have demo boards ready to ship to you if needed.

Some product information.
Source: 7-40V accept AC and DC
Capacity: under 2W

Modbus RTU:
Baud rate RS485 1200, 2400, 4800, 9600, ......115200.....up to 512000 bps
Number slave: up to 32 on bus
Protect 100mA by fuse, protect over 6.8 volt by diode TVS

LAN8720A:
Bandwidth 10 \ 100Mbps
Temp range min - max: -40 to 85 * C
Isolation transformer by Hanrun911105A


If you are interested can contact me via email thanhnamlt5@gmail.com

This is video it works with parameter select mfm383a

https://www.facebook.com/kuem0912/posts/707666223039027