user7572: I have been working with the wire library (I2C) to send data from one Arduino to another.  I read that the Arduino can only send 6 bytes per cycle, but I have been able to transfer much larger strings.  This code works without error:
  Wire.beginTransmission(4); // transmit to device #4

  for(int i = 0; i < 20; i ++){
    char rand = random(65, 100);
    Wire.write(rand); 
  }

  Wire.endTransmission();    // stop transmitting

How is this possible?  It seams that 32 characters can be sent without trouble.
I read this here: http://arduino.cc/en/Tutorial/MasterReader

Arduino 1, the Master, is programmed to request, and then read, 6 bytes of data sent from the uniquely addressed Slave Arduino.

Now that I look at this again (after reading the responses) I think that the limit was set in the code sample.

user7292: There is no reason to believe there is a 6 byte limit.
The Arduino Reference makes no mention of a 6 byte limit.
The Wire.cpp defines 'txBuffer[BUFFER_LENGTH];' where BUFFER_LENGTH = 32 (defined in Wire.h). The maximum is 32 bytes, just as you noticed.

7572: <p>I have been working with the wire library (I2C) to send data from one Arduino to another.  I read that the Arduino can only send 6 bytes per cycle, but I have been able to transfer much larger strings.  This code works without error:</p>

<pre><code>  Wire.beginTransmission(4); // transmit to device #4

  for(int i = 0; i &lt; 20; i ++){
    char rand = random(65, 100);
    Wire.write(rand); 
  }

  Wire.endTransmission();    // stop transmitting
</code></pre>

<p>How is this possible?  It seams that 32 characters can be sent without trouble.</p>

<p>I read this here: <a href="http://arduino.cc/en/Tutorial/MasterReader" rel="nofollow">http://arduino.cc/en/Tutorial/MasterReader</a></p>

<blockquote>
  <p>Arduino 1, the Master, is programmed to request, and then read, 6 bytes of data sent from the uniquely addressed Slave Arduino.</p>
</blockquote>

<p>Now that I look at this again (after reading the responses) I think that the limit was set in the code sample.</p>
 7292: <p>There is no reason to believe there is a 6 byte limit.</p>

<p>The <a href="http://arduino.cc/en/Reference/Wire" rel="nofollow">Arduino Reference</a> makes no mention of a 6 byte limit.</p>

<p>The <a href="https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/libraries/Wire/Wire.cpp" rel="nofollow">Wire.cpp</a> defines 'txBuffer[BUFFER_LENGTH];' where <a href="https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/libraries/Wire/Wire.h" rel="nofollow">BUFFER_LENGTH = 32 (defined in Wire.h)</a>. The maximum is 32 bytes, just as you noticed.</p>
