• Unfortunately still not working.

    So I did the following:

    • double and triple checked my pinout in boards/STM32F4DISCOVERY.py. No problem there.
    • I reformatted both of my microSD cards as follows:

      sudo mkdosfs /dev/sdg1 -F 32 -I
    • I connected up my oscilloscope to pins PB15 (DI) and PB14 (DO) as suggested, ran the following command:

      var f = require("fs").readFile("test.txt");

    and captured this image where channel 2 (blue) is PB15 (DI):

    Figure 1: Oscilloscope image showing the DI (blue) and DO (yellow) pin states while attempting to read from the SD card.

    So it seems it is at least addressing the correct pins.

    Pinout differences:
    I then remembered comparing the pinouts of the Espruino board SD card holder schematic with those of the MikroElektronika microSD click board. Below is a side by side image of the two.

    My observations:

    • pin 9 (CD) is connected up on the MikroElektronika board. Initially I didn't know what this pin was for but after reading the Adafruit microSD breakout board tutorial I see it is the card detect pin which shorts to ground when a card is inserted. This pin is not connected on the Espruino schematic. No idea what the consequences are of this difference.
    • there are a number of differences with the ground connections (G2, G3, G4) on the Espruino board which the MikroElektronika doesn't show in as much detail.

    Any tips @Gordon?

    Once again many thanks.