programma non va

Sì la F() si aspetta un char* ma passato direttamente e non per referenza, per cui

Serial.println(F("MARIO"));

funziona

char* mario = "MARIO";
Serial.println(F(mario));

non funziona.

Prima di riscriverti la funzione, fai prima ad usare PROGMEM.