BITalino PDF
BITalino PDF
Ana Priscila Alves1 , Hugo Silva1 , Andre Lourenco1,2 and Ana Fred1
1 Instituto
Keywords:
Abstract:
Our work presents a low-cost biosignal acquisition system, BITalino, based on the Arduino hardware platform;
both the hardware and software components are detailed, together with experimental evaluation. This system
was designed to be integrated in a biometric platform based on Electrocardiographic (ECG) signals, that will
be used for identity recognition. The experimental evaluation revealed that this system is not only capable
of ECG signal acquisition, for biometric purposes, but it can also be used as a generic platform for other
biomedical applications, greatly extending its applicability. In this paper we describe the proposed platform,
with special emphasis on the design principles and functionality. Future work will focus on further developing
our hardware, targeting its integration in a prototype system for ECG-based biometric recognition.
INTRODUCTION
Biosignal acquisition has been a topic of increasingly growing development, since it constitutes the
basis for diagnostic systems, and contributes to a better understanding of the body functions. Nowadays,
novel applications of biosignals are emerging in areas
where they are not traditionally found, such as the use
of Electrocardiographic (ECG) signals for biometric
purposes (Biel et al., 2001) (Lourenco et al., 2011).
Therefore, the main objective of our work was to develop a low-cost acquisition system, capable of capturing vital signs, using the ECG as a testbed.
There are multiple hardware choices available,
however the Arduino is currently the most flexible and
easy-to-use hardware and embedded software platform, with low cost, easy communication, and software running on a computer or other devices. Our
goal was to integrate the Arduino board with the Android Operating System, targeting the development of
a mobile biometric system; as such, the chosen communication protocol was Bluetooth, since it is available in almost every mobile device, and also in computers. The integration between Arduino and Android
is not new (Google ADK, 2011), but very few initiatives are based on Bluetooth.
The first use of our acquisition system targets the
integration in a biometric platform, allowing real-time
recognition. However, it can be extended to numerous
SYSTEM ARCHITECTURE
In the case of ECG acquisition, the electrical activity of the heart is captured using electrodes placed on
two fingers of opposed hands. Those signals are acquired through the analog input ports on the Arduino
board, and subsequently converted using the internal
analog-to-digital converter. Then, the digitalized data
is sent via Bluetooth to the base station (e.g. Android
mobile phone). The diagram represented in Figure 1
synthesizes the overall architecture of the hardware
subsystem, showing a schematic of the main components.
Regarding the software, there are two main programs developed: the Arduino Firmware, which controls its operation, and an Application Programming
Interface (API) in Java, which communicates with the
Arduino, controls the acquisition process, allows the
access to the collected raw data and enables high-level
applications to access both the device and the data.
These two parts of the system will be detailed in the
next sections.
HARDWARE
FIRMWARE
(a) Unpacked
(b) Packed
Figure 5: Data packets schematic.
SOFTWARE
An Application Programming Interface (API) was developed in Java in order to control the Arduino. Its
main purpose is to establish Bluetooth connection,
and then start or stop the acquisition, receiving the
acquired samples, and configuring the device.
An abstract class Device was created, which was
subdivided into 2 main subclasses: Bluetooth and
Test.
a) Bluetooth: This subclass establishes a Bluetoothl
connection with the Arduino, and control its operation sending commands that activate start or stop
methods. When start is activated, all data received
from the device is saved in a text file for further
processing.
b) Test: The Test subclass does not communicate
with the device, but is used to test the API functionality.
The configuration parameters used in these subclasses, such as baud and sampling rates, are specified in a document with a standard notation based on
JSON (JavaScript Object Notation). It creates an easy,
standard, Human-readable and structured way to represent diverse information, and works regardless of
the adopted programming language. An example of
setup parameters defined using the JSON notation is
as follows:
{ "BaudRate":115200,"Mode":"Live",
"Sampling Rate":1000}
Focusing on the particular operations that can be
performed using the Bluetooth subclass, the main
methods are:
1. Setup: A JSON Object containing information
about Sampling Rate, Acquisition mode (Live or
Simulated), and Baud Rate is parsed and, with
this information, a Bluetooth connection is established.
2. Start: The mode number corresponding to start
acquisition, Live or Simulated, is sent to the system, which will activate its acquisition state.
3. Acquire: After activating the acquisition state, this
method reads the incoming data, and saves each
sample in a text file, using the test application described in the next subsection.
4. Stop: When this method is called, the acquisition
state is stopped, and the system returns to the idle
state.
To test the API functionality and benchmark the device, a test application was developed; it creates an
applet with Start and Stop buttons, and calls the corresponding methods. Thus, when the application starts,
the Bluetooth communication is established, and it remains waiting for a button to be pressed, executing the
method Start and Acquire when the button start
is pressed, and calling Stop method when the button
stop is pressed.
EXPERIMENTAL EVALUATION
ACKNOWLEDGEMENTS
This work was funded by the Fundaca o para a
Ciencia e Tecnologia (FCT) under grants PTDC/EIACCO/103230/2008,
SFRH/BD/65248/2009 and
SFRH /PROTEC/49512/2009 whose support the
authors gratefully acknowledge. The authors would
also like to thank the Institute for Systems and
Technologies of Information, Control and Communication (INSTICC), the graphic designer Andre Lista,
Prof. Pedro Oliveira, and the Instituto Superior de
Educaca o e Ciencias (ISEC), for their support to this
work.
REFERENCES
Biel, L., Petterson, O., Phillipson, L., and Wide, P. (2001).
ECG analysis: A new approach in human identification. IEEE Transactions on Instrumentation and Measurement, 50(3):808812.
Google ADK (2011).
Accessory development kit.
http://developer.android.com/tools/adk/adk2.html.
Lourenco, A., Silva, H., and Fred, A. (2011). Unveiling
the biometric potential of Finger-Based ECG signals.
Computational Intelligence and Neuroscience.
Medicarduino (2012). Medical and health related projects
with arduino. http://medicarduino.net/.
Silva, H., Lourenco, A., Lourenco, R., Leite, P., Coutinho,
D., and Fred, A. (2011). Study and evaluation of a single differential sensor design based on electro-textile
electrodes for ecg biometrics applications. In Sensors,
2011 IEEE, pages 1764 1767.