Replacement:WIG-10216 The new version features a charge circuit based on the MCP73831, instead of the hard-to-find MAX1555. This page is for reference only.
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.
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
What compiler and IDE is being used with the firmware? Could SF release some kind of information on how they built and configured the toolchain? As well, could you explain how you integrated the bootloader to the toolchain?
Since SF recommends developing your own firmware, I believe this would be very valuable information to share (if not already done-could not find any ;) ).
Please make a proper data sheet for this device. It should include maximum and minimum voltages for Vin, Rx,the analog channels, and basically every other pins on the board.
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.
I've found and fixed a couple of bugs in the section of main.c that writes ASCII values of the ADC readings to the log file; is there a good place to post them, rather than pasting a large code fragment here?
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.
Awesome question. Thank you for the help! We don't have a good forward-facing CVS system yet. In the mean time, please send us your version of the firmware (and we will add it), or link to your firmware here in comments.
The formatting gets too badly messed up to post a diff file here, and I don't have an upload site to post on easily. I could email the diff or the main.c to you -- what email address should I use? In return, can I get the version of the KinetaMap firmwareV1.1 which Francesco Ruta based V1.1.2 on, so I can do a diff and merge into V1.2?
Highlights:
-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.
Yeah, it would be really great to have a simple tutorial for the UART logging. I'm using it w/ the Arduino Pro Mini, and I assumed you just wire the TXO and GND on the Pro Mini to the RXIO and GND on the Logomatic, but it's not logging anything.
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);
}
I've got it powered from a regulated 3.3V source, and it writes the LOGCON file correctly. The LEDs flash for a few seconds and then stop when in operation; they don't flash like it says they should in the manual.
Got it working fine now - it's working perfectly.
I don't have this board, but if it is the same as the Uberboard, then its a micro SD or TransFlash card.
my request is for the WIG-08627 logomatic product. the stock firmware works up to 4 adc mode, upper this the log file contains strange data and not ordered...
thanks
Hi ! The main firmware fw.sfe on github don't work at all... :( in adc mode with ascii, the logomatic write random number in 1 to 8 adc mode... I want: - to restore the old original firmware (up to 4 adc mode, 5 to 8 adc mode don't work, see jan.brutovsky reports)can you re-post it? or - a firmware that works in 8 adc mode ? where can i find it ?
Thanks a lot best regard Franck
.
There's a BUG in the documentation.
The "PDF" says
"Safety On"
but the file the device write on the card has it misspelled as
"Saftey On"
If you spell "Safety" correctly, as in the documents, the device won't work right wrt this setting.
I uploaded a version of the Logomatic to Fritzing on 2011/2/14 (fritzing.org/parts/ - go to "parts sharing entry" - you can scroll down to the date. I guess I'm a little late out of the gate now that this is depricated.
Great product! So easy to configure and use. Took UART data from the UBW32 (PIC32) and pumped it to the Logomatic v2 to capture diagnostic data for West Point's Bionic Foot project! When you plug in the Logomatic v2 directly to USB, the computer will recognize the board as a USB mass storage device and you can read data dumps directly without a card reader.
How can I connect a digital sensor (ON / OFF infrared switch) on any input of Logomatic?. Do I have to use a pull-up resistor, to use a simple switch on ADC input?
Hello all,
I'm a strange problem with a Logomatic V2 with custom firmware:
Every time when the compiled firmware goes over 32KB all the timing goes crazy, including the UARTs timings and delay loop timings as well, the device seem to work ( no main program seem to over-written) but I have this annoying thing happening.
The Makefile has the option to put the fw into ROM and there should be a bit more than 32K available, what do you think is the problem ?
Cheers,
Mircea
I have a question about the system. After it boot up, it will blink fast for initialization. Then my system stops blinking. Finally I press the "STOP" button and it blinks fast. When I take out the SD card, I could only see "LOF01.TXT", "LOGCON.TXT" and "LOG0x.TXT". A weird thing is the "LOG0x.TXT" is blank and it has "zero kb".
Any suggestions on this situation?
It's solved. It turns out that I cannot edit the LOGCON in MAC OS. I edit this file in WINDOWS and ADC sampling works fine.
Someone did mention this in the first a few comments. I didn't read them carefully.
Enyone knows is this device has a real time watch?
Yes it does.
//Set the time
void set_time(void)
{
//Turn on timer 1, 60MHz by default
T1TCR=0x01;
CCR=0x13; //Turn off RTC
YEAR=0;
MONTH=0;
DOM=0; //Day of Month
DOW=0; // Day of Week
DOY=0; // Day of Year
HOUR=0;
MIN=0;
SEC=0;
CCR=0x11; //Turn RTC back on
}
I've read all of the comments but none of them address my questions. I want to log the absolute time (YMDHM)that an event occurs. The event is a 0.5 second wide 3.5 volt positive pulse that occurs every half minute or less frequently. I only want to log when such a pulse occurs. I do not want to log at regular intervals because most of them will be zeros (no pulse). This should be very simple. Any suggestions or sketches out there? I'm using a logomatic V2.
I think you want to implement a very similar proyect like mine. I want to register DDMMYY, HHMMSS, and GPS position on micro SD, when a sensor been activated. I hope somebody has some idea to make this. Regards!!
If you have GPS pos I suppose You should also have time.. nmea: $GPGLL,x,N,y,E,135744...
Does anybody knows if I can connect a digital sensor on ADC ports? I want to register Time/Date and GPS Position on SD card when a ON/OFF sensor be activated connected to an ADC input. Does anybody knows how can I do this?
This board would be perfect for a project I want to do, but I'll need to modify the firmware for my specific requirements. Why are there no links to pages on basic compiler/environment tools? I see other comments here have asked the same question and received no reply. I imagine there are probably many different tools that can be used, but surely there must be one the is the most common or 'default' tool to get started. I've also looked through the tutorials, but I can't find any guide to getting up and running with ARM development. Any help would be appreciated.
Is there somewhere that gives the pin descriptions? I cant find much in the datasheet for the unit. Again another piece that is vague in its procedure and uses.
I'm running a 5V system and wanted to log my serial output, so I used a voltage divider with 3 10kOhm resistors to scale down the serial output from my ATMega328p to 3.3V (same as SF's logic converter), then plugged that into the logger's input. Also connected the serial port's ground to my system's ground, and it's working beautifully, just a few minutes out of the box.
does anybody knows what is "Eagle files"?
http://www.cadsoft.de/
Can the battery only be charged by plugging the board into USB? I'd like to be able to provide DC power directly for charging without USB, but I can't tell from the datasheet if that's possible with this board.
Yes, you can power it through USB or DC and it will charge. Check the schematic, USB_VIN is broken out as a header, so you can tie into it there.
Has anyone tried reading data from the logomatic with an arduino? I want to use this board to log input from its native ADC lines at about 10Hz and then, about once an hour or every couple of hours, read all of the stored data via an arduino and send the data lines on to a radio to be telemetered out. The logomatic seems designed primarily to take data in from the ADC or from something like an arduino but USB to a PC is the method to read it back out. Has anyone read from it via arduino? How difficult is it to implement?
I would also need the ability to clear stored files in the logomatic via the arduino. It is my understanding that the logomatic starts a new active file any time the power cycles. If I have a power cycle event, I would prefer to just wipe the logs and start over rather than try to keep track of what file is active and what other files may have data not telemetered out. I would even look to wipe the file storage after every telemetry session and always be filling the same file.
Has anyone tried anything similar? Is it possible?
thanks!
Hi, it says that in the ADC mode, depending on the number of channels being recorded, the frequency is divided. For example, if I am sampling 2 channels, I would be sampling at a max frequency of 750 Hz rather than 1500 Hz. My question is, when I sample 2 channels at 750 Hz, are the two channels being sampled simultaneously or one channel, then the other one?
I would say first one, then the other one, as channels are most likely multiplexed if the same adc is used.
Hey, I have some questions regarding my logomatic:
First, is the USB led supposed to be lit up while operating on battery without any actual usb connection?
Second, when I delete all files on the sd card, and cycle power without usb connection, the logger creates a file called LOF01.txt. Everytime the device is reset or power-cycled, there is another log created, called LOGxx.txt, even when no input is connected to the device.
Thanks, ArRaY
I've been looking for a data logger but I'm kind of a noob. Can someone tell me if this thing can just be hooked up to an arduino duemilanove and log the contents of the serial monitor?
Hi everyone!!
I have read some comments of people reporting they read gibberish or "gobblygook" characters through UART0.
Please note that if you connect the UART to an RS232-compliant interface (for applications like GPS NMEA recording, PC serial port communication, etc) you have to use a transceiver like MAX3232 (http://www.maxim-ic.com/datasheet/index.mvp/id/1068).
This IC does a conversion between RS-232 signal levels (?5 V, ?10 V, ?12 V, and ?15 V) to TTL/CMOS inputs required by the UART (0 to 3.3V). Please refer also this topic: http://forum.sparkfun.com/viewtopic.php?f=14&t=22610&hilit=MAX3232
Also, if your UART's not grounded properly, it will be unable to interpret the received signal, resulting in weird characters in the log files.<br />
<br />
- Tucker<br />
Had similar problems to a number of others with logomatic not reading the SF.SFE file.
It turned out the problem was the SD card format.
Reformatting the card using the formatter at http://www.sdcard.org/consumers/formatter/
and selecting "resize card" which sets the format size to an exact clyinder boundary fixed the problem.
Hi everyone!!!
I would load FW.SFE on Olimex LPC-P2148 (with LPC2148 processor).
The logomatic v2 and my prototype boards have the same architecture.
Can I upload FW.SFE on my Olimex LPC-P2148 prototype board?
Thanks
Most likely you will have to modify it quite a bit.
Hey for those who are interested in getting more out of this board, I've added multitasking to it. This allows running custom user code in parallel with the sampling tasks. So you could use the logomatic to command IOs, serial and/or SPI enabled devices, while the sampling is still happening, on the same processor.
Source code and articles available here:
https://sites.google.com/site/logodynamite/project-updates/agenericcbasedframeworkforrealtimemultitaskingembeddedsystems-part2
I just bought the logomatic to log serial data. Normally I would set the baud rate at 57600 8-N-1. In Hyperterminal, I wld get the correct ACSII data. On the Logomatic, I hv connected the same connections to the GND and RXI0 set it to use automatic UART, BAUD=57600. I think the logging is working, but the contents are gibberish characters. I have tried all the baud rates to no avail. Any ideas, anyone? Thanks!
I see this is on the 2148 now instead of the 2138,
Has anything else changed that is not reflected on the schematic, i.e. pinouts?
Quick note to those of you who try to process interruptions with modified projects based on the logomatic code downloadable from sparkfun:
Startup.s already contains an interruption wrapper that retrieves the interrupt vector and calls it as a standard function, therefore your ISR (Interrupt Service Routine) should NOT be declared with attribute "IRQ" at all: it is just a normally called function.
It should still, however, clear the intiial cause for the interrution it is servicing and it also needs to write a 0 at VICVectAddr before returning.
I hope it helps.
Aaaaaargh!
My Logomatic does not boot anymore.
It was working JUST FINE and I didn't change ANYTHING!
(or so the usual claim goes...)
Anyway I posted a problem description on the forum (http://forum.sparkfun.com/viewtopic.php?f=11&t=22707)
My best leads so far:
Either my clock is dead or the PLL is fried or does not report when it has stabilized.
Every suggestion is welcome.
Update:
Problem solved: was some oxydized solder blob that was shorting the BSL to the nearby ground pin.
So all is rosy again in logomaticland as far as I am concerned.
One last comment:
It would be GREAT if you could publish the same board again but where all port pins are extended to a via or a header pin.
They don't need to be in any meaningful order, they just need to be accessible and documented on some PDF.
Other suggestion that I already did a few months ago - How about selling this buddy in kit?
I would not even use the actual PCB but wrap my own: my current project requires three layers of PCB (logomatic, 6DOF IMU and my own PCB in between) and I do not trust the connectors contact considering the efforts they are going to be submitted to (rocket flight controller).
(Well, ok, water rocket, that is.)
Thanks
Hi N8b,
Is there a forum dedicated to your ARM7TDMI-S code and sources where one could share his code?
Thanks
Big Hairy Troll__
Hi BigHairyTroll,
I didn't write the source code.
You are welcome to post your code on the forums and link folks to it.
I get exactly the same problem with a brand new unit (no chance to destroy anything yet).
I have followed the directions exactly, powered on after plugging it in, tried it on multiple computers (XP and Vista) but nothing at all. No computer even gives me a message saying it has found an unknown device ... nothing! Yet I can read the files directly off the micro SD card so the logging function is working.
This is false advertising. I just wasted $60 as I need to seal the whole thing up against water and want to leave the micro SD card plugged into the Logomatic (I can seal off the mini USB connector).
What a piece of junk.
If you haven't gotten the USB working, please contact us at returns @ sparkfun . com for a replacement. With a valid card inserted, these should definitely show up as a storage device when plugged in via USB.
[Cont'd]
For the RS232, you just need RX0, TX0 and GND. I use http://www.ftdichip.com/Products/EvaluationKits/TTL-232R-3V3.htm
To program the unit you will need flash magic (http://www.flashmagictool.com/) and a way to short BSL with GND while you hit the RESET button.
I will send you the hex file to program in there so that you can reformat the uSD using the PCB.
This is how I got out of the woods with what I thought of as my DOA unit.
Added functionality:
- Command line on a RS232 console (TeraTerm works for me) in 115200 8 N 1
- Possible to run commands from a text file (i.e. script a minima)
- No auto upgrade, instead reads from an autoExec file upon boot (same commands set as the console) => it is possible to boot it without starting the payload right away.
- There is a command to assign a command to the STOP button => it is possible to program and run the code only when the STOP button is pressed.
I am willing to share the source; is there a Sparkfun repository for submitted sources?
Hi Tsardoz,
Did you reformat the uSD in FAT16 with a PC? (I mean directly inserting the uSD in the PC using a uSD adapter)
If not you may want to try that.
If it does not work for any reason, I may be able to help as long as you can hook up a RS232 on the 6 pins aligned on one of the edges.
I can provide an upgraded boot loader that will allow you to format the uSD using the PCB itself - it worked just fine for me and now I can't stop programming for this stuff.
[to be cont'd]
A quick follow-up:
Everything works just fine.
I should have RTFM a little more in details.
Now I'll hook it up to your 6DOF IMU, some sensors of mine (static and differential pressure for altitude adn airspeed), servos (with some glue for the power) and a buzzer and I should be up in no time with my new SW that's coming along fine.
Thanks guys.
Long life Sparkfun!
Hi N8B, and thanks for the help.
In the meantime I had flash magic up and running with some (horrible) hardware hack to get the com connected with a nice push-button to hold down when resetting to switch to ISP.
I could rebuild and reprogram the bootloader, and add a console of mine in there (I love typing "dir" on a console!) and tools to try and identify the SD card issue.
It turns out that XP cannot reformat the SD card but it seems to all work once I reformatted it using the bootloader ("SD raw format" on my console).
Then I was able to "upgrade -bin FW.SFE" followed by "start firmware" and I am on a roll.
I don't see samples in a file yet but I am out of the woods!
Thanks guys!
Sure, no prob.
My LogomaticV2 is not logging data at 115.2kbaud correctly?
Sending it:
0x 00 01 02 03 04 ...
Gets recorded as
0x FD FB F9 F7 F5 ...
The pattern is consistent. Any ideas what is going on here?
For those fo you guys who hooked up a comport on UART0, I found this: http://www.flashmagictool.com/
I have not tried it yet beyond accessing the device and reading the flash - I would like to have an up-to-date version of the bootloader hex file first (just to be sure) - Maybe SF can provide?
(See my two previous posts for the pbs I have with the bootloader as it is in my board)
All the best to you fans of the sparking fun.
(Actually I find it more fun when it does not spark, but maybe that's just me)
Flash magic is a great tool, I use it all the time.
We have the source code posted under the documents section, download and compile and you will get the hex file. The SF bootloader is included in the download.
We sell a programmer/adapter that was built with flash magic in mind:
http://www.sparkfun.com/commerce/product_info.php?products_id=714
[cont'd]
"
SparkFun USB Bootloader v1.1
Boot up complete
spiInit for SPI(0)
.SD Init done...
Initialising USB stack
Starting USB communication
CSD: 00 7F FF 32 5F 59 83 CB 76 DB DF FF 96 40 00 97
...
CSD: 00 7F FF 32 5F 59 83 CB 76 DB DF FF 96 40 00 97"
(This is where I unplug the cable)
"Root open
Boot Done. Calling firmware...
"
Nowhere does it say it finds the FW.SFE.
The LEDs start to blink and so full of hope I wait a little (the PCB is not attached to anything but the LiPo and the UART), then power it off, reconnect the USB and power it up again.
No LOGCON.txt no nuffin' but a FW.SFE which I thought would have been removed by the update anyway if I can judge by the code.
I changed my UART settings on the PC side to get the 9600 generated by the main app and I got
"Error creating LOGCON.txt, locking up..."
I tried various things: pre-writing a LOGCON.txt on the card so that it would have something to find etc.
What did I miss?
(Of course I tried variants of this sequence a number of times before bothering you guys here.)
Any help welcome.
Thanks.
Hi Guys,
I finally got to spend some time with this guy here and I have a few questions.
First what works:
I got it to enumerate as a mass storage device on an XP PC.
I could read and write files and check that they were indeed what I expected them to be, so I assume the HW of the uSD access is a-ok.
I got it hooked up to a RS232 on UART0 and talking to the PC through that channel.
(BTW the bootloader speaks 115200 and the app speaks 9600 - is there a good reason?)
I got the tools up and after some f#$%ing around with the makefile I can get it to compile and link other files than just main.c and the libraries.
Now I would like to program my code (very small variations at first, of course.)
For my first test I did not even rebuild the FW.SFE but just tried to program from the original one.
I slid it onto the mass storage device and unplugged the USB cable as specified in the tutorial and lo and behold... Nothing.
I get...
[to be cont'd]
For those interested, here is how to add a command prompt to the serial port of the logomatic board:
http://sites.google.com/site/logodynamite/project-updates/accessinganembeddedsymboltableprogrammatically
For now this implementation is blocking, that is you can only run either the logomatic logger or the command prompt. The command prompt is handy for debugging and/or launching/stopping measurement on demand.
Hello,
I can't log from the serial port. I put the config in mode 0 and send data on Rx, but I never see the LED blinking during the transmit. The device run very well in mode 2 with an ADC input.
Can you tell me why the first log is name LOF01 and the next LOG0x?
If I want log on serial a 7 bit format is there any config to do this?
Has anyone modified the firmware so that the logger appends to an existing file rather than creating a new file each time it powers up. I'd like to shut the logger down between readings (to save power) but don't want to create heaps of little files and be hamstrung by the 256 file limit. Thanks in advance.
I would like to get both UARTs working, or as a first step, UART1. Other than changing all the references in the C code from UART0 to UART1, does anyone have any experience or suggestions with this? Thanks.
I just want to point out that you should be careful with this thing. I have had it for a little over a week and after heavy use (constantly reprogramming and testing it) the switch broke and corrupted my memory card (easy fix, but the switch is annoying). I would just recommend adding another port for that pin so that if someone wanted to hook up their own switch (say in the event that the one on the board breaks..) they can fairly easily. Other than that, it's a good product.
"baud" is defined as an int and cannot hold 115200. (-32768 to 32767 signed, 0 to 65535 unsigned) I pushed the correct values into the divisor latch manually and 115200 works fine:
U0DLM = 0x00;
U0DLL = 0x20;
I highly recommend using a 2gb MicroSD with these
So far I have decided this is a waste of time and money. The UART function is a joke. First off no matter what you change the ASCII character to in the LOGCON it does not matter it always tries to read ASCII. So why put it there? Secondly, if you have over 3% baud rate error, it cannot read what it being sent to it. Not to mention you have to press the stop button to make it start reading. Hmm either I got a FUBAR chip out of the box, or this is junk.
I thought I'd share my error here in case it saves anyone time later: the tempting group of six pins next to the USB connector seem to have all the connections you need. However the serial port is the WRONG ONE. To log from a serial source you need to use the pin marked RXI0 on the other side of the board!
My logging accelerometer now works nicely, though I'd love for the real time clock to be enabled and battery backed, with a mode to insert a periodic time stamp into the file (after a carriage return is received).
These are really useful loggers. However, the LPC2148 has more capabilities than the datalogger, and I'm not sure why. Most notably, the LPC2148 has 14 analog ins, but only 8 are made available.
Why not use single-use pins for dedicated jobs, and make the rest of the analogs available for input? For example, the uSD socket uses SPI port 0 (CS0, MOSI0, MISO0, SCK0), but these pins could double as analog ins (0.6, 0.7, 1.0), timer functions, interrupts or PWMs if they were free. Meanwhile SPI port 1, which has only timer and interrupt alternate functions, is left available to the user. I suggest that this should be reversed.
Also, the USB port uses simple GPIO functionality, but is taking up useful analog input pins (0.0, 0.5). Why not use some of the free GPIO pins for USB instead?
Perhaps even the BATTLVL can be freed up (maybe optionally, using a DIP switch or jumper?)
Finally, why not expose the rest of the GPIO pins along the other edge, near the programming header?
These simple changes could make Logomatic into a really exceptional microcontroller, rather than a simple data logger. Perhaps a Version 3 can make more complete use of the LPC's resources?
This data logger worked well with a 512MB microSD card, but I had trouble with a 2GB card. Files and folders are written, but the data files are empty. Has anyone else had this difficulty?
Is it possible to connect the Datalogger to an arduino lilypad? If it is does anybody know how please?
i am a scientist with a limited knowledge about electronics.
i need to log data from sensors capable of providing serial output to a common PC rs-232c serial port (Rx, Tx and ground pins are the only ones used, and Tx is not necessary for logging). also i would like to have time stamps for incoming lines of data
is that wonderful thing - Logomatic v2 Serial SD Datalogger - capable of doing that or does it require any modifications?
actually i need multichannel serial logger to log up to 16 serial sensors connected sumultaneously. this would be an ideal solution of course.
and this task is performed in a power-limited environment - deployment of a submersible instrument under water for periods from couple hours up to a week, so all the mechanical and electronical devices used are powered from batteries.
What I meant to say was use the logger as a real time A/D reading the data live via the USB port on a PC. Or alternatively through the serial port. We fly a PC104 form factor on our platform - our main computer - but would like to use the logger as an A/D acquisition device feeding data to our PC which is telemetered to the ground.
I guess some folks have already modified the firmware
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.
We'd like to use the logger v2 as a real time logger. Is it possible to access the log data from a PC via the USB port while the logger is running?
Hi,
Seems real great.
Will it work with micro SD HC cards?
Thanks,
Wan
Powerful little board!
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.
I have just purchased the V2 and was very excited about it's prospects. However my preliminary testing is turning out to be frustrating. For testing I have connected my Garmin 2 plus to the UART0 connectors ('5' in fig 1 of the overview page)and I am connected using Gdn and RXI0. My Garmin is set to NMEA/NMEA 4800 Baud NMEA 0183 vers 2.0. I have set LOGCON.txt to Mode 0 and tried baud rates of 4800, 9600 and even 2400 and whilst the unit sets up the files and the LED's tell me they are buffering and downloading to the SD card, all I am getting is "gobblygook" in teh txt files. With a trigger of "$" I get no records at all in mode 1.
I thought it was going to be a lot simpler than this. Can you please assist?
You might want to make sure your garmin is in the right mode once you power it back up again, Also you made no mention of voltage levels, make sure these are all in-spec.
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!
Hello,
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
Would it be possible to buy this in kit, i.e. all the components necessary but not soldered onto the PCB?
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.
Has anyone used UART0 for communication?
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 am not referring to the pads and vias that get connected through plane filling (I guess this gets done automatically upon generation of the Gerber files) but the shape of some traces has changed, and the .brd file bears the date of the version on the bottom layer. Are these the only changes? (in addition to silkscreen modifications)
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 have not ordered the logomatic yet (it is in my cart, I like to receive everything at once), but I already started my own version of the code for a project of mine.
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.
am also looking for a statement of whether you can simply connect the Arduino's pins to the TX/RX lines....
am using the Deucimilia board / ATMega328 chip.
thanks!
Yes you can just connect the TX/RX from your Arduino to the logomatic. (I've done it) make sure the logomatic is grounded to the micro controller.
I have created a binary to CSV file converter program. It is for the main firmware that comes with the Logomatic when you are using the binary ADC mode.
http://www.prism.gatech.edu/~jsheridan3/logomaticBinaryConverter/
I've managed to get this to log something from the ADC inputs but nothing from the serial (which is what I'm trying to do). jatkins asked if this input can accept TTL level signals and I don't see an answer...
I'm trying to log the serial output from the hardware uart on a 5v Arduino Pro Mini 328.
This seemed like the perfect device to do a simple pressure and temperature logging project. And, it probably is. The problem I've found is that there isn't much community support to get you past problems. As far as help goes, you're pretty much limited to the forum on this site and a good many of the posts there go unanswered.
But then, I've probably just been spoiled by the amount of help available for Arduino projects.
This board seems to be intended for continuous data logging. I plan to use it somewhat differently.
- 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...
I´m looking for a application similar like you mentioned. In fact, I want to implement a GPS logging triggered by a Sensor. Do you have something that help me with this?
Regards...
Why is it that sometimes the data records properly and other time it is all garble? I have checked the input and that is always the same.
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
Minor gripe:
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.
You note 80 mA as it's worst case current draw but I seem to be getting it constantly. Is there anything I can do or hack away at the firmware to try and minimize this as much as possible? It's using UART.
One more thing. Mechanical drawings of the board....other than eagle files. Would be nice. Something that pin points the location of the LEDs
Has anybody read the BATTLVL value from AD1.4? I modified my code to read this, based on the schematic showing a straight voltage divider, and also on the code used in the KinetaMap, but I'm getting strange readings. The values don't seem to work out, although they certainly go up if I turn up the voltage on my supply. I'd expect them to max out (at 1023) for 6.6V (2 x VREF), but at 7V I read 962.
ADC ascii writes over long time = bugs..
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
ascii log file analog signal order:
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
Thomas,
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!!
Hi Guys,
This is a good point, and one that we are actually working on behind the scenes. Well atleast we are discussing behind the scenes. Hopefully in the coming year we will be working on something along these lines. I can't make any promises though. Until then you might post up on the forums, then send a link to Tech support, we can then add the link to the documentation section of the product page.
What is the max data rate that can be written to the SD card?
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?
Cool! I'm going to actually modify and then re-layout the board and make it myself, but is that big ol' ARM7 really necessary? Wouldn't a little 8-bit controller like an atmega8 or something work fine?
I want to make this as bare-bones and as cheap as possible.
The logomatic implements the USB stack and a FAT16 library. It's pretty easy to do this stuff on an ARM, which is why we did it this way. Good luck with an 8 bit micro though, that would be great! (and cheap too!)
Ah. It took me a while to read your reply. I haven't worked at making an 8-bit sd datalogger, though, but I'm gonna try.
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.
My board was working, but now only shows both LED's full on, no files written and the plug in removable hard drive function doesn't show any files on the card, even though you can see them if you put it into a PC by itself. Conclusion? The firmware may have gotten scrambled.
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...
Is there a way to get the log files converted to KMZ google earth without too much fuzz?
Checkout GPS Babel, nice little program should do what you want.
http://www.gpsbabel.org/
I have an LOCOSYS LS20033 GPS:
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.
The device is supposed to "mount as a drive on your computer", according to the datasheet. I have never been able to get it to do that.
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?
I'm not sure if you're still having this problem. I noticed it as well. You have to have the device off before you connect it to the PC and turn it on after you connect it. I think there has to be some process during power up that allows it to mount to your computer instead of logging when it recognizes a USB connection. I could be wrong. Pure speculation. All I know is when I left it on and connected it it said "device not recognized" just like you.
I am interested the Logomatic for a long time period logging application, but have the following questions (some already mentioned above by others):
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.
I have same question! Did you solved? If you did solved it, please tel me method.
Thanks,
Question 1:
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?
This board allows to interface somehow virtually with this I2C sensor ( Humidity and Temperature Sensor - SHT15 ), if there is no hw port enabled/free for it.
thanks
JAn
I'm a scientist with modest electronics skills (translation: zip for programming). I've suspended using the UART functions for interfacing my MaxSonar, for reasons below, but finally have the analog working fairly well. My questions are: 1) The datasheet says the frequency for ADC will go down to 1, but I can't get it to accept data with a frequency less than 10, i.e., anything less gives empty files. This will make unacceptably large datasets for my purposes. 2) I, like other posts, would like to add a time stamp or event mark at 1 minute intervals. This sounds like firmware fiddling. 3) If I were to revert back to UART logging, how do you set the data rate (which also sounds like scary firmware stuff)?
Any help from the Ubergeek community will stop me from further baying at the moon. Thanks!
I have not yet purchases this device and am a newb when it comes to electronics... can this device be attached to an analog sensor breakout board like the one for the ADXL330? Are the voltage ranges appropriate? What else would I have to think about in determining whether I could connect a given sensor? Thanks -Scott
I have two of these boards and am wondering if you would explain in detail how to re-enable the 9th and 10th A2D channel. I need as many A2D ports as I can get.
Also, does the Logomatic use 5V-TTL signals? i.e. can I connect directly to the Arduino Diecimila board (Atmega168)?
The LPC2148's data sheet says that its I/O pins accept 5V, but I didn't want to risk it. I simply used 3 10kOhm resistors to make a voltage divider to bring the level down to below 3.3V, and this worked perfectly.<br />
<br />
- Tucker<br />
Jatkins, I'm by no means an authority on this, but I would guess that it uses a 3.3V signal since that is what the MCU operates at.
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.
thanks :)
I've got the Logomatic 1.0, but my poor soldering (I'm very new to electronics) messed up the tracks, possibly permanently. For that and other reasons (e.g. microSD, smaller size, etc.) I'm probably gonna buy this board, but obviously don't want to replicate the problem I had last time -- would it be a better idea to use headers instead of directly soldering to the pin holes?
E.g. http://www.sparkfun.com/commerce/product_info.php?products_id=116
I am currently reading the bootloader tutorial. Hopefully this will answer my last question so please disregard the last post. But I would still like to know about the time stamp question
Also, if I do edit the firmware how do I upload it to the device? thanks
Hi, I am interested in adding a time stamp to the recorded data. is there a way to modify the firm ware , etc. so that this is possible?
With the stock hardware/firmware, is there anything that will prevent you from draining a single-cell Lipo battery if you just leave the Logomatic on?
-Adam
Guillermo Tosi: Yes, this device will record a time stamp and ID from an RFID reader. However, time stamp recording cannot be configured straight from the config file, so you will have to change the firmware to record the time stamp from the RTC along with the data from the reader.
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.
I just noticed it actually doesn't come with a battery...so the run-time will vary depending on the power source then. Any recommendations?
How long would the battery run if I were to log UART data only, continuously?
Unit works great. However, what if I want to use it with some other boards and run it on a source OTHER than a LiPo Battery. Will this cause problems with the charging circuit? (I'd really like to be able to run it off +12V).
I received this board in the mail yesterday and the one I received says logomatic v2 but it only has 8 digital/analog outputs and then additional outputs like ones for SCk, MISO,MOSI,CS,STOP,etc. The datasheet, however, has a different set of outputs pictured and says that there should be 10 adc outputs. I am wondering if the board I received is a newer version/older version, or whatever and if so, then is there a datasheet for this board I have.
I would like to use the onboard RTC to maintain date-time while powered down. The schematatic shows the LPC2148's VBAT lead connected to VCC on the circuit board. I am thinking about cutting the VBAT pin and trying to solder a lead to it, allowing me to add an external battery to keep VBAT powerered 24-7.
Is there an easier/cleaner way to do this ?
I need a simple datalogger then can record a timestamp and the id of a rfid tag using one of your rfid reader?s.
Is it possible to do that using this board?
what else do I need? tks
Wow! The popularity of this device is a pleasant surprise! To answer your questions:
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.
downloading the firmware needs to a little change in the makefile:
change this line:
LOGOV2.FW: main.elf
to this one:
FW.SFE: main.elf
I'm trying to use the function Log_init for writing other files and it doesn't work. The file is created, but it's blank. The code I use is:
fd = root_open_new("LOGCON.txt");
strcpy(stringBuf,"the text\n\r");
stringSize = strlen(stringBuf);
fat16_write_file(fd, (unsigned char*)stringBuf, stringSize);
sd_raw_sync();
Thanks for some help
This is a great tool for easy data logging. Easy to use with microSD.
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
Does this take miniSD cards or microSD cards (or is it both?)? I'm confused as the datasheet says miniSD but this page says microSD.