# Performance Evaluation of Bluetooth Low Energy: A Systematic Review
## 3 BLE Performance
### Piconet Size  
Another important feature that can limit BLE performance (and wireless technologies in general) is the maximum number of devices, which can exchange data in the same star network, shown in Figure 12c. [PERSON] et al. [50] investigated the maximum _piconet_ size, which is the maximum number of _slaves_ that a single _master_ can handle. The BLE specification does not impose a specific limit on it, but it depends on the SW and HW characteristics, such as the amount of memory on the BLE IC, the antenna availability or some connection parameters (e.g., _connInterval_), the BER and the type of communication between _master_ and _slaves_. The _master_ must reset its radio frequency every time it wants to reach a different _slave_ and exchange messages with it [70]; for this reason, the _connInterval_ parameter influences the maximum number of _slaves_. It is important to notice that different _slaves_ belong to different _piconets_ with the _master_ in common; that means the connection parameters may also be different per each _slave_, and so per each _piconet_. Hence, the _master_ needs the time to switch between the different _piconets_ without an overlapping of their _connEvents_, as shown in Figure 14. It is also possible to have overlapping communications, but this will imply a loss of data during the transmission. For all the reasons explained, the number of _slaves_ a _master_ can support is inversely proportional to the maximum throughput of each connection; as a matter of fact, if a _master_ needs to connect with a lot of _slaves_, it shall decrease the _connEvent_ of each connection with a direct implication of less packets sent. On the other hand, the maximum piconet size is independent of the _connSlaveLatency_ parameter, because the inactive _connEvents_, due to _slave_ latency and overlapping communications, cannot be used for connections with other _slaves_[50]. The results they obtained are shown in Figure 15. They evaluated the maximum number of _slaves_ in a _piconet_ for the _one-way_ and _round-trip_ ATT interactions (Section 3.4), setting an upper bound obtained considering the ideal condition of a null BER. In addition, the case of non-overlapping has been evaluated, i.e., when two different _slaves_ do not overlap their communication with the _master_, even when bit errors lead to retransmission. They obtained that for a _connInterval_ equal to 7.5 ms, the maximum number of _slaves_ per _master_ could be between two and 11, while, with a _connInterval_ of 4000 ms, this number can theoretically be \(\sim\)5900 in the _one-way_ communication. It would be useful to understand the real limit of the number of _slaves_, because this unique work estimates the theoretical results only with an analytical model. STMicroelectronics, for examples, affirms that their BLE devices can connect a maximum number of eight _slaves_[71]. Texas Instruments states the maximum number of _slaves_ for their BLE IC, which is strictly dependent on the available RAM memory of the IC; in particular, this is due to the amount of heap memory allocated [72]. An important topic relative to BLE, and in general to wireless networks, is node synchronization. In fact sensor data fusion in a network is not possible if there is not a precise time synchronization between the different nodes of the network. The architecture of BLE provides non-deterministic delays, which make synchronization hard to implement. For this purpose, [PERSON] et al. [73] proposed two principles to obtain precise synchronization time stamps, based on the BLE IC power consumption. Figure 14: Multi _slave_ communication in a network with a star topology (see Section 2.4). There is a _master_ sending data with three _slaves_. This is the particular case of non-overlapping, i.e., when different _slaves_ do not share the same interval of time for the communication with the _master_. In fact, as can be seen, all the _connEvents_ are distributed without overlapping. The black arrows indicate how the time goes.