Hello,
How to connect DFR0229 SD card module to Arduino Nano BLE 33 sense?
I found this page SPI on Arduino Nano 33 BLE Sense
However I don't understand where is D13, maybe I am missing something obvious?
Thanks,
Alice
Hello,
How to connect DFR0229 SD card module to Arduino Nano BLE 33 sense?
I found this page SPI on Arduino Nano 33 BLE Sense
However I don't understand where is D13, maybe I am missing something obvious?
Thanks,
Alice
From the page that you linked to
This module has SPI interface and 5V power supply
So you will need to supply it with 5V and put voltage converters on the SPI lines to avoid a mismatch of voltages and possible damage to the the Arduino board
Pin 13 is top/left (D13) in this diagram in the same place as a standard Nano
Thanks for the answer, I was indeed missing something obvious and didn't see that D13 was on the top left.
However I haven't manage to make the program work. I only get :
12:20:29.085 -> Initializing SD card...initialization failed. Things to check:
12:20:29.085 -> * is a card is inserted?
12:20:29.085 -> * Is your wiring correct?
12:20:29.085 -> * did you change the chipSelect pin to match your shield or module?
So I have
MISO = D12
SCK = D13
SS = D10
MOSI = D11
GND = GND
5V = 5V
I tried to connect SS to D4, but same result. I also tried to Connect 5V to Vin and the red led on the SD module light on whereas it was off when on V5. I am starting to worry that this module can work on Arduino Nano.
I thought this SD module could be incompatible with Arduino nano (because the need of 5V), so I tried on an Arduino Uno but it isn't working neither. (the code compile but nothing even appear in the serial monitor)
Does anyone would have an idea on the reason?
Thanks
Please post your sketch, using code tags when you do
Yes sorry, I was using the Cardinfo example from SD library
/*
SD card test
This example shows how use the utility libraries on which the'
SD library is based in order to get info about your SD card.
Very useful for testing a card when you're not sure whether its working or not.
The circuit:
SD card attached to SPI bus as follows:
** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila
** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila
** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila
** CS - depends on your SD card shield or module.
Pin 4 used here for consistency with other Arduino examples
created 28 Mar 2011
by Limor Fried
modified 9 Apr 2012
by Tom Igoe
*/
// include the SD library:
#include <SPI.h>
#include <SD.h>
// set up variables using the SD utility library functions:
Sd2Card card;
SdVolume volume;
SdFile root;
// change this to match your SD shield or module;
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
// MKRZero SD: SDCARD_SS_PIN
const int chipSelect = 4;
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.print("\nInitializing SD card...");
// we'll use the initialization code from the utility libraries
// since we're just testing if the card is working!
if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
while (1);
} else {
Serial.println("Wiring is correct and a card is present.");
}
// print the type of card
Serial.println();
Serial.print("Card type: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
Serial.println("SD1");
break;
case SD_CARD_TYPE_SD2:
Serial.println("SD2");
break;
case SD_CARD_TYPE_SDHC:
Serial.println("SDHC");
break;
default:
Serial.println("Unknown");
}
// Now we will try to open the 'volume'/'partition' - it should be FAT16 or FAT32
if (!volume.init(card)) {
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
while (1);
}
Serial.print("Clusters: ");
Serial.println(volume.clusterCount());
Serial.print("Blocks x Cluster: ");
Serial.println(volume.blocksPerCluster());
Serial.print("Total Blocks: ");
Serial.println(volume.blocksPerCluster() * volume.clusterCount());
Serial.println();
// print the type and size of the first FAT-type volume
uint32_t volumesize;
Serial.print("Volume type is: FAT");
Serial.println(volume.fatType(), DEC);
volumesize = volume.blocksPerCluster(); // clusters are collections of blocks
volumesize *= volume.clusterCount(); // we'll have a lot of clusters
volumesize /= 2; // SD card blocks are always 512 bytes (2 blocks are 1KB)
Serial.print("Volume size (Kb): ");
Serial.println(volumesize);
Serial.print("Volume size (Mb): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Gb): ");
Serial.println((float)volumesize / 1024.0);
Serial.println("\nFiles found on the card (name, date and size in bytes): ");
root.openRoot(volume);
// list all files in the card with date and size
root.ls(LS_R | LS_DATE | LS_SIZE);
}
void loop(void) {
}
but in the sketch
const int chipSelect = 4;
yes I was either using connecting SS to D4 with the previous code, or trying to replace the line you have quoted by with SS =D4
const int chipSelect = 10;
Hello,
I made some more tests. Now I am only using only SS=D4 with the initial example program.
I wanted to know if there was this problem because the SD module is said to work at 5V. I also found another SD module (but I don't know its reference).
I tried the program with an Arduino Uno with both SD module but nothing occurs on the serial monitor even the Initializing SD card...
message
Arduino nano + DFrobot SD module : I get the message:
10:27:21.295 -> 10:27:21.295 -> Initializing SD card...initialization failed. Things to check: 10:27:23.378 -> * is a card inserted? 10:27:23.378 -> * is your wiring correct? 10:27:23.378 -> * did you change the chipSelect pin to match your shield or module?
I tried to connect the 5V pin of the module on :
10:48:06.959 ->
10:48:06.959 -> Initializing SD card...Wiring is correct and a card is present.
10:48:06.959 ->
10:48:06.959 -> Card type: SDHC
10:48:06.959 -> Clusters: 950688
10:48:06.959 -> Blocks x Cluster: 64
10:48:06.959 -> Total Blocks: 60844032
10:48:06.959 ->
10:48:06.959 -> Volume type is: FAT32
10:48:06.959 -> Volume size (Kb): 30422016
10:48:06.959 -> Volume size (Mb): 29709
10:48:06.959 -> Volume size (Gb): 29.01
10:48:06.959 ->
10:48:06.959 -> Files found on the card (name, date and size in bytes):
10:48:07.006 -> SYSTEM~1/ 2021-12-09 11:04:24
10:48:07.052 -> WPSETT~1.DAT 2021-12-09 11:04:24 12
10:48:07.052 -> INDEXE~1 2021-12-09 11:04:24 76
So I guess my Arduino Uno 's SPI connection is not working
Also I have 2 DFR0229 modules and I have tried both.
Does anyone have a clue what I do wrong? Is it possible that Arduino nano and DFR0229 are incompatible?
Thanks
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.