Connecting 50 Arduino slave devices to a single master Raspberry PI
Moving comments to an answer:

Yes, any of these will work.

RS485 is cheapest, and Ethernet is fastest.

With USB you need hubs; with Ethernet you need switches. With RS485 you just connect all the devices to a single cable, but the speed is slower.

Don't forget USB has a maximum distance of 5 metres between hubs, and a maximum of 5 hubs in a chain. The only advantage of USB is that you could use it to reprogram the Arduinos remotely.



Thnaks for the reply. Would you suggest how would the wiring look if I used ethernet to communicate with multiple slaves? Would I just add ethernet shield to arduino devices, connect all devices to the same network and use MQQT or simmilar to control slaves?


Each Arduino would need an Ethernet shield
Each Arduino, and the Pi, would need to be plugged into an Ethernet switch. Unlike USB, Ethernet switches can be chained together with no limit, and they can be up to 100 metres apart.
You might be able to find some old (100Mbps only) professional-grade network switches on eBay, with maybe 24 ports each for only a couple of dollars per port. They should be cheaper because most people who use them upgraded to gigabit switches. You might even find 10Mbps hubs for cheaper still.
I think it would be easiest to use a custom UDP protocol to control the slaves - unless you already know an MQTT library that you want to use.

Out of these three options, I would recommend RS485 if you don't need high speed.
Edit:

&quot;Justme&quot;'s answer talks about some important limitations of RS485.