Bluetooth Low Energy provides a platform for many developers to implement low power communication for a wide range of applications. The Internet of Things (IoT) is an emerging concept that is gaining traction in the world of embedded systems. Bluetooth Low Energy is one of the latest enablers of this movement and the Simblee module improves BLE accessibility. This thesis provides an evaluation of the average power consumption the Simblee uses in different use cases. By leveraging one of the Simblee’s most notable features, the Ultra Low Power mode, very low power consumption can be achieved, potentially increasing battery life from weeks to years.
The Simblee module can be programmatically put into Ultra Low Power mode in intervals during normal execution to achieve different levels of power consumption at the cost of increased latency. Depending on the use case, low latency can be sacrificed in favor of lower power consumption.
The emerging concept of The Internet of Things focuses on the vast network of connected physical devices. With the increased availability of cloud computing, the low energy cost of operation, and the decreasing size of devices and chips, the magnitude of IoT is becoming greater every day. A few examples of technologies that are enabling IoT are RFID and near – field communication, optical tags and quick – response codes (QR codes), and Bluetooth Low Energy.
In order to understand how a BLE device establishes a connection with another device, clear device roles must be defined. Peripheral devices are traditionally low power, resource constrained BLE devices that connect to a more powerful central device. Central devices possess greater processing power and memory, which is usually a tablet or a smartphone.
The first step in establishing a connection between a BLE device and a central device (such as a phone or tablet) is the advertising process. The Generic Access Profile (GAP) controls the connections and advertisement within BLE. This allows the BLE device to be visible to the outside world and determines how the central and peripheral devices communicate with each other. When advertising, a peripheral device can send advertising data to several different central devices. Figure 2 illustrates this concept.
Simblee is designed and developed by Rfduino, a company focused on creating wireless devices that can be programmed with the Arduino IDE. The Simblee is a BLE module that contains both a BLE radio and a 32 – bit ARM Cortex M0 processor with 128 KB of flash memory, 24KB of RAM, and operates at 16 MHZ.
With the processor and memory packaged with the Bluetooth Smart Radio, the programmer can load a UI for a phone or tablet application instead of using the designated tools to program the phone/tablet. This essentially means you can create an entire iOS app self – contained on the Simblee without using Apple development tools. A block diagram of the Simblee is shown in Figure 7.
In order to evaluate how power consumption changes due to changing different parameters, two testing applications were created to test different advertising intervals, connection intervals, and ULP sleep cycle intervals. To evaluate different advertising intervals, the Simblee API exposes an advertising interval variable to change within its Simblee BLE class. To test the connection intervals and ULP sleep intervals, a mobile application was created to operate on the iOS Simblee app. Figure 10 illustrates how the mobile application functions.
METHODOLOGY, RESULTS AND ANALYSIS
The first step taken to measure current consumption of the Simblee was to set up a circuit with the Simblee module, battery shield, and multimeter. The average current was measured by using the average function the multimeter provided. After the circuit was set up and the multimeter had been on for at least an hour, the Simblee was loaded with the desired program. The average current was measured for approximately two to three minutes then the reading was reported.
Using ULP sleep cycles drastically improved upon connection intervals. The current v ULP cycle curve is similar to the current v advertisement interval curve where initially increasing the cycle provides a large benefit in current consumption. Figures 18 and 19 show the theoretical battery life for both advertisement intervals and connection intervals for an AAA battery and an average coin cell battery. – 20 dBm was not tested since it did not yield any improvements over – 8 dBm.
For both advertisement intervals and ULP sleep cycles the benefit of increasing the interval at first greatly improves the battery life but gradually reaches an asymptote as the intervals increase. Simblee’s documentation states that the Simblee’s ULP mode consumes <4μA (.004 mA). This is true if the BLE stack has not started (SimbleeBLE.begin() has not been called in the program).
This thesis evaluates the Simblee’s low energy capabilities by changing different parameters and implementations, specifically the advertising interval, connection interval, and ULP sleep interval. Ranges from 20ms intervals to 10000ms intervals were tested with power transmit levels at – 20dBm, – 8dBm, and +4 dBm.Two main applications were built for testing these parameters: one to test the advertisement intervals and the other to test the ULP sleep cycles and connection intervals. The results gathered by this research show that increasing the intervals in which the Simblee sleeps, greatly decreases the power consumption.
The data collected from this thesis will help future Simblee developers make more informed decisions when programming the Simblee. The data gives a clear representations of how the current consumption is affected by different parameters. Implementing a sleep – wake cycle within the program can increase battery life from days to months, which opens up new use cases and possibilities for the Simblee module.
This thesis provides an overview of energy consumption of the Simblee. The research can be expanded upon by testing the different APIs provided by Simblee, most notably Simblee Cloud. Simblee Cloud is a useful API that connects the Simblee to a server to transfer data over the cloud. A more standardized test for Simblee For Mobile could be created at a lower level. As of now, with the Simblee For Mobile API, it is difficult to control how much information is being sent from the Simblee to the iPhone. A lower – level application could be created to control and standardize the data flow from the Simblee to the iPhone.
Since Simblee is composed of more than just a Bluetooth Smart Radio, each component could be individually tested to see how much power it’s using under certain conditions. This could help explain why the Simblee isn’t reaching the lower current consumption and it could possibly determine what the Simblee BLE and Simblee For Mobile API is doing in the background while executing.
Source: University of Arkansas
Authors: Calvin W.Freeman