General address I2C

I´m using I2C communication to control a omni directional platform with four motor.

By the I2C we send their speed to each motor but the problem we have is that the time between the first motor receive its speed and the last motor do is too long, so I thought of sending their speed to each motor and then tell them to start moving at that speed act the same time.

And here is my problem, the I2C master should be able to talk with all slaves at the same time using 0 address but that didn't work for me. I guess that the address might have been change to an other but I cannot find any information about that. We´re using an Arduino Mini 04 as master and four Arduino Mini 04 as slaves, please help.

I just need the I2C address where the master can talk to all slaves at the same time.

"I just need the I2C address where the master can talk to all slaves at the same time."
That only works if all slaves receive the same data, yes?
I2C requires that the slaves ACK the address/data sent, if the 4 slaves are slightly off in their processing, you could see 4 ACKs at 4 different times, screwing up the transfers.

You could try a faster interface, one that does need ACKs, such as SPI.
Have all slaves listen, but send 4 bytes out, and have each respond to just 1 of the bytes (or ints, or floats, whatever the variable is).
Can run at 4MHz (SPI default) clock vs 100 KHz (I2C default)

Thank you for the information we already have thought of changing our communication protocol to SPI.

Anyway and just to archive the knowledge im still interested about the general I2C address in Arduino, probably we end up using SPI but I still want to at least try it with I2C.

I might haven't expressed me well enough, in my last post. What I was wanting to do with I2C is:

  1. Send their speed to each motor using their specific address that we gave them
  2. Ussing I2C general address to tell all the motors to change their last speed to the new one so they all do it at the same time.

So the data that I'm sending to all motors at the same time is the same, just a boolean, the speed was already sent to each motor separately before.

So again thank you for the advice because it confirms our thoughts of changing the communication protocol but it hadn't answered my question

Ussing I2C general address to tell all the motors to change their last speed to the new one so they all do it at the same time.

There is no general address on the I2C bus. Address 0 is the bus master if you want but no slave device will listen for that address and as CrossRoads explained it wouldn't work because of the acknowledgements. What you're trying to do is not possible with the I2C bus, at least not without violating the protocol.