Modbus RTU over RS485 slave library for Nano

Hi there,
I'm planning to use an Arduino Nano as a Modbus RTU slave over RS485 so i'm looking for any clue about the best working library available for this purpose, with good examples.
I'm using a MAX485-based TTL to RS485 converter with the Arduino and an RS485 to USB converter to connect to PC (i'm planning to use a SoftPLC-featuring software called "ProviewR" to act as a Modbus RTU master on my PC)

(I previously attempted to use Modbus TCP but unfortunately, the Arduino Nano doesn't work with the Wiznet W5100-based Arduino Ethernet Shield for Uno/Mega)

Best regards,


As you don't specify any requirements I assume you can live with any implementation. I used this library
for one of my projects.

A shield for the UNO should work on the Nano as both use the same processor and run on the same voltage.

Smarmengol,huh? Well, thanks for the advice. I'll give it a try later but first, let's deal with the matter about the Ethernet Shield...
I've already tried to adapt the Arduino Ethernet Shield for Uno/Mega to the Nano (i both tried through ICSP and SPI pins), without any success... (The "no hardware" error)... Although the shield is working properly on Arduino Mega... Now that you're saying it should work, i may have done it wrong... Can you help me?

Maybe. Do you have an original Arduino Ethernet Shield or some look-a-like? How did you connect it to the Nano? I would use the ICSP pins for the SPI. What other pins did you connect?

I think that this is an original Arduino Ethernet Shield R3

I power both of Arduino Nano and the Ethernet Shield with USB from my laptop.

Also tried to connect the TX and RX pins, but with no success. The Ethernet Shield still couldn't be found.

Finally succeed. i had to both connect the ICSP header pins and the pins from 10 to 13.

The only D-pin you need is 10, the others are take from ICSP. You should also connect pin 4 to be able to disable the SD card reader (at least if you insert a card there).

In my case, if i only remove one of these connections, it wouldn't work...

You mean if you connect all the ICSP pins between the two boards and additionally D10 but no connection to pins D11 to D13 it doesn't work? In that case you have a broken board because these pins are connected on the Nano board and not used on the Arduino Ethernet Shield.