A serial data logger

This is a project I've been wanting to do for a while. A lot of my projects write debug and other status information to the serial port. Fairly often it seems that I have to let them run for hours or even days to catch an elusive intermittent bug. Until now, this has meant keeping a PC running with a terminal program connected to the microcontroller to log the serial output, which seems pretty inefficient. My primary goal with this logger was to improve that situation.

Hardware consists of an Uno or compatible, Adafruit's Micro SD breakout board, a button switch and three LEDs. It should be easily adaptable to work with the Micro SD on an Ethernet shield or other hardware. (I use the card detect contact on AFI's board, I don't think the shield has that feature, but it would be minor to remove it from the code.

The serial input is double-buffered and interrupt driven to maximize throughput. Details, code and schematic are at: https://github.com/JChristensen/serialLogger

I see this project created quite a stir :grin: Maybe I'm missing something because I find it quite useful, enough so that I wanted to have a couple on dedicated boards, so I designed a custom PC board.

On the off chance there is any interest :o here is the board design and here is updated firmware to match the board.

I am interested, working on a Bobuino2 hand held serial terminal with data logging capability and LCD.

Looks like it could have been a SS PCB. Have to say you do very nice work!

Do you sell?

LarryD: I am interested, working on a Bobuino2 hand held serial terminal with data logging capability and LCD.

Looks like it could have been a SS PCB. Have to say you do very nice work!

Thank you!

LarryD: Do you sell?

I have several extra boards, and parts for probably two more copies. Were you interested in a bare board or an assembled version?

Two complete boards (tested with firmware and SD card for each). Ship to Canada?

Can it be reprogrammed by both FTDI and ICSP?

LarryD: Two complete boards (tested with firmware and SD card for each). Ship to Canada?

No problem, except that I cannot supply SD cards. Let me work up a price and check on shipping, I'll PM you.

LarryD: Can it be reprogrammed by both FTDI and ICSP?

Yes. I did most of my testing with the regular Uno Optiboot bootloader, programming via FTDI. The two boards I built are now programmed directly with ICSP, so no bootloader. It works equally well either way, so just let me know your preference.

Some notes on SD cards. I recommend at least class 4 cards; I tend to look for the smallest I can find. I also prefer SanDisk. I've been using an 8GB C4 SanDisk with no problems. I have some older, smaller, no-class cards, one brand seems to work fine, another will have errors at higher data rates. I use Bill G's (aka fat16lib) SdFat library; he's written extensively on the forum regarding all the ins and outs and pitfalls of SD cards. Also per his recommendation, I use the format utility from https://www.sdcard.org/consumers/formatter/

I'd prefer using the bootloader. Will wait for your PM.

Going to make a nice addition to my equipment.
2014-11-15_15-46-48.jpg

Oh no! Never thought I’d end up on a front panel! ;D

Thanks Jack! I am now finally getting a chance to download your code for this logger! I found this thread a couple days ago but had to wait until today to download the files.

Your board looks good, way to go!

cyclegadget: Thanks Jack! I am now finally getting a chance to download your code for this logger! I found this thread a couple days ago but had to wait until today to download the files.

Your board looks good, way to go!

Thanks! Let me know how it works for you. I've had two boards running pretty much continuously and they are working well.

Just got your shipment. Works and looks great! I will be using it often. And to think I came across this thread by accident!

See: http://forum.arduino.cc/index.php?topic=281091.0#new

Why did the SD data shields using SPI interface not meet your needs?

They would work fine. You would have to plug them onto a Arduino, starts getting a bit large and cumbersome.

This "is an all in one hardware solution". And fits nicely in the enclosure, see reply #9. The software is of course the thing of importance. You get a data logger and a software debugging tool. Using Jack's code allows you to separate logging onto another processor, leaving your project with more memory for other applications. A Bobuino2 would work nicely also.