Bluetooth Low Energy (BLE) has reduced the energy consumption for sensor nodes drastically. One major reason for this improvement is a non-continuous connection between the nodes. But this causes also a nondeterministic data transmission time. Most synchronization protocols are influenced by this characteristic, with the result of less accuracy. In wireless body sensor networks this accuracy is often of vital importance. Therefore this paper evaluates different synchronization principles customized for BLE.
For the evaluation measurements we used two BLE modules connected to one micro controller. This setup allowed us to calculate the error directly for the different principles. First we measured the send-receive time as a reference which influences most synchronization protocols. This time is directly affected by random transmission delays of BLE. Second we used the time difference between receiving and acknowledging a message as principle (A). The last principle (B) can only be used between nodes that use BLE that don’t require a constant connection, because it needs to connect and disconnect the nodes. After a new connection the “connected” events occur in the BLE nodes almost at the same time and can be used for synchronization. The reference measurement showed the worst results. The average delay was 4.76 ms with a standard deviation of 2.32 ms. Principle (A) showed average delays of 7.51 ms, which was almost exactly 1 connection interval in our setup. The standard deviation was 0.41 ms. Principle (B) showed the best results with an average time difference of 39.92 μs and a standard deviation of 14.19 μs
The results showed that with the principles (A) and (B) the synchronization of nodes can be highly improved compared to the reference. In future we will test the principles with synchronization protocols in real sensor nodes also with respect to the processor load.
Biomedical monitoring systems rely often on multi-sensor data fusion. The main idea is that the recorded signals together contain more information than all signals individually. E.g. if we have an electrocardiogram (ECG) and a photoplethysmogram (PPG) we can measure the time difference between the electrical stimulation of the heart and the pulse wave reaching the PPG sensor. This parameter is called pulse transit time (PTT) and has a linear connection with blood pressure  To get this additional information synchronization between the sensors is of vital importance. E.g. for calculating the PTT a synchronization accuracy of at least 1 ms is required .
In wired networks this accuracy is easy to reach with a common clock or by exchanging time stamps. But to monitor patients out of hospital during every day activities small wireless sensors are the best solution. This distributed sensors nodes in wireless networks have no common clock. Hence the local time of each sensor can drift, especially during measurements over a day or longer. Even in laboratory conditions with constant temperatures, we measured a drift of over 1 s per day between sensors using crystal oscillators.
In  different synchronization methods for wireless networks are described. All of the methods rely either on deterministic times for message exchanges or on common events. One of the most common wireless communication standards for low power sensors is Bluetooth Low Energy (BLE). BLE reduces the energy consumption for sensor nodes drastically compared to other wireless standards. One major reason for this is a non-continuous connection between the nodes. The connection between the nodes after establishing is divided into connection intervals (CI), as shown in Figure 1. If there is nothing to communicate the module will fall in a sleep mode until the next connection interval starts and the communication gets reinitialized. This sleep mode causes a non-deterministic delay between the incoming write command and the actual transition.
The CI length is set in the initialization phase and can be between 7.5 ms and 4 s. Hence there is at least a random message delay between 0 and 7.5 ms in a BLE message transfer. If the BLE module is busy the delay can be even longer than one CI.
One of the most popular synchronization protocols the Network Time Protocol (NTP) would suffer directly from this characteristic. Figure 2 describes the principle of NTP synchronization. Node A sends a request to node B and takes the time stamp T1. Node B answers with two time stamps R1 and T2. When the message arrives at node A it takes the last time stamp R2 and calculates the offset as follows:
To find more appropriate synchronization protocols that can fulfil the requirements of most wireless biomedical sensor networks; this paper investigates different principles to synchronize BLE nodes.
2 Synchronization principles
As test setup we used the EFM32TG  microcontroller starter kit and connected two BLE112  Bluetooth modules via UART. The microcontroller’s real time clock runs with 32.768 kHz and the UARTs have a baud rate of 115200 Baud. The microcontroller takes the time stamps for the different events of the two BLE modules. The fact that we use only one microcontroller and time base with two Blue-tooth modules lets us calculate the error directly.
As a reference we measured the send-receive delay with a CI of 7.5 ms. Then we investigated two different use cases. The first is two BLE nodes with an established connection and a CI of 7.5 ms. The modules communicate regularly and we use the receive-acknowledge delay to measure the time difference (Principle (A). In the second use case we have two nodes with no active communication but the possibility to establish it for synchronization purposes. In this case we measured the time difference between the “connected” events that occur on both nodes after establishing a new connection (Principle (B).
2.1 Reference send receive delay
As a reference we measured the time stamps of received and transmitted data. The non-deterministic character of the BLE data transmission will lead to an additional delay to the one caused by the physical transmission. Figure 3 illustrates this process. The data is send with a write command to the first BLE module and is then transmitted to the second BLE module at the start of the next connection event, from where it is forwarded to the second microcontroller.
2.2 Principle (A) receive acknowledge delay
For principle (A) we used an acknowledgement for attribute writing with the Generic Attribute Profile (GATT). The random time delay between the sending and receiving is irrelevant for calculating the time difference between receiving and acknowledgement. The time difference between T1 and T2 shown in Figure 4 should be a multiple of the CI, when we assume all messages are exchanged at its beginning. This could be used in synchronization protocols.
2.3 Principle (B) connection events
In principle (B) the two sensor nodes have to establish a connection to communicate. This initiation process leads to the “connected” event on both nodes. This event should arrive almost at the time and can be used as common time reference to synchronize the sensors. Figure 5 describes this initialization process and the time stamps we used for the synchronization.
3.1 Reference results
The reference measurements are shown in Figure 6. The delay is mostly distributed within the range of one CI. Values below 1 ms do not exist. This is probably related to the time the BLE112 module needs to process the write command. The average time difference is 4.76 ms. If we subtract the 1 ms processing time from this value, we get 3.76 ms, which is about half the CI we used. The standard deviation is 2.32 ms. Hence a synchronization of 1 ms accuracy is difficult and can only be reached by improving it statistically with multiple repetitions.
3.2 Results for principle (A)
In Principle (A) we calculated the delay between receiving and acknowledging. As shown in Figure 7 the average time to acknowledge the reception is 7.51 ms, which is almost exactly 1 CI. The standard deviation of 0.41 ms shows that synchronization between two nodes with an accuracy of 1 ms or better is possible.
3.3 Results for principle (B)
In principle (B) we calculated the time difference between the “connected” events that occur when the connection gets established.
Figure 8 shows this time difference. It is most of the time only one clock step (30.52 ms). The communication initiator always detects the signal first. This is most likely due to its role. The average delay between the connection events was 39.92 μs with a standard deviation of 14.19 μs. With this principle, synchronizations even more precise than 1 ms can be reached.
We tested two different synchronization principles for BLE nodes against a reference that is used in most synchronization protocols. As reference we used the time difference between sending and receiving messages. The results show that it is possible to synchronize nodes with this principle, but the standard deviation of 2.32 ms makes it difficult to reach accuracies above our requirement of 1 ms. Principle (A) that uses the receive acknowledge time difference showed much better results with a standard deviation of 0.41 ms. The best result of 14.19 μs standard deviation was established with principle (B). This method can only be used when the participating nodes can be connected and disconnected at will. It uses the “connected” event that occurs on both BLE modules after establishing a connection.
In future we want to test the synchronization principles with protocols in real sensor nodes. The micro controller we used for this test had no processor load except the synchronization. Hence tests under normal operation conditions are essential to evaluate the accuracy in the field.
Conflict of interest: Authors state no conflict of interest. Material and Methods: Informed consent: Informed consent has been obtained from all individuals included in this study. Ethical approval: The research related to human use has been complied with all the relevant national regulations, institutional policies and in accordance the tenets of the Helsinki Declaration, and has been approved by the authors’ institutional review board or equivalent committee.
 H. P. Boll, Mobile Überwachung der Funktionalität des kardiovaskulären Systems – Konzepte und Simulationen. Institut für Technik der Informationsverarbeitung, Universität Karlsruhe, 2008.Search in Google Scholar
 M. Nakamura, J. Nakamura, G. Lopez, M. Shuzo, and I. Yamada, “Collaborative processing of wearable and ambient sensor system for blood pressure monitoring.,” Sensors (Basel)., vol. 11, no. 7, pp. 6760–70, Jan. 2011.10.3390/s110706760Search in Google Scholar PubMed PubMed Central
 B. Sundararaman, U. Buy, and A. D. Kshemkalyani, “Clock synchronization for wireless sensor networks: A survey,” Ad Hoc Networks, vol. 3, pp. 281–323, 2005.10.1016/j.adhoc.2005.01.002Search in Google Scholar
 B. Sig, “Bluetooth Specification Version 4.2,” History, vol. 0, 2014.Search in Google Scholar
 Silicon Laboratories Inc., “EFM32TG840 Datasheet.” Silicon Laboratories Inc., 2014.Search in Google Scholar
 Bluegiga Technologies, “BLE112 Version 1.45.” Bluegiga Technologies, 2014.Search in Google Scholar
© 2015 by Walter de Gruyter GmbH, Berlin/Boston
This article is distributed under the terms of the Creative Commons Attribution Non-Commercial License, which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.