convertir un tableau de byte (adresse mac) en tableau de char (pour affichage)

A mon avis tu devrais profiter de l'occasion pour essayer de comprendre plus avant les notions de C qui te font défaut.
:stuck_out_tongue:

Le plus gros problème de ton code réside dans la gestion de l'allocation de mémoire pour une chaîne de caractère.
Ton "char ma[18]" n'est alloué qu'à l'intérieur de ta fonction macAddressToString.

à moindre modif de code, je pense que tu peux le remplacer par "static char ma[18]" mais s'il te plait documente toi et essaye de trouver par toi-même pourquoi cela résout le pb. Ce sera plus instructif.

Pour le reste l'intérieur de ta fonction macAddressToString me semble compliqué mais fonctionne (la boucle for et ce qui suit).

Supprime les 3 Serial.print à l'intérieur de ta fonction, qui font doublon avec ceux de la fonction setup()

NB : si c'est juste pour afficher l'adresse MAC sur le port série, un
Serial.print(mac[i],HEX) fait l'affaire.