problemi con schede SD

Salve a tutti.
Chiedo aiuto per un problema su cui sto battendo la testa da un paio di giorni.
Ho tre SD card da 512 Mb, 1Gb e 4Gb (cfr foto. Come potete immaginare, sono schede di recupero; in commercio meno di 16 Gb non si trova più nulla). Tutte e tre funzionano senza il minimo problema su due datalogger + WEB server che ho costruito su Arduino MKR1000 e MKR1010. Ora volevo farne un altro usando un Arduino Micro + ESP8266 (cfr schema).
Succede che nessuna delle schede funzioni, ma ad un certo punto, nelle innumerevoli prove che ho fatto (almeno) una si è messa a funzionare. Dopo un altro bel po’ di tentativi sono riuscito a ricreare il problema in maniera ripetibile: il primo SD.begin(SS) fallisce sistematicamente (qualsiasi sia il pin usato come Slave Select), ma va a buon fine se lo ripeto dopo un po’, ma solo per la scheda da 512 Mb, le altre due non ne vogliono sapere, per quante volte ripeta il SD.begin.
Ho sospettato che il mio Arduino Micro fosse difettoso, ed ho provato con un Arduino Uno, ma il comportamento è stato assolutamente lo stesso.
Gli sketch che ho usato sono quelli degli esempi della libreria SD, modificati per far ripetere il SD.begin.
Grazie a chiunque mi possa aiutare a capire dove sta il problema.