Arduino + SD. Note: my Arduino-related pages start here! Why? Arduino has 512 bytes EEPROM (which does not loose its contents at power off) and 1024 bytes RAM (which contents are lost at power off). To get more storage, a SD-card solution (MMC, secure-digital, micro-SD, etc) is the cheapest way to have a few gigabytes of storage for data logging. Using a secure-digital (SD) card with the Arduino is quite easy, as long as we use its "slow" mode (via SPI and without interrupts) and only read/write single sectors (no "burst" modes). Hardware: we only need four pins (3 out, 1 in): I scavenged a SD-card slot from a dead digital camera. SCK goes to Arduino's SCK (see above) CS goes to SS- DI goes to MOSI DO goes to MISO GND and GND1 go to Arduino's ground VCC goes to Arduino's 3.3V source other SD-card pins are not needed (I am not that in a hurry to waste two Arduino pins to just check that the SD-card has not been locked on its write-protect switch).
ARRGH. Filesystem transparency. FileLogger. GPSLogger. Hi, my hobby is R/C airplane modeling and its FPV branch (First Person View). In our planes we load GPS receivers to send telemetry data to ground, so we can know anytime where the plane is; but we don't store the GPS data so we cannot analyze later our trip with tools like Google Earth. So one month ago I got an Arduino and started preparing a GPSLogger together with a friend and co-worker. I have some experience with PICs, so it wasn't hard to start with Arduino. As our planes are heavily loaded we need something small and light, so I decided to use an Arduino Pro Mini, and to store the data on microSD card. There were two of us working in the project, Eduardo GarcĂa and me. This is the final setup: If you want to see more pictures: It has been tested with the following GPS modules:EB-85EM-406Locosys LS20033 The microSD source code is contributed under the GPL license, can be found here: Arduino-filelogger - Project Hosting on Google Code.
This project focus in just one simple functionality: logging data to a file in SD cards from Arduino boards. We are trying to get it 1) fast and 2) small, so this library can be used in other projects based on arduino with little impact on memory resources and performance. References Ths library was developed to be included in GPSLogger, an arduino shield that logs GPS data to SD cards and is small enough to be embedded into RC airplanes. You can find info on the GPSLogger shield here: Features By now, it takes about 175 mSecs to append 512 bytes to the file, so transfer rate is about 2925 bytes per second.
Anyway, take into account that the size of the minimum data chunk that you can write on SD is 512 bytes, so to write 1 single byte it will take 175 mSecs, even if 511 bytes are unchanged on SD. Consider buffering to optimize SD access speed. The library memory footprint, for version 0.6, is: 3581 bytes in program memory (Flash) 537 bytes in data memory (SRAM) Developer's guide. GPS datalogging shield for Arduino. OK finally we get to the part thats interesting, where you can log GPS data (and possibly other sensor data as well) to a memory card. Just what it says, this tutorial now only supports using the Atmega328. Its been a few years so upgrade if you still have a '168!
You'll need a SD card formatted in FAT16 or FAT32, most SD cards are formatted correctly 'out of the box'. You can see the formatting tutorial over at the Wave Shield page Unplug the Arduino, remove the GPS module (for now) and insert the SD card into the holder on the underside of the shield. If you are using a Mega (1280 or 2560) you will have to tweak the SD card library to allow to use the same pins as the Uno. Plug the shield into the Mega using the same pin numbers you would use on the Uno, starting at A5 on one side and D0 on the other side. We will be using the SD library, in the latest Arduino IDE. Next download the GPSLogger sketch.
You should see the above. Once you have the SD card working, unplug the Arduino. OpenLog. SD-Karte: In Datei schreiben.