Craig's Serial Logger Page

A serial logger is a device that accepts TTL serial data and writes it to some sort of media. I needed one for a project back in 2012.

History:

There is a long history of serial loggers; here's some info about the ones I came across when I was looking for one. All of these have their roots in the SparkFun OpenLog hardware design and use Arduino based software.

SparkFun OpenLog by Nathan Seidle (2009)

Using the ATmega328P and featuring a microSD card there have been two hardware versions of this device. The firmware is available on github.

[OpenLog V1] [OpenLog V2]
OpenLog V1 OpenLog V2

I never actually had one of these.

seeed studio SDLogger by Magnus Karlsson (2010)

This is a reimplementation of the OpenLog hardware. The firmware is available on github. It uses a SD card and features the ATmega644P which gains some SRAM (2K -> 4K) and a second serial port but is pin-for-pin compatible with the ATmega328. It uses a 14.7456 MHz crystal to make for better UART clock math. There were other changes to the firmware:

[SDLogger]
SDLogger

I used a number of these. One thing I didn't like about the firmware was that it configured the baud rate using a file on the SD card. I found that the file system would sometimes get corrupted and then it would default to the wrong speed (and silently stop logging).

XSE SDlogger by Craig Leres (2013)

Eventually I designed my own board. I used the ATMega1284P (pin-for-pin compatible) to gain even more SRAM than the ATmega644P (4K -> 16K) and switched to a microSD card cage which I put on the "top" of the board to make it easier to access. I also used a blue LED in place of the green one on the SDLogger. I kept the same header layout as the seed studio SDLogger so I could swap between the two designs.

[XSE SDLogger Top] [XSE SDLogger Bottom]
XSE SDLogger Top XSE SDLogger Bottom

Both SDLogger and XSE SDlogger have a 6-pin header to allow for ISP programming. I like to use the Sparkfun Pocket AVR Programmer, which is faster than serial programming, and I made an adapter to convert the 6-pin (linear) header to the 6-pin (2x3) ISP socket. The adapter does not connect the voltage pin (which I filled in with some glue).

[XSE SDLogger Schematic] [ISP Adapter]
XSE SDLogger Schematic ISP Adapter

I originally designed my board with KiCad 5; a KiCad version 7 board layout file can be found here and an only slightly obsolete parts list is here. I had a small number of boards made with OshPark's prototype service. The SDLogger is about 34.5mm square, my design is 34.5 x 27.0 mm (OshPark charges by the square inch, after all).

Here are some of the changes I made to the firmware:


Copyright © 2024, 2025
Craig Leres