And you are definitely using the ICSP1 header in the middle of the board between the chip and reset button?
I have the same micro-SD Card Reader so knocked it up on the breadboard with the Logic Analyzer - See photos
The Logic Analyzer shows the start of the SPI communication from SD.begin().
50 - MISO - Green - Channel 0
51 - MOSI - White - Channel 1
52 - CLOCK - Yellow - Channel 2
53 - ENABLE - Blue - Channel 3
ICSP1 - Pin1 - MISO1 - Green - Channel 4
ICSP1 - Pin5 - MOSI1 - White - Channel 5
I appreciate this is a "It works on my machine" but the Logic Analyzer shows the same data when connected to MOSI1 and MISO1 pins (middle of the board)
It shows nothing when I connect to the MOSI2 and MISO2 pins which are on the second ICSP2 header by the Digital 13 pin.
Detach your SD reader and try the following code that will just toggle pins 50-53 HIGH and LOW every 100ms.
Do these HIGH/LOWs show on your oscilloscope - both on the pin and on the ICSP header?
void setup()
{
for (int i = 50; i < 54; i++)
pinMode(i, OUTPUT);
}
void loop()
{
for (int i = 50; i < 54; i++)
{
digitalWrite(i, HIGH);
}
delay(100);
for (int i = 50; i < 54; i++)
{
digitalWrite(i, LOW);
}
delay(100);
}
I finally figured it out.
I tried what you told me, and tweaked my oscilloscope to get better results for the picture, and while doing boosting the intensity of my faded out CRT, I saw a bunch of noise on the CS, MOSI and MISO pins on the board that I couldn't see before due to the faint image.
When I saw that, I went ahead and started to measure voltages (I have just watched a couple of Dave's video recently, and he says 'thou shall check voltages'). In doing so, I realized that my MOSI was wired to the ground of the module and the ground to the MOSI pin.
No wonder it didn't work!
A little context here; I have not done electronics since I have left college, 5 years ago. And while doping this project, I am teaching electronics to a mate. We split tasks; I give him more "manual" stuff, and I work on the code and design.
I gave him the task of making the connector and identify the wire with tape, but I didn't doublecheck it.
Well, my fault, sorry!
I want to apologize for wasting y'all time, and I really appreciate your help!