Implementation of Low Cost Data Logger Using Flash Disk with File Allocation Table 1
2
3
Panupong Thanutong , Dusit Thanapatay , Kamol Kaemarungsi and Tsuyoshi Isshiki 1
4
TAIST Tokyo Tech, ICTES Program, Dept. of Electrical Engineering, Kasetsart University, Jatujak, Bangkok 10900, Thailand 2 Dept. of Electrical Engineering, Kasetsart University, Jatujak, Bangkok 10900, Thailand 3 Embedded System Technology Laboratory, National Electronics and Computer Technology Center, Pathumthani 12120, Thailand 4 Dept. of Communications & Integrated Systems, Tokyo Institute of Technology, S3-66, 2-12-1, Ookayama, Meguro-ku, Tokyo 152-8550, JAPAN
Abstract— Abstract— Data logger is a device used for storing measurement data. It can be used in wide range of embedded logging applications. This paper reports on practical development experience and design’s details of a low cost data logger prototype. The data logger in this paper is also compared with two of existing data loggers in the literature. This data logger combines 32-bits microcontroller and flash disk with file allocation system (FAT) together with programming technique to control the hardware for recording and monitoring of general proposes measurements. This data logger stores the data on removable flash disk for convenient and can forward real time measurement data through RS232 standard serial port to be display on LCD. The applications studied in this paper are based on logging of temperature and relative humidity from a SHT15 digital sensor. The data are stored in form of comma-separated values file (CSV) because this file format can be read and understood by many platform applications such as MySQL, MS-Excel, and MATLAB. The microcontroller in this prototype provides power down mode function that can save energy during long waiting operation and its storage memory can record measurement data for several years.
computer for further analysis using software analyzing tools. Data loggers can be applied in various fields such as in [1] where data logger is used to observe city’s air environment or in [2] where it is used for collecting galvanic skin response (GSR). In this paper, we developed a prototype of low cost data logger as a part of our planned research project in a hydrological system application for monitoring rivers. The data logger will be connected to a hydrological sensing system which consists of a set of wireless sensor nodes and several hydrological sensors. However, to test our prototype in this paper we decided to use basic sensor device which can be obtained easily such as temperature and humidity sensors. These sensor devices are low cost and simple to integrate to our data logger prototype. For example, SHT15 is an integrated temperature and relative humidity sensors in one package [9] which is very convenient. We designed our prototype of data logger based on [3] with different structure for both hardware and software.
Keyword: data logger, embedded system, temperature and Relative humidity sensing, FAT system.
I. INTRODUCTION
N
owadays, the applications of embedded and ubiquitous sensing systems are increasingly popular. Examples of embedded sensing application are in the area of monitoring systems such as meteorology, hydrological, mining and food industries. A data logger is an embedded electronic device that can be a part of those monitoring systems. The main functionality of data logger is to record data from sensing system over time. Generally, a data logger can obtain data from measurements in several ways such as through attached analog-to-digital converter (ADC) or sensory data sent via various communication protocols and serial communication port (USART). The data maintained in the data logger collected from monitoring system can be transferred to personal
Fig 1. System architecture of the data logger
Fig. 1 illustrates the system architecture of the data logger in this paper. At the center, the microcontroller is the heart of the data logger where we use STM32 ARM Cortex M3 which is a low cost 32-bit microcontroller with a lot of built-in functionalities. Our data logger consists of major component such as a RS232 serial interface for communication with personal computer, a SHT15 temperature and relative humidity
sensor for measuring environment, a 16-character by 2-line liquid crystal display (LCD) to display data output, Micro SD card for a storage memory, and other analog input/output (I/O). The organization of this paper is as follows. First, Section II describes the hardware design and each major component. Next, Section III describes our embedded software design for the data logger. Next, Section IV reports on preliminary measurement results and compares our data logger with others. Finally, Section V concludes our work and briefly mention about our future works. II.HARDWARE DESIGN A. Microcontroller Unit (MCU)
The selected microcontroller unit for the data logger system is an STM32F103 ARM Cortex M3 [15]. This microcontroller (MCU) provides a good price per performance when compared to others well known microcontrollers such as MSP430 [5], AVR32 [6], and PIC16 [7]. The price of this MCU is very attractive among those popular MCUs. With 32-bit architecture, it provides better computational power at similar or lower price point than some 16-bit architecture. The major advantage of ARM Cortex M3 lies in its Thumb-2 instruction set which allows this MCU to have 32-bit performance with 16-bit code density [8]. Moreover, it can run at 1.25 DMIPS (Dhrystone Million Instructions per Second)/MHz. The MCU is faster up to 35% and up to 45% less code than ARM7TDMI [8]. It is fully equipped with a number of peripheral interfaces such as I2C, SPI, USART, analog-to-digital converter (ADC) and digital-to-analog converter (DAC). Another reason for choosing this MCU is that its manufacturer provides free license of standard firmware libraries to be used in development of complex applications. B. Measurement Module
For our evaluation purpose, we initially use only one sensor for our test. A sensor device called SHT15 is attached directly to the microcontroller ARM Cortex M3. SHT15, which is a well known sensor device, is applied in measurement module where it provides sensory data to our data logger. This sensor device has analog-to-digital conversion over linear temperature and relative humidity and it has built-in on chip ADC circuit [9]. Thus, we do not require separate ADC before attach the sensor device to MCU. This simplifies the testing of our prototype. Note that with the structure of this SHT15 sensor chip is different from the one used in [3] where they used pure analog sensors. Additional advantages of this sensor device are that it can reduce the component count and the hardware complexity. Another advantage of SHT15 is that it has fast response time and uses CMOSens technology to guarantee reliability and stability [9]. The size of this device is also small with a dimension of 7.47 x 4.93 x 2.5 mm. Its weight is only 100 mg. The sensor also requires low power consumption with average current consumption of 28µA and can be used with single power supply between 2.4V and 5.5V [9]. The SHT15 has operating range for temperature between -40 to 123.8 Celsius and range for relative humidity between 0 to 100%RH
[9]. Finally, this data logger prototype can also take inputs from other measurements through additional ADC ports on the MCU. The ARM Cortex M3 provides three channel of 10-bit ADC for connecting with other sensors such as CO2 sensor as in [1]. Note that the data logger circuit can measure voltage between 0 and 3.3V at ADC channel 1. C. Storage Memory
Traditionally, the storage memory for most data loggers was based on electrically erasable programmable read-only memory (EEPROM) or small general purpose random access memory (RAM) [6]. These devices were easy to use and require lower write cycle. However, today flash memory in form of MicroSD card is getting cheaper with larger capacity. Thus, MicroSD cards are gaining popularity in modern embedded system. The MicroSD cards used in this prototype are very small with dimension of 15mm x 11mm x 0.7 mm and weight only 0.0.4g [1]. The capacity of MicroSD used in this work is 2 GBytes since it is the maximum physical limitation for FAT16 [1]. The main advantage for using MicroSD card as data storage system is the ease of transferring data directly to other electronic devices such as laptops or smart phones which support FAT format as file system. User can reduce the time to transfer and convert the data from traditional EEPROM to other data analysis systems. D.Circuit Diagram
Our data logger prototype is developed on existing development board called ET-STM32F103 from ETT Company [11]. Fig. 2 depicts a circuit diagram of our prototype which is based on schematic from [11] that were attached with SHT15 from [9] and an LCD. Note that the peripherals around the MCU are similar to the architecture in Fig. 1 which consists of RS232 interface, LCD, SHT15 sensor, and SDMCC socket for SD card. We chose this board because we needed a stable hardware platform for programming and performing experiment. We plan to develop our own print circuit board (PCB) once the prototype and its peripherals have been verified.
Fig 2.Simplified circuit diagram of the system
III. SOFTWARE DESIGN A. Flowchart Diagram of the Data Logger
The flowchart of embedded software that controls our data logger is showed in Fig. 3. In this section, we briefly explain the operation of our data logger. In the first step, user needs to configure parameters for sensory data recording via USART. The parameters include time, date, sampling rate of data, and recording periods. Next, the MCU checks status of memory whether the memory is full or not connected. If there is no problem on the status of the memory, the MCU can continue to the next step. However, if there is a problem, the data logger will display error notification to its user on the LCD and will continue without saving data to the storage memory. Next, the MCU is put in standby mode and waits for measuring next data from sensor. The waiting period depends on predefined sampling rate. During the wait period, the MCU is put into power down mode to save its energy consumption. The MCU will be woken up to take the next measurement based on the interrupt from the built-in real time clock (RTC) of the MCU. After obtaining data from sensor, the MCU will put the sensing data into a buffer space. Next, it checks for the type of data whether it is a temperature or relative humidity data. Before storing the data to its corresponding sensor files using FAT16, the MCU attaches a timestamp to each data. Finally, the MCU rechecks the storage memory for its status before goes back to wait for the next measurement and changes its status to power down mode again.
Fig 3.Flow chart diagram of the system
B. Programming Language
The software was developed using C language, cross-compiled, and loaded into the MCU. We used IAR Embedded Work Bench for ARM as a complier tool [12]. C. FAT File System
To implement the FAT File System into the propose data logger, we applied the Embedded File Systems Library (EFSL) which is an open source software in our embedded software. EFSL is a generic FAT file system library for embedded systems device [13]. It currently supports Microsoft FAT file system family for FAT12, FAT16 and FAT32. The source code of EFSL is based on pure ANSI C which can be adapted to any C language compiler. However, the EFSL requires an allocation of large memory block for fetching and writing a 512-byte sector [13]. D. Data Storage File and Record
The format of data logged on the MicroSD flash card is in CSV file format. The design goal for our data logger is to store the logged data in format that is portable or convenient for reading by most software analysis tool. The CSV file type is compatible with Microsoft Excel and widely accepted for transferring data between computers or software using different data format. The CSV file can be used on all computer platforms and allows to be converted into many file types including spread sheet files such as XLS, HTML, XML, and DBF. The CSV file is a simple file data format and requires less memory storage space than using the Extensive Markup Language (XML) file. Although the XML is very portable for external data representation and exchange, it requires very large size of storage space due to its markup tags [14]. The XML was initially planned for use in our data logger but the size of its data storage requirement was not suitable for embedded systems. The CSV is convenient because user can convert CSV file into other desired file format after transferring the file from MicroSD to personal computer. CSV file is a plain text file which is usually used to store spreadsheet or database information in a simple format. Although the CSV format is portable, it requires larger storage space than binary format. For example, each record of sensor sample, the binary format will require 8 bytes which consists of two bytes for measurement data, three bytes for time (hour, minute, and second) and three bytes for data (day, month, and year). On the other hand, the CSV format would require approximately 29 bytes per record and additional 183 bytes for file builder. However, we argue that the constraint of storage space is less for our system when we utilize the MicroSD card. For each sensory data, the data logger records each sample into a single line and separates each field with a comma [15]. In our prototype, each sampling record of sensory data consists of three fields: data, time, and sensor value. Note that the sensor value can be either temperature or relative humidity. Each record from the sampling of sensor consumes approximately 212 bytes of memory on the MicroSD. Examples of records in
CSV format of temperature file and relative humidity file are showed in Fig. 4. Temperature file Date,Time,Temperature 07/11/2009,00:00:01,28.73 07/11/2009,00:01:01,28.70 … Relative humidity file Date,Time,Relative humidity 07/11/2009,00:00:01,61.00 07/11/2009,00:01:01,61.00 …
During the testing of data logger, the MCU will send the reading data to display both via ICL3232 pin to a serial port and LCD. The graphs in Fig. 5 and Fig. 6 plot the measurement results of temperature and relative humidity, respectively. Both results were recorded on two separate files on MicroSD using FAT16. The temperature recording is varied around 28.6C in Fig. 6 while the relative humidity is fluctuated around 61% in Fig. 7. Note that dramatically dropping in temperature to 28.38C at 0:39:01 showed in Fig. 5 was caused by the change when we turned on the air condition. However, the relative humidity is rapidly increased to 61.22% after that time. ˚
˚
Fig4. Sample CSV data logs file content
IV. MEASUREMENT RESULTS AND DISCUSSION In this section we demonstrate preliminary results of sensor recording using our data logger. We also discuss the capacity of our data logger based on the architecture described in Section II. Specifications of our data logger are compared to existing data loggers found in literature. A. Data Acquisition Operations
After the MCU sent a request for data to SHT15 sensor, the sensor will measure the sensory data and signal a completion of measurement by transmitting four bits of low signal as shown in Figure 5 to the MCU. The actual measured data is transmitted next as 12 bits of data to MCU. The MCU will receive one bit at a time and continue to receive the rest of data until the whole 16-bit is collected. The 16-bit data will be calibrated and stored in float variable. Before saving the data into MicroSD card, the system will convert the float variable to ASCII string format and use this variable to write data into file and display it on LCD screen.
Fig 6. Temperature results from recording
Fig 7. Relative humidity results from recording
Fig 5. Data Stream from sensor
B. Testing of Sensor Recording
To test the main functionality of our data logger, we collected environmental temperature and relative humidity using the hardware described in Section II. The data logger was set to record both sensory data every minute for a total of one hour. We began our measurement at the room temperature and later we turned on an air conditioner to change the room temperature. Initially, the data logger required the user to configure operating parameters which are date, time, recording duration and sampling rate through RS232 serial port. The date and time values are also needed when the RTC was reset.
C. Estimating of Capacity and Spanning Time
Since the spanning time of records depends on the sampling rate selected by the user, in this subsection we estimate the spanning time of the data logger with 2GBytes of memory. Table I shows the estimation of storage size per hours in the second column according to the sampling rate in the first column. In the last column, we calculated the spanning time of total number of records that can be fitted into 2GBytes MicroSD card. This estimation is applicable for both temperature and relative humidity data.
TABLE I RECORDING TEMPERATURE AND R.H. SPANNING TIME USING 2 GB OF MEMORY
Sampling rate resolution 1s 10s 1min 10 min 1 hour
Storage size per 1 hour 178,174 bytes 17,866 bytes 3,022 bytes 870 bytes 578 bytes
Spanning time (approximately) 1.2 years 12 years 75 years 262 years 3,900 years
D.Power Consumption
In this subsection, we estimate the power consumption of data logger which is based on various current consumptions at different states of microcontroller STM32F103 [8]. Note that we begin our analysis with the current consumption of the MCU first and then list the current consumptions of other peripherals in this analysis. We assume that the data logger is set to one-minute sampling rate to demonstrate an example of power calculation. To reduce the power consumption, the MCU will be put into sleep state or power down mode when it waits for the next sampling time. When the MCU woke up to take a sample from the sensor, the MCU will be in active state that consumes higher current or more energy. When the MCU finished reading the data, it will be put into power down state which consumes less energy. A current timing diagram of MCU is showed in Fig. 8. For test duration of 1 hour, we can then estimate the energy consumption as follows
Fig 8. Power down current timing diagram
The STM32F103 microcontroller operates at V dd = 3.3V. Based on the current timing diagram in Fig. 7 and from the datasheet of STM32F103 in [8], we can list the current consumption at different states and durations of each state as following: I powerdown = 14µA, • I active = 27mA, • T powerdwon = 3599 sec, • T active = 1 sec, • T total = 3600 sec, • where I powerdown is the current that MCU operates in power down mode when it is waiting for sampling data from sensor, I active is the current that MCU operates in active mode when it is recording data from sensor to MicroSD, T powerdwon is the duration of time that MCU is in power down mode, T active is duration of time that MCU is in active mode, and T total is the total time that MCU run in this experiment.
Equation 1 expresses the average current consumption of MCU over one hour. Using the values listed above in the equation, we can calculate current consumption I avg by:
(1)
The calculation of power consumption (in Watt) and energy (in Joules) of the system are expresses in the Equation 2 and 3. P = I avg x V dd (2) E = P x T total (3) where P is the power in Watts and E is energy in joules. Therefore, the average current consumption of MCU operation with power down mode per unit of time (1 hour) is 21.6µA. Thus, the total power consumption is 71.28 µW and energy consumption is 0.26 J.
SUMMARIZE OF POWER
TABLE II CONSUMPTION OF THE SYSTEM WITHOUT POWER DOWN MODE
Module Arm Cortex M3 MCU SHT15 Sensor MicroSD Card LCD 16 x 2 Total
Current @ 3.3V (mA) 27 mA (without power down mode) 0.55 mA 20 mA 3 mA 50.55 mA
Power (Watts)
Energy in 1 hour (Joules)
89.1 mW
320.7 J
1.8 mW 66 mW 9.9 mW 166.8 mW
6.4 J 237.6 J 35.6 J 600.3 J
Power consumption of the system without power down mode consumes total current of 50.55 mA. Thus, from Equation 2 and 3, the total power (in Watts) of the system at 3.3V operation is 166.8 mW and the total energy consumption in 1 hour is 600.3 J as shown in Table II. From calculation above, we can compare energy consumption of MCU using power down mode with MCU running without power down mode. This can save MCU’s power consumption approximately up to 89 mW. Note that the difference in MCU power consumption is 89.1 mW -71.28 µW = 89.028 mW. Therefore, the total power consumption of the system with power down mode in 1 hour is 166.8mW – 89.028 = 77.8 mW or in total energy is 280 J. To enable power down mode in the MCU, we used STOP mode of the ARM CortexM3 STM32 which is the second level of power down functions. Based on the CortexM3 STM32’s user manual [4], execution of WFI or WFE instruction will put the MCU into the STOP mode. During this mode, the MCU will be halt and oscillators will be switched off. The FLASH memory, SRAM and peripherals are still powered. The state of STM32 is preserved. Similar to SLEEP mode of the MCU, the STOP mode can be changed to other operating mode by an interrupt generated from STM32 peripheral. In other words, the STOP mode halts all peripheral clocks but it can still accept external interrupts from peripherals. The data logger prototype showed in Fig. 9 can work without any problems with the sensory data from SHT15 sensor. The accuracy of sampling rate depends on the accuracy of the RTC
which is built in the MCU. To maintain time and clock, the RTC is in the backup (BKP) domain which is still powered by VBAT when VDD is switched off. Therefore, the RTC configuration will not be lost if a battery is connected to the VBAT pin. A key value is written in backup data register 1 (BKP_DR1) to indicate whether the RTC is already configured. If user turns off the VBAT, RTC will be reset and require setting of a new time manually through a HyperTerminal.
computer because our data logger uses the CSV file format. With any software applications that support CSV file, the data can be read and analyzed easily. TABLE III COMPARISON WITH OTHER DATA LOGGERS
(A) Data logger products Company name Product name
Veriteq Spectrum 2000 Digital
Moghavvemi [3]
Our purpose device
Data 2000
-
Type Digital Digital Temperature -40 to 70 0 to 85 -40 to 123.8 Range (C ) Temperature ± 0.25 C ± 1.0 C ± 0.3 C Accuracy R.H. Range 0 to 95 10 - 90 0 to 100 (%) R.H. ± 2% ± 3% ± 2% Accuracy (B) Data logging Memory Type EEPROM RAM MicroSD Memory 32 K 64K 2 GB capacity Minimum sampling 10 sec 1 sec 1 sec period Maximum sampling 24 hour 1 hour 1 hour period User-selectable Yes Yes Yes sampling rate Power down No No Yes mode (C) Recording span with selected sampling rate 1 Second No 18.2 hours 1.2 year 10 Second 30 hours 91 hours 12 years 1 min 7.4 days 22.7 days 75 years 1 hour 1.2 years 7.5 years 3900 years (D) Price (USD) Hardware 400 USD 100 USD 70 USD Software 100 USD Free Free Total 500 USD 100 USD 70 USD ˚
˚
Fig 9. The data logger prototype
E. Comparison with Existing Data Loggers
After the preliminary testing of our data logger in previous subsection, we compare our data logger with a commercial model and a data logger in reference [3]. The commercial data logger is called Spectrum 2000 from a company named Veriteq [22], while another data logger is based on a research paper in [3] called Data 2000. The comparisons in Table III are divided into four groups: the sensor part, the data logging capability part, the total record length part, and the price part. Generally, our data logger and the sensor functionality are comparable to both existing data loggers as showed in Table III (a). With the SHT15, our temperature sensing’s range is wider than the other two with slightly worse accuracy than the Spectrum 2000. Our relative humidity denoted by R.H. also has a wider range with equivalent accuracy to the Spectrum 2000. For data logging specification, our prototype provides largest storage memory of 2GBytes with smallest sampling rate of 1 second as showed in Table III (b). However, the maximum sampling rate based on the current software is limited to 1 hour. We could extend this in the future work. Note that our data logger also has power down mode which could save the energy consumption of data logger. This function is very important if we operate our data logger using battery only. Based on the large size of memory space, our data logger could provide an extended period of sensor recording as showed in Table III (c). All data loggers can provide multiple selectable sampling rates. This is under an assumption that we collect only temperature and humidity data. Finally, the hardware price of our data logger is cheapest at 70 USD as showed in Table III (d). The software price is also free too. Finally, an important feature of our data logger, which was not showed in the comparison table, is its ability to conveniently port data recorded in the MicroSD to any personal
˚
˚
V.CONCLUSION AND FUTURE WORKS This paper presented details of construction and design of low cost flash disk based data logger. This general purpose data logger integrated with temperature and relative humidity sensor called SHT15 that can be used in any sensing, monitoring or measurement systems. The total cost of data logger including the SHT15 sensor is approximately lower than 100 USD. This general purpose data logger still has a number of ports available for recording other data through USART and ADC channels on the MCU. Users may apply these free ports to connect with other sensors for data logging in the following applications: • For weather application, connecting the data logger to other sensors which use to observe measurements of wind
speed, light intensity and rain fall. • Other agriculture, transportation and biomedical applications The future plans of this work are to improve the functionalities of the data logger such as implementing database functionality and adding a built-in web server. To enhance the accuracy and setting of the RTC to standard local time, we need to develop a time synchronization mechanism in software to calibrate the RTC. One method is to implement network time protocol (NTP) to allow this node to synchronize with a time server [21]. Moreover, we are planning to add smart functionality to warn status of environment in our hydrological monitoring system for rivers. A global positioning system (GPS) receiver is also needed in our project to provide location information for the sensory data. Finally, an internet connection is also necessary for our data logger to forward the log data to a base station. This can be implement using wireless wide area network such as general packet radio service (GPRS) which operates on global system for mobile communication (GSM) network or wireless local area network such as WiFi. Our data logger is a part of hydrological monitoring system which is illustrated in Fig. 10.
REFERENCES [1]
[2]
[3]
[4]
[5] [6] [7] [8] [9] [10]
[11] [12] [13] [14] [15]
[16]
[17] [18]
[19]
[20] [21] [22] Fig 10. Hydrological monitoring system
Acknowledgment This research is financially supported by Thailand Advanced Institute of Science and Technology-Tokyo Institute of Technology (TAIST-Tokyo Tech), Nation Science and Technology Development Agency (NSTDA), Tokyo Institute of Technology (Tokyo Tech), Kasetsart University (KU) and the National Research Council of Thailand (NRCT). Moreover, the authors would like to thank the partners in the electronic laboratory at KU, ICTES students and staffs in the embedded system technology laboratory at NECTEC.
C. Coopmans, Ch. YangQuan, “A General-Purpose Low-Cost Compact Spatial-Temporal Data Logger and Its applications”, 2008, IEEE AUTOTESCON, pp. 64-68. L. Rajesh, X. G. Robert, “Design and Realization of a Portable Data Logger for Physiological Sensing”, IEEE Transaction on Instrumentation and Measurement. Volume 52 Issue 4, 2003, pp. 1289-1295. M. Moghavvemi, M.O. Faruque, E. Ngkoon, Ch.Y. Soo, “A Simple Low Cost Data Acquisition System for Remote Sensing of Relative Humidity and Temperature”, Proceedings of the 44th IEEE, 2001, pp. 202-206. “Cortex M3 Technical Reference Manual”, Available: http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337e/DDI0337E_ cortex_m3_r1p1_trm.pdf. MSP430 Mixed Signal Microcontrollers Data Sheet, Texas Instrument, Available: www.ti.com “AVR32 AVR32 AP Technical Reference Manual”, Available www.atmel.com “PIC16F72 Data Sheet”, Available: www.microchip.com Hitex. (Feb, 2008). Title The Insider's Guide to the STM32 ARM-based Microcontroller Available: www.hitex.com “Datasheet SHT1x Humidity and Temperature Sensor”, Available: www.sensirion.com. R. Robert Dedrick, John D. Halfman, and D. Brooks McKinney."An Inexpensive, Microprocessor-Based, Data Logging System". Technical report, Hobart and William Smith Colleges, November 1999. "User's Manual of Board Microcontroller version ET-STM32F103 (ARM Cortex-M3)", Available: www.etteam.com "User and reference guides for IAR Embedded Workbench ARM tools", Available: http://www.iar.com/website1/1.0.1.0/78/1/ “Embedded File Systems Library”, Available: http://efsl.be/ E. Dumbill. (2004, December, 15). The Cost of XML. Available:http://www.xml.com/pub/a/2004/12/15/deviant.html Kasper B. Graversen, 2006-2009 "An EBNF definition of the CSV format with explanation" Available: http://supercsv.sourceforge.net/csvSpecification.html V.K. Sehgal, Nitin, D.S. Chauhan, R. Sharma,” Smart Wireless Temperature Data Logger Using IEEE 802.15.4/ZigBee Protocol”, IEEE Region 10 Conference TENCON 2008, pp 1-6. M. Moghavvemi, E. Ngkoon, Ch.Y Soo, “Remote Sensing of Relative Humidity”, Digital Object Identifier TENCON, 2000, pp. 96-101. H. Erdem, Design and Implementation of Data Logger for Fuzzy Logic Controller, IEEE ICIT ’02 International Conference on Industrial Technology. Volume 1, 2002, pp. 199-204. R. Mukaro, X.F. Carelse, “A Microcontroller-Based Data Acquisition System for Solar Radiation and Environmental Monitoring”. IEEE Transactions on Instrumentation and Measurement. Volume 48, Issue 6, 1999, pp.1232-1238. B. Newberry, J.M. Conrad, “Data Logging Solution for Digital Signal Processors”, IEEE Proceedings SoutheneastCon, 2007, pp. 247-252. "NIST Internet Time Service clock" Available: tf.nist.gov/tf-cgi/servers.cgi "Veriteq 2000 Series data sheet", Available: www.veriteq.com