MCP23S17 per comandare dei relay

Ma non è possibile!!!

Ho provato poco fa ad effettuare le modifiche alla libreria, e subito ha funzionato tutto alla perfezione...
Quindi sono passato alla fase successiva, cioè scrivere un semplice programma che alla pressione di un tasto abilita, una per volta, le uscite del mio expander.
Nulla di più semplice, se non fosse per il fatto che adesso non so per quale strano motivo, senza aver toccato nulla e senza aver modificato le impostazioni dell'IDE, non esegue più l'upload!!!

Sotto windows funziona tutto perfettamente, mentre sotto mac osx (il mio sistema operativo principale) non c'è verso di flashare anche il più misero sketch...
Mi da il seguente errore:

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/michele/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/tty.Bluetooth-PDA-Sync
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
avrdude: wiring_open(): releasing DTR/RTS
avrdude: wiring_open(): asserting DTR/RTS
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14] 
avrdude: ser_recv(): programmer is not responding
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done.  Thank you.

Ripeto che con Windows funziona tutto correttamente, quindi escludo un problema alla scheda, in più anche scollegando l'usb non chiede più come prima di scegliere la porta, ma da lo stesso identico errore.
Ho anche provato a cancellare e ri-installare l'IDE, cancellare la cartella delle mie librerie e dei miei progetti, ma nulla. Non ho nemmeno trovato altri files di configurazione sparsi.

Sicuramente è un problema banalissimo, ma non riesco a venirne a capo! Metto apposto un tassello e se ne rompe un altro!!! :~