We have a problem using STM32F407G-DISC1.
We have a custom PCB that mates with the DISC1 board. The PCB has an SD Card slot wired to SPI1 on the DISC1. We have tried a number of DISC1 boards about 50% of them are able to read the SD card about 50% are not (fail to mount) (of about 30 DISC1 boards).
We have tried many things to discover the source of this problem but can not pin it down to a single source - I've listed what we have tried below.
We've used DISC0 before (about 10 boards) and not seen this problem.
One thing that we can't understand that seems to make a difference is touching some pins on the DISC1 with your finger (PE1, PE2, PE3, PE4) - these are unconnected pins that have been set as output pull-up (we've also tried analog input). This effect seems to be present whatever else we try.
Things we've tried. Decoupling caps 3V-GND on SD card pins, pull-up 10k resistors on SPI (MISO, MOSI, CLK), unused pins to input, pullup, unused pins to analog, checked SPI lines on oscilloscope (0-3V swing, ~5ns rise time), repeated reprogrammed DISC1 board, different SD cards, software delay after power before read SD, NVIC_reset after failed SD card reads, cleaned PCB, changed ABP2 divider and SPI prescaler to get different SPI clock speeds - plus many variations on these behavior is always the same.