OpenLog is an open-source data logger that is simple to use and simple to change. Power up this device and it will start logging any received serial data at up to 115200bps (set to 9600bps by default). Sending Ctrl+z three times will drop out of logging and into command mode. new will create a new file. md makes a directory. ? brings up the list of commands. OpenLog doesn't do a lot, but it does log serial streams extremely well. For example:
<(send large amounts of text followed by three Ctrl+z characters)
That's really it. OpenLog firmware is open-source and is based on Bill Greiman's sdfatlib. OpenLog runs off of an on-board ATmega328 running at 16MHz thanks to the on-board crystal. The OpenLog draws 6mA when recording a 512-byte buffer, but as that process takes a fraction of a second, the average current draw is closer to 5mA. Keep in mind though that if you are recording a constant data stream at 115200bps, you will approach that 6mA limit. All data logged by the OpenLog are stored on a microSD card (not included). OpenLog currently supports FAT16 and FAT32 microSD cards up to 64GB.
All the design files (schematic, PCB layout, firmware) are open-source released under the CC-SA v3 license and are available through the OpenLog GitHub repository.
Simple Datalogger Board Features
- VCC input: 3.3V to 12V (recommended 3.3V to 5V)
- Log to low-cost microSD FAT16/32 cards up to 64GB
- Simple command interface
- Configurable baud rates up to 115200bps
- Pre-programmed ATmega328 with Optiboot bootloader; uses Arduino IDE
- Edit config.txt file from a computer to change baud rate and other system settings
- NewLog mode creates a new log every power-up and immediately starts logging
- SeqLog mode appends a file called SeqLog.txt at every power-up and immediately starts logging
- Command mode starts OpenLog at a command prompt at power-up
- Configure unit through config file or the menu system
- Power, Ground, and RX-I are the minimum connections
- Four SPI pogo pins
- Two LEDs indicate writing status
- 2mA idle, 6mA at maximum recording rate
Firmware Update via Arduino IDE When firmware updates are available, they can be downloaded from the OpenLog GitHub repository as individual files or in a single ZIP file. They can be loaded into the OpenLog using the Arduino IDE. NOTE: OpenLog currently will not work in Arduino IDE versions newer than 1.6.5.
You will need a USB-to-Serial interface such as the FTDI Basic. You'll also need to download and install the Arduino IDE — be sure to get the slightly older version 1.6.5. Then download the Serial Port Libraries from the GitHub page. Extract those two libraries into your Arduino libraries folder, then start the Arduino IDE (if already started, close and re-start). Correct file placement can be verified by finding SerialPort and SdFat under the File→Examples menu.
Now use the Arduino IDE to compile the OpenLog firmware sketch (remember that OpenLog sketches will not compile in the latest Arduino IDE; use Arduino IDE 1.6.5). Connect OpenLog to your USB-to-Serial adapter (e.g. FTDI Basic as mentioned above), making sure to cross over the RX/TX lines, and select Arduino Uno under the Arduino Boards menu. Select the correct COM port for your FTDI Basic or other serial adapter, then you can upload the code.
For details, see the user manual below.
Simple Datalogger Board Resources