Hmm, well, apart from checking Baud Rate and such (could you try sending some plain Chars just to check?), I can see that you're using "putrsUSART" which expects a CONST ROM CHAR *... You're OTOH passing it a simple char: this is wrong. You can either use "putcUSART(x);" to send the "hex" number corresponding to what is read from I2C, or convert that number to a string (maybe using printf()" and then use "putsUSART" (note "r" is missing... in fact you'll be using a CHAR * i.e. a string.)