FPGA Based Wireless Data Logger

DOI : 10.17577/IJERTV3IS071163

Download Full-Text PDF Cite this Publication

Text Only Version

FPGA Based Wireless Data Logger

Meenanath D. Taralkar

E&TC Dept,

NBN Sinhgad School Of Engineering, Pune, India

Pradeep W. Kulkarni

Head of E&TC Dept,

NBN Sinhgad School Of Engineering, Pune, India

AbstractCapturing and recording data wirelessly provides various advantages over wired data loggers. Also smartphones have become many peoples primary personal computing device due to their vast capabilities, low cost, and mobility. So capturing data wirelessly on smartphones can result in cost reduced solution and also that can provide flexibility of recording data remotely. This paper describes the design and development of hardware and software modules for wireless data logger system using Android Smartphone. The wireless data logger uses FPGA with external analog-to-digital converter (ADC), Real Time Clock (RTC), serial to Bluetooth module and Android smartphone. Sampled data from ADC with time stamp from real time clock (RTC) module is read by FPGA and displayed on local LCD. Also the data is sent to Android smartphone over Bluetooth. FPGA firmware is developed in VHDL using Xilinx ISE 14.7 and Graphical user interface (GUI) is developed using Android Developer Tool (ADT). End user can change remotely the data logger settings such as date and time.

Keywords Data Logger; FPGA; SPI Controller; LCD Controller; UART Controller; Android; Bluetooth; Android Developer Tool; Android Developer Tool


    Data loggers are normally used for recording, analyzing, comparing and monitoring various parameters such as temperature, Humidity, PH, flow and many other depending on application. Major feature of data logger is the capability of collecting data over a period of time which can be analyzed later point in time [6].

    Traditional general purpose processors [GPP] and wired communication devices requires high cost and long development cycle. As the GPP have the fixed architecture, limitation to data path width, so it may waste the hardware resources. FPGA gives the flexibility of reprogramming and have high level parallelism.

    Wired communications possess several limitations like – complex cable connections, electromagnetic interference, wire cost and maintenance etc. There are several wireless communication technologies, such as Bluetooth, WSN, WI-FI, zigbee, IrDA, GSM etc. [4]. Taking in to account the application range of various techniques, the cost of data transmission, security and reliability, Bluetooth and WSN are the most appropriate methods in the short range wireless data communication and data transmission. Bluetooth is a low cost, low power, universal radio interface in the 2.45GHz frequency ISM band that enables portable electronic devices to connect

    and communicate wirelessly via short-range, ad hoc networks [3].

    The mobile communication devices are mostly focused on voice and short messaging [1]. They have become one of the inseparable parts of the people life for contacting each other via text and voice and it also provides services like check mail, play game, send and receive file, etc. The combination of these two services is called as smartphone [2].

    The Android OS is the fastest growing OS on the mobile market. Furthermore, it is open source; thus allowing more ease and freedom when developing applications [5].

    This paper focuses on FPGA based wireless data logger which sends captured data over Bluetooth to the Android smartphone.


    A. Block Diagram of FPGA based Data logger System

    The system block diagram is shown in Fig. 1. The hardware consists of temperature sensor and humidity sensor, ADC, RTC, LCD, FPGA board, Bluetooth dongle and android phone. FPGA selects the ADC asserting chip select signal which will initiate the conversion in ADC. Once the conversion is completed the FPGA will read the data from the ADC and will send it to LCD and Android Smartphone over Bluetooth. Real Time clock will give the current date and time which will be read by FPGA and sent as reference for the data.

    Fig. 1. Fig.1 Block Diagram of FPGA based data logger system


    1. FPGA Software Architecture

      Fig. 2 shows the FPGA software architecture.

      Fig. 2. FPGA Software Architecture

      There are four major modules LCD controller, SPI controller, UART controller and Data logger. LCD controller is used by data logger to display data on local LCD. The SPI controller is used by data logger to communicate with ADC abd RTC over SPI bus. The UART controller is used to send and receive data to and from Bluetooth module HC-05. Fig. 3 shows the data logger algorithm.

      Fig. 3. Android application algorithm

    2. Androd Application

    When FPGA board is powered ON, the Bluetooth module HC-05 becomes discoverable by Bluetooth enabled devices within a distance of 10 meters. The first step is to pair the Android smartphone and HC-05 devices. After pairing is done, Andorid application creates a communication channel, and then sends and receives the data over Bluetooth using this communication channel. Android smartphone acts as the server and HC-05 acts as client.

    Android application creates a Bluetooth adapter and then gets the list of all paired Bluetooth devices.

    Once the connection is established and input/output streams are created then application waits for the data from HC-05. If any data bytes are received over the Bluetooth then the application reads all the data bytes available in the input stream. After reading all data bytes the application checks for the delimiter character. In this project the delimiter is new line. Once the application receives delimiter, received data is

    displayed in text box on the android smartphone.

    Also the data is displayed in graphical format on Android smartphone. To display the data graphically, AndroidPlot library is used. AndroidPlot is an API for creating dynamic and static charts in Android application. AndroidPlot version 0.5.2 is used in this project. Temperature and humidity plots are created in main activity. XY series for Temperature and humidity are also created in main activity. Data to be displayed in the graphs is added in these series and the graph is re-draw every time the new data is received. Fig. 4 shows the Android application algorithm.

    Fig. 4. Android application algorithm


    Fig. 5 shows the snapshot of the FPGA based wireless data logger system.

    Fig. 5. Snapshot of FPGA based wireless data logger system

    Temperature and humidity data from temperature and humidity sensor read through ADC is displayed on the local LCD along with current date and time stamp from RTC as shown in the snapshot. Also the temperature and humidity data is sent over Bluetooth to Android smartphone.

    The Android smartphone screen is shown in the same figure, where temperature and humidity data received from FPGA board is displayed in graphical format. Also the Android smartphone sends the date and time entered in text box when Send button is pressed. Date and time sent by Android smartphone gets updated on LCD after predefined delay.


