Multipoint wired network

I'm trying to get 11 Arduinos (1 master, 10 slaves) to talk to each other.
The amount of data sent to and from the master is very minimal, basically just 'start', 'stop', and asking for a variable.
Think of it as a glorified data logger.

Initially I had planned to use I2C, but this is behaving quite unpredictably (the signal drops out a lot).
I'm now looking into RS-485, but I haven't been able to find any multi-point implementations for Arduino.

Is there maybe a way to make the I2C bus more robust? Perhaps by using a higher voltage so it's less susceptible to noise and has a higher current capacity?

Is anyone able to give me some recommendations or toss in some ideas?

Plan A;-
USB, raspberry pi with power powered USB hub, one stone two birds wired network with power supply. up to 127 Arduinos.

Plan B;-
TCP/IP, with eithernet shield. unlimited Arduinos.

Plan C;-
TCP/IP, with POE(Power over Ethernet) eithernet shield. unlimited Arduinos plus power supply.

Plan D;-
Write an async protocol for RS-485.

Plan E;-
Use I2C buffer/repeater chips.


Rob

Plan F;-
one master SPI Arduino with multiple SPI slaves Arduino.

Plan G;-
Daisy-chain serial port TTL, master feed into chain and every slave only response any packet addressed to it and pass rest down the chain.

10 slaves - what are the distances here? I2C is only good for maybe 10 feet max.
Also, the big problem is there is a lot of parallel capacitance in all those
wires, and this slows down the signal risetimes , since I2C uses passive pullup
resistors on Sdat and Sclk. The pullups should be only about 1.5-2.2K. With
10 slaves, it's probably good for only a couple of feet, I imagine.

Graynomad:
Plan D;-
Write an async protocol for RS-485.

Plan E;-
Use I2C buffer/repeater chips.


Rob

Plan H;-
Daisy-chain fiber optics transceiver (single mode or multimode fiber) with fiber cable, master feed into chain and every slave only response any packet addressed to it and pass rest down the chain.

Pro. very far distance, multimode fiber supports 100 Mbit/s for distances up to 2 km (100BASE-FX), 1 Gbit/s up to 1000 m, and 10 Gbit/s up to 550 m. single mode supports 1 Gbit/s up to 80 km. very safe no electronic, nuclear power plant grade, very high rejection rate of EMI- no "E" and no "M" where is the "I".

Con. $$$

matrix:
I'm trying to get 11 Arduinos (1 master, 10 slaves) to talk to each other.
The amount of data sent to and from the master is very minimal, basically just 'start', 'stop', and asking for a variable.
Think of it as a glorified data logger.

Initially I had planned to use I2C, but this is behaving quite unpredictably (the signal drops out a lot).
I'm now looking into RS-485, but I haven't been able to find any multi-point implementations for Arduino.

Is there maybe a way to make the I2C bus more robust? Perhaps by using a higher voltage so it's less susceptible to noise and has a higher current capacity?

Is anyone able to give me some recommendations or toss in some ideas?

What distances are involved ? How much data in each transfer ? How time critical ?

Is the master going to be generating a request to the slaves (i.e. polling and then expecting answers ?) If so standard soft serial - put an Mega in the middle and run softserial on as many pins as you need

Craig

My own mistake about Plan H;-

I did home fiber optics network many many years ago, the reason for high rejection rate of EMI. I have a pair of plasma speaker (it is not typo. Ionovac, Ionofane at UK). It sounds great but has very high EMI for computer network or AM/FM radio, But it is FCC certify. There is one fiber optics network project going on for work that time, I decide do something at home. I installed 10BASE-F network at home all by myself. I could not find helper and nobody know that time. after few days struggle every thing is working fine. I am so happy and pround what I did until suddenly recognize there are neighbors. I keep use network but never turn on the speaker again.

Thanks for the ideas guys. Really appreciate the brainstorm.

There is a few meters of distance to cover. I realise this is a lot for I2C but I already have custom shields sitting on the slaves so making the modifications to attach extra hardware will be very tedious (although if it can't be avoided, so be it).

The one good thing is that data rate can be very very low. I only need to be able to transmit a handful of bytes per second.

I have ordered some I2C repeaters so I will do some testing with them once they show up.
I also plan to clock the bus right down to around 5khz.

The slaves are quite close together, the master is a few meters away.
I'm also considering using an extra controller as a repeater like so:
"master"<--UART-->i2c master<--I2C-->slaves