I2CWRITE SDA, SCL,com,[$40,"hello ",str buff\x]
is incorrect



I2CWRITE SDA, SCL,com,[$40,"hello ",str buff]
or
I2CWRITE SDA, SCL,com,[$40,"hello ",str buff\3 ]
is whats required.


The "\x" ( length specifier) if used is the number or chr's in the the string {buff in this case } to send (12 {the value of x} is inappropriate), a null terminated string (as created by arraywrite ) needs no length parameter to be specified if you wish to send the entire string