DESIGN OF A WIRELESS PULSE OXIMETER USING A MESH
ZIGBEE SENSOR NETWORK
José M. Castillo, Joaquín Olivares and José M. Palomares
Department of Computer Architecture, University of Córdoba, Córdoba, Spain
Keywords: Pulse Oximeter, Wireless, ZigBee, Mesh, RCM4510W, Xbee, Wireless Sensor Networks, Biotelemetry.
Abstract: This work describes a prototype to convert a conventional pulse oximeter into a wireless device. Samples
have been taken from a commercial Nellcor DS-100A probe using an FPGA. This programmable device is
integrated with an XBee wireless modem; using ZigBee protocol, data is sent through the wireless network
to a central server. The system generates alarms to the medical staff when vital signals are critical. Data can
be saved in a database allowing the review of monitored data furthermore, with these data, future research
on medicine can be started.
1 INTRODUCTION
In hospital, life constants of patients are monitored
by several systems, most of them use wires to
connect sensors to the monitoring device. These
systems are not comfortable and their mobility is
reduced, the hindering the medical work. Most of
these devices do not record the history of the
monitored constants.
This work presents the adaptation of a
conventional pulse oximeter (Tremper et al., 1989)
(Kamat, 2002) (Baran, 2006) to suppress its wire,
sending data in real time through a wireless sensor
network. Data can be stored in a PC, allowing the
review of monitored data; furthermore, with these
data future medical research can be started.
Pulse oximeter was the first device adapted,
future works will comprise other devices as non-
invasive blood pressure, temperature, fetal heart rate,
uterine contractions on labor, and, WHO partogram.
Telemetry wireless (Jovanov et al., 2000)
(Hameed, 2003) monitoring will allow the patient
mobility. By using wireless monitoring, both patient
satisfaction and working conditions for the staff is
expected to improve.
There are Bluetooth wireless pulse oximeters in
the market (Morón et al., 2005) (Nonin Inc., 2010).
In this work, ZigBee is the selected communication
protocol used in the wireless sensor network.
Bluetooth requires higher power consumption than
ZigBee. Another difference is that Bluetooth devices
use a point to point directive whereas ZigBee
devices constitute a mesh network enabling flexible
connection of new sensors.
2 ROUTING IN ZIGBEE MESH
NETWORKS
Pulse oximeter is a critical device and, therefore, it
needs real time communication, low latency, and the
possibility of alternative routes in case of connection
problems in remote monitoring. These requirements
make the mesh topology as the most appropriate.
The end-devices are Reduced Function Devices
(RFD) that can be in sleep mode periodically. They
cannot route and always send their data to their
parent node (a router or a coordinator). In the
association stage, the end-device selects its parent
and receives a notification with a short 16bit
address. If the end-device is restarted, it is declared
as an orphan and immediately, its router resends its
short 16bit address in order to enter into the network
again. If this process fails, the end-device will make
the association process again, until it can be
associated to another parent.
The main mission of a router consists in
forwarding data through the network and managing
the information of its end-devices as a buffer until
they wake up. The end-devices sleep periodically
and send a “Data Request” frame when they wake
up. The parent can send data stored in its buffer
401
Castillo J., Olivares J. and Palomares J..
DESIGN OF A WIRELESS PULSE OXIMETER USING A MESH ZIGBEE SENSOR NETWORK.
DOI: 10.5220/0003170104010404
In Proceedings of the International Conference on Biomedical Electronics and Devices (BIODEVICES-2011), pages 401-404
ISBN: 978-989-8425-37-9
Copyright
c
2011 SCITEPRESS (Science and Technology Publications, Lda.)
Figure 1: Global system and network architecture.
to the end-devices.
In mesh networks, routers and coordinators
discover the route to the destination point using
messages at network level as ”Route Request” and
”Route Reply”. If there is no direct communication,
messages will pass through the routers until they
reach their destination. It is possible to detect if the
route fails, thanks to the acknowledgment (ACK)
procedure held by 802.15.4. The router will search
for a new route in order to be able to send data to the
destination. In a full mesh network with n nodes,
each node has a link with the others n-1 nodes, with
a total of n(n-1) links. These topologies (partial-
mesh and full-mesh) can be set up by adding new
router nodes, with the subsequent increase of energy
consumption.
3 SYSTEM DESIGN
This work attempts to implement a wireless pulse
oximeter using ZigBee mesh network. Figure 1
shows the architecture of the network.
To design a Wireless Pulse Oximeter, the
following components have been used: Rabbit
RCM4510W, XBee USB, FPGA Spartan, Pulse
Oximeter Nellcor, and PC Windows XP.
3.1 Pulse Oximeter
Nellcor DS-100A is a popular pulse oximeter used in
hospital, and therefore it has been selected to use in
this work.
In order to couple the Pulse Oximeter with the
FPGA is necessary to know the timing diagram of
Nellcor (Webster, 1997), shown in Figure 2. The
Nellcor pulse oximeter system uses a four state
Figure 2: Timing Nellcor Diagram.
clock, or has a duty-cycle of 1/4, as compared to the
Ohmeda (Webster, 1997) system, where the duty
cycle is 1/3.
In the first quarter, the IR LED is on, whilst the
R LED is on in the third quarter. In the second and
the fourth quarters, these LEDs are off. During these
periods, ambient light measurements are done. The
gate pulses are the sampling pulses applied to the
input signal to separate out the R and the IR
components from the input signal. The sample pulse
during the OFF period of the respective LED is used
to sample the ambient. The gradual rise or fall of the
pulses is due to the transients, which are smoothed
out using low-pass filters. The ambient light
component is larger in the four quarter, compared to
the value in second. Using suitable values for the
gain in the programmable DC offset amplifiers, this
BIODEVICES 2011 - International Conference on Biomedical Electronics and Devices
402
ambient light component can be eliminated. The AC
plus the DC components of the R and IR signals are
digitized in the FPGA in order to send this data to
the Rabbit RCM4510W.
3.2 FPGA
The FPGA used in this work is a Spartan 3E
equipped a XC3S500E chip. In this FPGA, a
MicroBlaze processor has been designed, with a
Delta Sigma AD converter IP Core included.
Xilinx Platform Studio (XPS) software was used
in this work. This software has been developed to
manage the probe and to obtain the received
information in the photodiode. These data are
processed in order to obtain the values of pulse and
SpO
2
. These values are sent to the parallel port of
the RCM4510W.
The information is processed in the FPGA and it
is sent to the Rabbit via parallel port. Rabbit
decrypts this information and prepares the packet in
order to send it to its destination. Both, pulse and
oxygen values are sent on real time to the Database
Server (DBS).
3.3 Rabbit RCM4510W
RCM4510W RabbitCore is the ZigBee hardware
used to transmit the pulse oximeter data to the
coordinator. It is equipped with an on-board
ZigBee/802.15.4 modem for wireless connectivity.
Features also include 512K flash memory and
SRAM, 40 general-purpose I/O, and up to 9 general-
purpose I/O, 4 of which can be set up as analog
inputs via the ZigBee module.
The RCM4510W has a Rabbit 4000 processor at
29.49MHz. Other features include hardware DMA,
auxiliary I/O, quadrature decoder, input capture,
GPIO lines shared with up to five serial ports, and
four levels of alternate pin functions that include
variable phase PWM.
3.4 Xbee USB Coordinator
The coordinator is the most important element of the
network and therefore there should be one in a
network. The main function is to monitor the state of
the network and establish the routes that devices
have to use in order to send the information.
Java library Xbee-api.lib has been used to extract
the information from the coordinator. XBee class is
the main communication interface between a module
XBee and gateway to the wireless network. This
class coordinates the sent and received data by
packages. After the instantiation of the Xbee class,
the system will start to manage the information of
the network. The coordinator XBee USB is
connected to the COM3 port at 9600 data rate.
The software for managing the network has been
successfully developed to receive data from the
probe, and, to send it to the DBS.
3.5 Database Server
The DBS is implemented using MySQL Server over
a Linux Machine. This database stores the following
information about patients:
Patient name
Sex
Age
Historical Pulse
Historical % SpO
2
Drug treatment
Future researches will allow further processing
of the information about patients. Thus, the system is
able to determine real time if any patient suffers
from a cardiac or respiratory problem. In this case,
an alarm will be generated to inform to the staff.
Other possibilities are to compare multiple histories
to study population responses; responses after
different drug treatment, etc.
4 RESULTS
The reliability of the network and the developed
pulse oximeter was tested with these experiments:
4.1 Packet Tests
To check the reliability in the communications, it
was developed a program to count the number of
packets received in the coordinator. The test was
carried out using 5 Routers, and 3 End devices.
Electromagnetic contamination with Bluetooth and
Wifi signals was introduced.
The first test starts with the previously presented
configuration and the number of transmitted packets
reached 100%.
The second test tries to eliminate the connection
between the End device associated to the pulse
oximeter and its parent node. When the route
crashes, the End device has to re-associate to another
router. This operation delays for approximately 2
seconds (Casilari, 2010). In this time, the node
cannot transmit to the coordinator, however it stores
data in a buffer to avoid the loss of data. When the
node re-associates to another parent, it sends the
DESIGN OF A WIRELESS PULSE OXIMETER USING A MESH ZIGBEE SENSOR NETWORK
403
Figure 3: FPGA, RCM4510W and Nellcor Probe.
stored data in the buffer and continues normally.
During these 2 seconds, the display at the
coordinator shows the last received pulse and SpO
2
values. When the end device sends the new data, it is
processed and printed on the coordinator display and
stored in DBS.
If all routers crash, the End device tries to detect
if a direct connection to the coordinator is available.
As the network is redundant, when the End device
looses the connection to its parent, it reconnects
directly to another router transparently to the user.
4.2 Measurement Tests
In order to test the correctness of the data obtained
with the pulse oximeter integrated with the FPGA, a
comparison between these data, and those acquired
by a professional ISSO certified pulse oximeter used
in Hospitals, was studied.
The experiment used two probes, one of them
connected to the ISSO certified pulse oximeter and
the other one, connected to the FPGA pulse
oximeter. The values of pulse and %SpO
2
were
identical in both systems.
5 CONCLUSIONS
A prototype to adapt a standard pulse oximeter into a
wireless device has been proposed. Samples have
been taken from a commercial probe using an
FPGA. This programmable device packs the
information and, as it has been integrated with an
XBee wireless modem, it sends data through the
wireless network to the central server. In future,
FPGA and XBee will be integrated in a small
wireless device supplied with batteries.
Results in terms of the reliability and
technological viability have been proved to be
successful. Several tests were applied to check the
robustness of the system.
ZigBee provides a flexible network, which is
ideal for environments were multiple sensors can be
added or suppressed on-the-fly in any moment.
Zigbee networks are able to operate in densely Wifi
and Bluetooth populated environments. In front of
Bluetooth or Wifi, ZigBee consumption is notably
lower and XBee modems are cheaper. Besides, the
configuration of ZigBee devices is simpler since
Bluetooth has a more complex protocol.
REFERENCES
Webster, J. G. 1997. Design of Pulse Oximeters. 1st ed.
Institute of Physiscs. London
Jovanov E., Price J., Raskovic D., Kavi K., Martin T.,
Adhami R.. 2000. Wireless Personal Area Networks
in Telemedical Environment, IEEE EMBS
International Conference on Information Technology
Applications in Biomedicine, pp.74 – 78.
Hameed, K. 2003. The application of mobile computing
and technology to health care services. Telematics and
Informatics. Vol. 20, Iss. 2, pp. 99 – 106.
Morón, M. J., Luque, J.R., Casilari, E, Gázquez J. A.
2005. A Wireless Monitoring System for Pulse-
oximetry Sensors. MSc Thesis, University of Málaga
Casilari, E, Cano-García, J. M, Campos-Garrido, G. 2010.
Modeling of Current Consumption in 802.15.4/ZigBee
Sensor Motes. Sensors 2010, 10, pp. 5443 – 5468.
Nonin Inc. Avant 4000 Bluetooth Pulse Oximeter.
http://www.nonin.com.
Baran J., Chen K., Stanford W. and Yarmarkovich M.
2006. Pulse Transmit Measuring Device. Project of
Pediatric Pulmonology. Univ. of Wisconsin Hospital.
Kamat, V. 2002. Pulse Oximetry. Indian Journal of
Anesthesia. 46 (4). pp. 261 – 268.
Tremper, K. K. and Berker, S. J. 1989. Pulse Oximetry.
Anesthesiology. 70. pp. 98 – 108.
BIODEVICES 2011 - International Conference on Biomedical Electronics and Devices
404