Electronic – arduino – Can 50 Arduinos be daisy chained


I have multiple users on seats (50), each with a small keypad for input. I need to collect inputs from all the users; I want to use Arduinos for each user, which will also display responses on a 7 segment display. I intend to connect all Arduinos using I2C but I fear the signal might drop due to long distance and fan-out limitations, so I'm considering daisy-chaining them.

Is this a good idea, or is there a better approach to do this?

Best Answer

As the application note posted by RedGrittyBrick says:

Because the original I2C-bus applications were internal to a piece of equipment, for example in a PC or radio/TV/audio equipment, I2C-bus is rarely considered for systems when long distances with large numbers of drop-off points are required.

The solutions in the application note is to use specific driver circuits to convert the signals into something that can be driven over longer distances.

Since you will require driver circuits anyway, let me instead suggest that you take a look at RS-485. This is a tried and trusted standard for bidirectional transmission over long cables. It uses a normal UART on your Arduino, and the driver circuits can be found in many shapes and forms. If you don't want to make your own PCB there are adapter boards available that takes a TTL RX/TX signal from an UART and converts it to RS-485 levels.

Related Topic