Data logging shield

Here's a handy Arduino shield: we've had a lot of people looking for a dedicated and well-designed data logging shield. We worked hard to engineer an inexpensive but well-rounded design. Not only is it easy to assemble and customize, it also comes with great documentation and libraries.

You can get going within an hour - saving data to files on any FAT16 or FAT32 formatted SD card, to be read by any plotting, spreadsheet or analysis program. We even have a tutorial on how to use two free software programs to plot your data. The included Real Time Clock timestamps all your data with the current time, so that you know precisely what happened when!

  • SD card interface works with FAT16 or FAT32 formatted cards. 3.3v level shifter circuitry prevents damage to your SD card
  • Real time clock (RTC) keeps the time going even when the Arduino is unplugged. The battery backup lasts for years
  • Included libraries and example code for both SD and RTC mean you can get going quickly
  • Prototyping area for soldering connectors, circuitry or sensors.
  • Onboard 3.3v regulator is both a reliable reference voltage and also reliably runs SD cards that require a lot of power to run

Step 1: Overview

This page will run through the schematic, explaining whats going on and why picked the parts we did!

Here's the 'big picture' schematic for reference:

Power supply:

There is a small power supply on the board for generating 3.3V @ 250mA. We don't use the 'built in' 3.3v regulator on the Arduino because its only guaranteed up to 50mA and some SD card need a lot of power when writing. This supply is nice and steady, we can use it as an analog reference too! We have two sets of bypass caps to try and keep both 5V and 3.3V supply nice and clean - the 100uF ones are for the low frequency noise and 0.1 for higher frequency

Real Time Clock:

The real time clock is the DS1307 from Maxim, which has a battery backup (CR1220) and communicates with the Arduino via i2c (the SCL and SDA lines). i2c requires pullup resistors on the clock and data lines, which you see as R1 and R2. 2.2K are good values, but if you're in a bind, 1.0K to 10K will probably work fine.

The RTC requires a single 12.5pF load crystal at 32.768 KHz, Q1 - this is how it keeps time

There are also two LEDs for general purpose blinkin' - we like to use them to tell when the SD card is being written to.

SD card interface:

The SD card holder is connected to the Arduino through a buffer IC3. The buffer is a level shifter, converting the 5V signals into 3.3V ones which are safe to use. (For some cards its OK to use 5V signals but you risk the card being permanently damaged!) There is a pull up on the CS line so that if you program the Arduino with a ISP programmer while theres a card in, you wont scramble it.

There are two 'unused' lines from the SD card - Card Detect is shorted to ground when a card is inserted. Write Protect is shorted to ground when a card with the safety switch flipped is inserted.

Arduino interface!
Finally we have the arduino interface. The Datalogger shield uses 6 pins. Analog 4 and 5 are the i2c hardware pins. The SD card uses Digital pins 13, 12, 11, and 10. The first three are pretty much required. If you really need pin 10, you can edit the library header file and change it from pin 10 to any other pin. BUT you must have pin 10 as an output, if its an input, the SD interface wont work (its a really annoying thing about AVRs - not sure why this is). A standard 6 pin ISP header is available in case you want to program the Arduino with code using a stand-alone programmer

There is also a RESET button, handy when you want to start the Arduino over!
This logger will work on a UNO?
Very nice photographs. And the logger sounds like a very hand tool. I'm just working a wish list for my order.<br><br> I know the Time between recording events is listed in milliseconds. Does this mean the board can actually log data at one sample per msec? 1kHz? That would be so cool. Rock on LadyAda.<br><br>-Shane
Where does one get the &quot;kit&quot;
After a quick search, you can get it here...... <br> <br>http://www.adafruit.com/products/243 <br> <br>
You are using de diagonal cutter up side down.
You spelled &quot;the&quot; wrong...

About This Instructable


185 favorites


Bio: All-original DIY electronics kits - Adafruit Industries is a New York City based company that sells kits and parts for original, open source hardware electronics projects ... More »
More by adafruit: Adaruit Resistor Helper Adafruit Photo Tutorial Logger Shield: Datalogging for Arduino
Add instructable to: