Deek robot SD shield

I bought a cheap generic SD card shield from EBay (branded as Deek Robot). I can't get the thing to work. I've tried the Cardinfo in the examples section, and I get the mesage

"Initialization failed. Things to check:
    is a card is inserted?
     Is your wiring correct?
    did you change the chipSelect pin to match your shield or module?"

There is a card inserted (I've tried a few different SD cards, my laptop reads them all fine).
I haven't done any custom wiring, I've just popped the SD shield on top of my Leonardo, so I assume that's correct.
I don't know what value to set chipSelect to. I've tried 4, 10, 8 and 12. The SD shield came with no information at all. It has Deek-Robot branding on it. I've looked on the www.deek-robot.com website and there's no information about this board on there. I've contacted the EBay seller but they don't have a great command of English and seem utterly baffled by the whole concept of documentation and don't seem to understand that I'm asking for information on how to use the device. They've offered to send a replacement in case this one was damaged in transit, which is nice, but I don't really think it is damaged, it doesn't look it, the Power LED comes on and the card slots in securely. What I really want is some information on how to use the device, but the seller appears to know nothing about this. Has anyone used one of these Deek Robot boards successfully and can you let met know what you did?
Cheers,
Tim

You could check out this site:

They are official importer for Switzerland and have added documentation.

This is how I got the SD datalogger shield to work. It interfered with my standard LCD display shield on top and I switched my pins from 8-9-4-5-6-7 to 2-3-4-5-6-7 with the LCD connected. LCD is DFRobot.

The SS pin is 10

I used the UNO

Cheers for the reply, but it does appear that this board is dead :frowning: I tried the RTC example from the play-zone site and after a bit of phaff getting it to compile with the Time.h library it seemed to compile and upload OK, but I just get the error DS1307 read error!  Please check the circuitry. I had tried the ChipSelect set to 10 and it still can't initialise the SD card.
I'm chucking this DEEK robot card in the bin and I've just ordered an Adafruit one.

I received one by mail today.

I tried following the instructions at Adafruit, but only got a garbled reply from the RTC.
I used the DS1307-example from "RTClib.h"
(I think it is a baud rate problem)

DS1307RTC Library, For Accessing Real Time Clock (RTC) Chips and Time Library, Timekeeping and Time/Date Manipulation on Teensy have so far made me able to receive a time from the RTC.

DS1307RTC Read Test

Ok, Time = 21:50:14, Date (D/M/Y) = 21/10/2014
Ok, Time = 21:50:15, Date (D/M/Y) = 21/10/2014
Ok, Time = 21:50:16, Date (D/M/Y) = 21/10/2014
Ok, Time = 21:50:17, Date (D/M/Y) = 21/10/2014

I can see the cardinfo with the cardinfo example in the SD library..... but I have to go get a new one tomorrow. I only had an old FAT12 formatted 32 Mb card in the drawer.
:fearful:

Hi,
did you get it running already ?
I'd be interested in a solution because I was only able to run the RTC part of the board. However, no success with the SD Card.
Thanks
AgeBee

Can't get this deek-robot shield running :frowning: i pop it on an arduino mega and none of the examples work. do i have to solder any extra stuff?

payam1995:
Can't get this deek-robot shield running :frowning: i pop it on an arduino mega and none of the examples work. do i have to solder any extra stuff?

No, there should be no soldering of any parts.
I sent mine back to the supplier and await what I will get back. I suspect malfunction. But we will see ...
If it is still not working those shields are for trash.
I'll keep you informed.

I am using the Deek Robot shield on a UNO combined with a Funduino LCD I2C display
and an adafruit ADS1115 16Bit ADC - all working fine.

The SD card uses the SPI bus - so it needs addressing.
The Deek robot seems to use as follows:
D10 - Chip Select
D11 - SPI MOSI
D12 - SPI MISO
D13 - SPI SCK

Don't use these GPIO pins for anything else.

Remember to install the RTC library from Adafruit (compatible)

Also install the SD library from Grieman (much better than the built in)
https://github.com/grieman/SdFat

Set your includes as follows:

#include <SPI.h>
/*ensure to install the SdFat Library from:
https://github.com/greiman/SdFat
*/
//#include <SD.h>    //Loose this in favour of SdFat Library for timestamp
#include <SdFat.h>   //New SdFat library
SdFat SD;            //Add this line for backwards compatability with coding
#include <Wire.h>
#include <RTClib.h>
// We are using Adafruit clone - so chipSelect = 10
const int chipSelect = 10;
// and the RTC type is RTC_DS1307
RTC_DS1307 RTC;

Works for me - might work for you.

Edit - Note for Mega users!

The Mega does not use the same SPI pins as an UNO.

See the Adafruit documentation here: https://learn.adafruit.com/downloads/pdf/adafruit-data-logger-shield.pdf

Page 30 shows how to use a modified library to be able to show the Mega which pins to use on the shield.

Scottrockcafe:
Works for me - might work for you.

This worked for me on a 'Deek-Robot Data logging shield v1.0' on a Uno R3.

Thanks!

I purchased one of these on Amazon and my first warning should have been that I received 2. Neither worked with an Uno or Mega2560, the power led didnt even light up. AgeBee, what ended up happening ?

HI! I bought some DEEK-ROBOT Data logging shields V1.0 and want to use them with Arduino Mega 2560 R3.
(just the the SD-sheeld on top of the Mega).
The clock is working but not the SD.
Many Thanks, If I get a real working scetch.

You will have to rewire the SPI bus (disconnect from 13/12/11 by cutting the traces and connect to 50/51/53 or better to the ICSP that carries the correct signals too, a 3x2 socket soldered facing down in the correct position works well), or use soft-SPI for the SD card (I do not know how).

Related to the RTC, for use on a Mega; I made the cuts provided for A4 and A5 and then added wires to the Mega SCL and SDA. Of the 3 SC shields, one had a battery socket not soldered.
Related to the SD; I use the SDFat library. There is an example, ThreeCards which supports software SPI and it works. No cuts/jumpers needed.
Overall, initially I had intermittent operation of the RTC and SD on all cards. After a few physical removal/install of the shields, they worked. I'm attributing it to contamination on the pins which happens after PCB cleaning and general storage oxidation.

I'm using this same deek-robot logging shield and while the RTC works with the DS1307RTC library,

The SD card doesn't seem to work.

I used the cardinfo example and to my surprise, after a few runs it actually produced something

Initializing SD card...initialization failed. Things to check:
* is a card is inserted?
* Is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
initialization failed. Things to check:
* is a card is inserted?
* Is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
initialization failed. Things to check:
* is a card is inserted?
* Is your wiring correct?
* did you change the chipSelect pin to match your shield or module?
initialization failed. Things to check:
* is a card is inserted?
* Is your wiring correct?
* did you change the chipSelect pin to match your shield or module?

Card type: SD2

Volume type is FAT16

Volume size (bytes): 500948992
Volume size (Kbytes): 489208
Volume size (Mbytes): 477

Files found on the card (name, date and size in bytes):

My SD card is empty, so that output is correct.

I've set chipSelect to 10.

Why might the connection be fickle? Anyone else facing this issue?

I think I figured it out, it seems to work now. These are the things I did, each of them may or not have contributed to it working.

HI,

Is it necessary to have 3V battery attached to this deek-robot sheild?

The Deek Robot Micro is almost an exact replica of the "Sparkfun Arduino Pro Micro" the only the SPI pins differ, which would normally be on 11, 12, and 13. On the Pro Micro they are on the 14, 15 and 16 pins.

I2C is on pins 2 (SDA) and 3 (SCL) not A4 and A5
SPI is on pins 14 (MISO), 15 (SCK) and 16 (MOSI)
There are four analog inputs (A0-A3) rather than (A0-A5)
there are 14 digital I/O lines, RX1, TX0, D2-D10, D14-D16

16MHz, 5 volt, 36mA draw current, 14 digital pins, ATmega32U4 MCU - Deek-Robot Pro Micro

So you have to change a few pins over to this configuration but it should work once you do this.

For the data logger the pin outs are as follows;

D10 - chip select
D11 - SPI MOSI
D12 - SPI MISO
D13 - SPI SCK

(from the Chinese website that makes them) Data logging shield V1.0 (things are different for the Deek Robot versions but there are no pin out data sheets on the net that are in English by the looks of things).

Hi, this board will not work straight away with a Leonardo because the SD card is an SPI device so it is assuming it can use D11, D12, D13 for mosi, miso and clk. On the Leonardo these pins are only implemented in the ICSP header. You will need to link these three pins to the icsp or use an Arduino UNO.