I have a set of voltage readings that are read at a high rate and they have produced voltage data for power consumption while: advertising events, for connection events, and for no activity. I've produced graphs that I've attached at the bottom of this post.

I'm now tasked with things I have no idea how to accomplish. 1. Graph the power consumption for a connection event with a variable which is the number of advertisements it took before we connected (1 to 1000 advertisements, Y axis in uA/hour). 2. Do the same for a case where the sensor had a “bad” connection and had to reconnect N number of times. Maybe use N = 1 through 5 and add the plots to the same graph.

I'm not sure how to approach either of these as I barely understand what they mean (as I'm not familiar with bluetooth to begin with). Can someone potentially dumb it down for me (and relate to the graphs I have) so I can get an idea of how I can approach it? Thank you.

enter image description here

enter image description here

  • \$\begingroup\$ Your readings are of CURRENT, and NOT of Voltage as you state. Power = supply voltage x current. Or uWatts = uA x Volts. IF you know the height (= cut=rrent) and width (= time) for each type of event and how often they occur period the total power = mean-current_from_event x mean duration per event x Volts x events per time. Ask more if needed. \$\endgroup\$
    – Russell McMahon
    May 25, 2017 at 7:49

1 Answer 1


BLE devices send out an advertisement to indicate that the are looking for a connection. There are three advertisement channels so each advertisement consists of three transmissions with a variable delay between channels.

I would approach the first requirement by capturing the current draw for one advertisement (3 channels plus delays). Average the current readings over this period. Multiply this by the battery voltage. You now have the average power consumption per BLE advertisement. Create a graph showing this amount of power on the Y axis multiplied by the number of BLE advertisements on the X axis.

For example, if the average power per BLE advertisement is 250 microwatts, 10 BLE adverts would show 2.5 milliwatts, 100 adverts would show 25 milliwatts, etc.

The second requirement can be approached in the same fashion. Sample the current during the connect attempt and failure. Average this current. Mutiply by the voltage. Plot in the same fashion with connect attempts on the X axis.

There are lots of great resources on the Web that give simple explanations of the BLE protocol if you need a better understanding of the BLE mechanisms.

  • 2
    \$\begingroup\$ This answer actually mixes power and energy. 1 or 10 or 100 advertisements will not change power (W) but energy (Wh). \$\endgroup\$
    – jcaron
    Dec 24, 2018 at 9:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.