Search
Product Info
Logomatic v2 Serial SD Datalogger
sku: WIG-08627
Description: The Logomatic v2 takes everything we learned with multiple logging projects over the years and boils it down to an easy to use device, that is now more adaptable than ever! Version 2 incorporates the LPC2148 with USB, battery charging, and microSD support. This allows us to use the SparkFun LPC2148 USB bootloader for even easier and faster modification of the firmware. No programmer required!The Logomatic v2 uses a USB mass storage stack to appear under any operating system as a flash drive. Logs are created in FAT16 format on the micro-SD media and can be downloaded quickly over a USB connection by dragging and dropping the text files from the device. The microSD card can also be removed and inserted into a card reader to download the logs.
Board comes with a JST connector to be powered from our line-up of LiPo batteries or other power sources up to 7.5VDC. If you choose to use LiPo batteries, the Logomatic v2 has a built-in charger to charge batteries off USB.
The Logomatic v2 ships with basic serial text and analog logging. Users can easily start with this firmware but are encouraged to modify the firmware for their specific requirements. It's a truly flexible logger.
As one of our most popular products, the Logomatic has a ton of uses, and makes for a wonderful gift! For other great gift ideas, check out our SparkFun Gift Guide.
Features:
- LPC2148 ARM7
- 512K user flash
- 10 available GPIO pins
- Built-in RTC
- 2 Status LEDs
- USB Link LED
- External interrupt
- micro-SD socket
- Compatible with low-cost flash media (related below) up to 2GB
- Built-in MAX1555 USB charger (300mA max)
- Built-in USB mass storage device bootloader
Documents:
Pricing
Comments
71 comments
Feeds
Currency
Display prices in
Feedback
If you would like to tell us more, you can fill out our form if you need some psycho-suggestive questions. Go to the form.












































