UART SD Card Datalogger - legokor/UPRA-SD-logger GitHub Wiki

The UART-SD Card Datalogger is for projects which needs a non-volatile data storage, but only serial (UART) connection(s) available. The Datalogger is based on the OpenLog hardware which is an open-source datalogger.

The UART-SD Card Datalogger can provide logging capabilities to third party science payload without non-volatile memory if it has an open serial port, even for debugging purposes.

OpenLog Hardware

Detailed Hookup Guide on Sparkfun.com (this guide is based on the default firmware)

Connect OpenLog to MCU

OpenLog2MCU

MCU pin OpenLog pin Function __
DTR/GPIO GRN HW Reset on OpenLog optional
TXD RXI Serial data In on OpenLog mandatory
RXD TXO Serial data Out on OpenLog optional
3v3 VCC 3v3 - 5v0 Supply voltage on OpenLog mandatory
GND GND Ground mandatory*
GND BLK Ground optional*

*At least one of BLK or GND pins on OpenLog must be connected to GND

SD Card

SD Card connector is on the bottom side of OpenLog. Use a preformatted SD-Card!

  • Micro SD Card form factor
  • 64MB - 64GB
  • FAT16 or FAT32 formatted

OpenLog SD Card

UPRA-LOGGER Firmware

(some features are still under development!)

UPRA-LOGGER is a lightweight, low functionality datalogger firmware for OpenLog hardware. UPRA-LOGGER receives data packets on UART port and stores the data on SD Card after every Terminator Character in a text file. Every line in the logfile represents a received data packet.

The logfile is opened for APPEND which means the new data packets are written to the end of the file and all previous data kept.

UPRA-LOGGER can be configured via a configuration file located on the root of the SD Card which read after every restart. After every restart an OpenMsg line is written into the log file.

Default parameters

Parameter Value
BaudRate 9600
LogFile data.txt
OpenMsg UPRA-LOGGER Data File
Terminator Character [LF] (0x10 ASCII)

Configuration

For the configuration of UPRA-LOGGER config.cfg should be located on the root of the SD Card. Every line in the configuration file represents a configurable parameter value.

File sturcture: (some configuration parameters are not implemented yet!)

Line Parameter Implemented
1 BaudRate yes
2 LogFile name no
3 OpenMsg no
4 Terminator Character* no

*Terminator Character should be given as ASCII Code in decimal (int) format

**All lines containing configuration data must end with [LF] (New Line)

Example for config.cfg:

115200[LF]
temperature.csv[LF]
Temperature Logger[LF]
13[LF]

  • set BaudRate to 115200
  • set LogFile name to temperature.csv
  • set the OpenMsg to Temperature Logger
  • set the Terminator Character to [CR]