Проект - громко сказано
Там все банально: к РА9 и РА10 подключаем USB-переходник, или ардуинку свободную (я делал дуинкой, ресет закорачивал на землю). Уровни сигналов нужно согласовывать, использовал резистор 10К и диод: 10К к питанию +3.3В и РА10, анод - туда же, катод - к источнику данных с 5В. На прием дуинке соединял без согласования, 3.3В она понимает правильно. Карточку взял с переходником, его и припаял: SS - PA4, MOSI - PA7, SCK - PA5, MISO - PA6. Земля и питание тоже соединены.
Сначала установил на STM32 загрузчик, пользовался статьей:
https://geektimes.ru/post/277928/ Затем взял ранее упомянутый исходник Бейсика, закомментировал обращения к Wire, добавил код с обращением к SD (примеры к библиотеке SD.h, поправил chipSelect) , подключил к команде "mem", программа видит карточку и пишет-читает файлы. Глубже пока не пилил, недосуг.
Соединяй и здравствуй.