User guide
Company confidential proprietary information. Do not distribute.
© 2009 Microsoft Corporation, all rights reserved.
SenseCam v2.3 User Guide Page 21 of 31 10/03/2009
5. SenseCam file formats
5.1. Volume label
The SenseCam volume label will be of the form “MSRC_SC xxx” where xxx is the serial
number of the particular camera. If the volume label is changed manually it will be reset
when the SenseCam next boots up (following a hard power cycle or a USB disconnect),
unless the volume label is deleted (in which case no new volume label will be created).
5.2. File system structure
The root directory on the SenseCam file system typically contains four sub-directories:
DATA, SYSTEM, PCVIEWER and DOCS. The latter two folders are simply used as
convenient places to store copies of the MSRC viewer software and SenseCam
documentation. Their presence (or absence) has no bearing on the operation of the
SenseCam. Indeed, it is possible to use the SenseCam as a general-purpose external USB
disk. Note that the SenseCam firmware does not support long filenames.
The SYSTEM directory contains system files, most notably BOOT.BAT – a script file that
is executed each time the SenseCam boots up (following a hard power cycle or a USB
disconnect). The various BOOT.BAT options are detailed below in Section 5.4. The
SYSTEM directory also contains various .CSV format files that may be used to set the real-
time clock on the SenseCam. These are also detailed below.
The DATA directory contains all the image and sensor data recorded by the SenseCam.
Sensor data is recorded in a single .CSV file called SENSOR.CSV, described fully in
Section 5.5. An image counter internal to the SenseCam (which is cached in non-volatile
memory) records how many images have been captured in the lifetime of the device. Images
are stored as individual .JPG files with a numeric filename based on the value of the image
counter. These image files are stored within a hierarchy of directories. For example, image
number 00010297.JPG is stored in a directory named „M0102‟ which itself is in a directory
named „H01‟ within the \DATA directory. This multi-level structure, with High level
directories named according to the most significant two digits of the six-digit image counter
and Medium level directories named according to the most significant four digits of the six-
digit image counter limits the number of entries in each directory to around 100. This is
important because it reduces the time required for creating and accessing files – with the
limited resources of the SenseCam microcontroller the linear search through a directory
cluster chain can be quite time consuming.
If a manual capture is requested (via the manual shutter button) whilst a sensor-triggered
image capture is already in progress, the image file currently being written is aborted, the
image counter is incremented and a new image file is created. In order to prevent the
aborted image from being mistaken for a valid .JPG file (it will actually be the first part of
an incomplete .JPG file) it is renamed with the extension .ABO (for ABOrted).
5.3. Format of the SENSOR.CSV file
The sensor data is stored in a simple comma separated value (.CSV) file, where every line
represents one piece of sensor (or other) data. Lines are <CR><LF> separated. Every line
entry starts with a 3-letter code indicating what that line represents. If the SENSOR.CSV
file does not exist (for example if it has been deleted following sensor data import using the
SenseCam Image Importer) it will be recreated. If it does exist it will be appended to.










