Question a deux balles

Pour la première question, tu veux écrire dans la liaison série "0x02b" tel quel ou bien le caractère ascii correspondant ("+") ?
Si tu veux écrire 0x02b utilise simplement les guillemets pour écrire la chaîne de caractères,
si c'est pour écrire '+', écrit directement la donnée en binaire avec Serial.write().

En revanche si c'est pour écrire le contenu d'une variable en hexadécimal comme pour la deuxième question, c'est effectivement Serial.print(x, HEX) qu'il faut utiliser.

À mon avis s'il écrit six 'F' devant c'est à cause du type de la variable, un hexadécimal sur deux caractères est un octet, essaie avec Serial.print((byte)x, HEX).

Sinon tu peux aller voir du côté des fonctions de formatage qui permettent une meilleur maîtrise de l'affichage des chaînes, mais qui sont plus complexes (et en plus je ne sais pas du tout comment elles se comportent avec l'arduino).

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html

Si tu utilises ces fonctions, je crois qu'il faudra plutôt passer par une chaine temporaire en utilisant sprintf car elles ne permettent pas d'écrire directement dans la liaison série.