Please be avare that the firmware has a small mistake, but you can easily correct it by WinARM. when you would like to use all ADC lines the system will not work.
You need to change in the source:
AD0CR = 0x00020FF02; // AD0.1
AD1CR |= 0x01000000; // start conversion
to
AD0CR = 0x00020FF02; // AD0.1
AD0CR |= 0x01000000; // start conversion
because you are using the ADC0 not ADC1
Jan
change this line:
LOGOV2.FW: main.elf
to this one:
FW.SFE: main.elf
fd = root_open_new("LOGCON.txt");
strcpy(stringBuf,"the textnr");
stringSize = strlen(stringBuf);
fat16_write_file(fd, (unsigned char*)stringBuf, stringSize);
sd_raw_sync();
Thanks for some help
jatkins: This device takes microSD cards. Don't know why I wrote miniSD, not enough coffee that day I guess. Datasheet is now up-to-date.
jan.brutovsky: Thanks for pointing those out! The link now downloads the corrected firmware, with the register change on the ADC line and the updated firmware filename.
tapenot: On the surface it appears that your code is correct. Make sure you are not naming the new file "LOGCON.txt" if the Log_init routine is also trying to manipulate it. Make sure you are properly declaring fd and stringBuf as the correct data types. If all else fails check the return values of fat16_write_file and sd_raw_sync. If either of these are failing you can debug the functions themselves. As a final test, I would recommend trying a different brand of SD card than you are using. These cards can be fickle sometimes. If you need further help, feel free to contact our tech support.
Is it possible to do that using this board?
what else do I need? tks
Is there an easier/cleaner way to do this ?
d.headrick: What you are describing seems like the best solution to me. VBAT must be powered for the RTC to work in power-down, so cutting the trace and having a separate power would work for you.
ratlifflj: Oops! Forgot to change the diagram on the datasheet. What you have is the exact same board with UART1 pins broken out (which replace two of the ADC lines). The datasheet should be exactly the same otherwise. We'll get that changed.
Randy: You can run this board off of any power supply you like, the charge circuit is protected from the main power regulator. The datasheet recommends a maximum of about 9V supply, but the regulator on the board is pretty beefy, and I've had one of these running off of a 18V bench power supply before it horked. You will most likely be able to run it off of 12V, but I would certainly test beforehand to see how hot the regulator is getting, running it too long could put it into thermal shutdown.
dantearmando: The battery life depends on what battery you're using and the current draw of the device depends on the UART logging frequency. The maximum current draw is 80mA (as high as we've been able to get it) so if you're using a Lithium Polymer cell with a 2000mAh rating, the device should run for about 25 hours minimum. I would recommend Sparkfun product PRT-08483.
-Adam
E.g. http://www.sparkfun.com/commerce/product_info.php?products_id=116
I would suggest using a header rail, it will make the board more portable from project to project and you won't have to worry about as much strain protection for the wires. If you want, use a polarized header rail and housing to prevent connecting things backward.
Any help from the Ubergeek community will stop me from further baying at the moon. Thanks!
thanks
JAn
What voltage levels can be logged via the analog ports?
Question2:
Is it possible to programm the logger to start logging at a certain date and time?
1. Can a timestamp be written with the data (either alongside each data set or at intervals as a marker?)
2. Can the firmware be modified to allow logging at a frequency less than 1?
3. I see there is a limit of 255 datafiles - I assume the datafiles are also a fixed size and therefore does this imply that there is a limit to the amount of data that can be stored?
Thanks.
-Very Small!
-Easy Size to solder
-LEDs are helpful
Not So Highlights:
-UART and ADC logging are mutually exclusive on this device.
-Poor Documentation, I still don't know how to access the second UART, or enable them for ADCs
Once I got the ADC logging I was pretty happy with the device and now its time to get to firmware hacking.
Gotchas:
-Under OS X, editing the LOGCON.txt doesn't work corrctly. Its best to use WIndoze for this operation.
- Using the LS20031 GPS module, make sure to change the Baud Rate to 7 otherwise you will get garbage.
I would like a better spec sheet for this device. It really has great potential. Also bigger power switch that you could access when placed in an enclosure.
Please for the love of Science, make a mode that allows both UART and ADC at the same time or a triggered from the UART. This is a firmware upgrade away from making alot of people happy, and the software already exists with the Package Tracker. If this is not really an option atleast let people know why.
The code I'm using is:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print('The quick brown fox jumps over the lazy dog');
delay(1000);
}
On a Vista computer I get the "USB Device Not Recognized", and when I click through, a list referring to it as "Unknown Device" and saying that there is no device driver loaded.
On an XP computer I get no sign of recognition that the device is plugged in at all.
I can remove the SD card and read it in a Sparkfun card reader, and it does seem to mostly do what is expected, except that the first log file is named "LOF01", not "LOG01" (subsequent log files are named correctly).
I also have a Logomatic V1, and I have had no trouble using that.
Any ideas on how to get the V2 to mount properly? Is there driver software somewhere?
http://www.gpsbabel.org/
http://www.dpcav.com/data_sheets/ls2003x_gps.pdf
the gps is connected to an OSD:
http://alai.h3m.com/~s0350672/catalogo/product_info.php?cPath=43_63&products_id=361&osCsid=e38ab9eef4dbdb15dc8b9da231f45334
the OSD controlls the gps. All I want the logger to do, is to receive data from the gps. I tried connecting the GND and Data output (TTL level) on the gps and GND and D/A 1 on the logger. Is this wrong? Thanks.
Is there a hex file / compiled firmware file that I can upload using the Flash Magic utility? I don't want to get all the tools up and running to recompile...
Thanks...
I want to make this as bare-bones and as cheap as possible.
I do want to look into arm programming, though. It would be nice to do some heavy-duty stuff with microcontroller programming. It's awesome what you guys do here.
I realize that would depend on the speed of the card, but do you have any data for different speed cards and the associated data through put?
Does SparkFun use any kind of source-code management (CVS, Subversion etc)? It'd be particularly useful for people to share code improvements while keeping track of different versions.
ch8 ch1 ch2 ch3 ch4 ch5 ch6 ch7
AD1.3 AD0.3 AD0.2 AD0.1 AD0.4 AD1.7 AD1.6 AD1.2
so channel 8 comes first in the log file,
and ch 8 comes last on the board takes a few minutes to figure out, why not just use same order :-)
and wierd naming in the configure file, why not
name them 1-8 like on the bords, normal userd
dont want to be bothered with the wierd arm analog naming
AD1.3 for channel 8 = too complex
I totally agree with you -- the Logomatic's numbering of the AD channels in both the config file and the log files makes no sense at all; maybe it's a hold-over from the earlier version of the board.
I modified the code so that, if the text in the config file is "CH1 = Y", "CH2 = N" etc, it correctly maps them with the numbering on the board, and outputs them in the log file in that order. I can post my changes to the Forum if you're interested. I wish there was a good repository where we users could post code improvements and bug fixes. Somebody (I don't have the link on me right now) did a great job cleaning and speeding up the code, so it can sample and log at a much higher rate than the SparkFun code. We need a code repository!!
I started a 6ch adc ascii loging, 100hz
with the supplied micro SD card 1GB from sparkfun,
after 6-8hrs I get some wierd logs like missing
data, look here:
505 231 196 233 305 338
505 232 197 232 302 339
305 339 (here data is missing)
505 232 195 233 308 340
505 231 194 232 308 339
505 232 196 233 307 343
504 231 196 233 197 232 301 338 (n1)
505 231 197 232 303 338
n1 = here too much data placed on the same line ??
any one with a fix for this ?
I dont want to write C code or compile,
I prefer to get a fixed HEX code I cam upgrade my
units with, is that possible ?
any users with fix hex codes please email me thomas at webx dot dk, thanks in advance
Somewhere you should also spec out exactly what connector that is for the battery.
The switch that connects and disconnects the battery has 6 terminals on it, while the schematic only shows 3.
I need this info because I need to power it with an unconventional battery, and I need to pull off all the switches from the board and mount them externally. This information would have made my life a lot easier.
Other than that...well yay! Very good device.
Still think the data sheet should be more technical. Here is another example of why.
There should be a spec on what error tolerance the device has on baud rate. I found the with my chip, at my speed, the error for generating a baud rate of 155200 is 3.7%. This made it so that it worked fine when sending text to a PC or most other devices. But apparently the logomatic can not handle this amount of error.
Moving to 57600 bps, fixed everything.
I get good data as follows:
95FF 1307 D008 FC20 2837 C020 B120 951F A708 FC0B C6F7 C0FA 1460 2008 FC20 9F1B 8920 95FF 1307
And bad data as follows:
3F3F 3F3F 3F3F 3F49 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F 3F3F
- I need to log data at time instances triggered by an external device or a switch.
- I need to log data coming from two serial devices, at the same instant. Both devices are capable of generating serial data with different trigger characters.
I studied the available docs and could not find an easy solution yet. I would appreciate any comments/suggestions.
Thanks in advance...
But then, I've probably just been spoiled by the amount of help available for Arduino projects.
I'm trying to log the serial output from the hardware uart on a 5v Arduino Pro Mini 328.
http://www.prism.gatech.edu/~jsheridan3/logomaticBinaryConverter/
am using the Deucimilia board / ATMega328 chip.
thanks!
Your bootloader seems really cool - maybe I will just not need to port the one I wrote for the LH79520 (that was an ARM720T core).
Thanks for the tutorials: I got the environment up and running in about 4 minutes and I am already building the core of the OS I want for my application.
Great!
The ARM7TDMI cranking power might be a little short compared to a BF533 but then, well... If I really need it I could also wrap up my own board.
Speaking of which, it appears that the Eagle files you provide on this page do not correspond to the pictures of the board on that same page.
Has there been substancial changes?
Also, a small remark for future revisions of the board or other similar PCB: I would have liked if the unused pins were at least pulled to vias, even very close to the chip; even under the chip for that matter.
For instance the LPC2148 features 14 ADC channels (6 muxed on ADC0 and 8 on ADC1) - I would have had a use for all 14, had they been available other than by soldering directly on the pins (and I don't have a microscope here).
Great little chip, in any case.
I guess it is available when user code is running, right?
Similarly I guess the UART1 (TXO1 and RXI1) and the SPI (SCK, MOSI, MISO and CS) are available as GPIO when not used otherwise, right?
Thanks for posting the design files!
I need to combine this PCB with other components and stuff on a PCB with the USB connector and the card on the side - I can make my own PCB but then I would like to avoid the hassle of procuring all the components.
Thanks for answering this.
Can I power the logomatic directly with 3.3V or must I use the VLipo pins with a highest voltage as 5V?
Thank you
Seb
I thought it was going to be a lot simpler than this. Can you please assist?
A good way to test is with a USB to serial(TTL)converter. Hook the garmin to the RX and make sure it's coming in at that baud-rate. Then hook the logomatic RX to the converters TX and send a few "@" signs and see if they get recorded.
I have a V1 logomatic and blind experimentation is a bit frustrating. always try to verify what's really being sent to it!
I had to read the source to figure out which of the UARTs to use. Unless I missed it, the datasheet does not explicitly tell you to use the UART0 pins. My first guess was that that was reserved for debug and ISP programming.
Let me add my vote for new hardware features:
RTC Vbatt pad option
more pads for currently unused pins if there is room
On the software side, mixed UART and ADC (I know, just a few lines of code I could do myself...) and RTC support.
Seems real great.
Will it work with micro SD HC cards?
Thanks,
Wan
for their own particular needs. I would like to know which IDE/compiler they used. I currently have the Keil uVision 4. Has anyone used this for the firmware mods?
Regards.