The FPGA based data logger presented in this paper records temperature and humidity data over a period of time. It also sends recorded data to Android smart phone through Bluetooth when the device is within range. This data can be used for future analysis of the environmental conditions at the place where data logger is installed.


I take this opportunity to express my pofound gratitude to my guide Prof. P. W. Kulkarni for his guidance, monitoring and constant encouragement in preparation of this report. The guidance given by him time to time is valuable and will help me long way in the journey of life.

I also take this opportunity to express a deep sense of gratitude and deep regards to Dr. Mrs. S. D. Shelke, PG Head, E&TC Dept, NBN Sinhgad School of Engg for her cordial support, valuable information and guidance, which helped me in completing this task.

I am obliged to staff members of NBN Sinhgad school of Engineering, Pune for the valuable information provided by them in their respective fields. I am grateful for their cooperation during the period of my assignment.

Lastly, I thank my family and friends for their constant

encouragement without which this assignment would not be possible.


  1. Won-jae Yi, Wedi Jia, and Jafer Saniie, Mobile Sensor Data Collector using Android Smartphone, Circuits and Systems (MWSCAS), 2012 IEEE 55th International Midwest Symposium on, pp. 956-959, August 2012.

  2. S.Aram, A. Troiano, and E. Pasero, Environment Sensing using Smartphone, Sensors Applications Symposium (SAS), 2012 IEEE, pp. 1-4, February 2012.

  3. Gopinath Shanmuga Sundaram, Bhanuprasad Patibandala, Harish Santhanam, Sindhura Gaddam Vamsi Krishna Alla,Gautham Ravi Prakash, Shiva Chitanya Vishwakarma Chandracha, Sindhu Boppana and James M. Conrad, Bluetooth Communication using a Touch screen Interface with Raspberry Pi, Southeastcon, 2013 Proceedings of IEEE, pp. 1-4, April 2013.

  4. JinLin Hu, The Design of Wireless Data Acquisition System Based on STM32 and virtual instrument, Wireless Communications, Networking and Mobile Computing (WiCOM), 2012 8th International Conference on, pp. 1-4, September 2012.

  5. Samer Hawayek, Claude Hargrove and Nabila A. BouSaba, Real time Bluetooth Communication Between an FPGA Based Embedded System and an Android Phone, Southeastcon, 2013 Proceedings of IEEE, pp. 1- 4, April 2013.

  6. C. A. Gómez-Pachón, M. Valderrama, F. Segura-Quijano, Design and Implementation of a Wireless Tensiometer with Smartphone Interface Health Care Exchanges (PAHCE), 2013 Pan American, pp. 1-3, April- May 2013.

  7. http://datasheets.maximintegrated.com/en/ds/DS1305.pdf

  8. http://datasheets.maximintegrated.com/en/ds/MAX187-MAX189.pdf

  9. http://www.egochina.net.cn/eBay/Download/JHD162A.pdf

  10. http://www.ti.com/general/docs/lit/getliterature.tsp?genericPartNumber= lm35&fileType=pdf

  11. http://stackoverflow.com/questions/6041190/cardio-graph-for-android

  12. http://stackoverflow.com/questions/13450406/how-to-receive-serial- data-using-android-bluetooth

  13. http://android-graphview.org/#features

  14. http://stackoverflow.com/questions/6491731/code-for-bar-graph-in- android

Leave a Reply