Electronic – Choose between Bluetooth Low Energy advertizing and connection for low-power small-data application

bluetooth low energylow-power

I have several sensors running on coin batteries, which are supposed to send data to a central device periodically. The data size is small: the meaningful data should be a few bytes excluding the BLE packet overhead. The transmission period is long: it can be once per hour or even per several hours. I am using a Bluetooth Low Energy (BLE) module (BL600 from Laird) which has a nRF51822 SoC inside. The goal is to minimize the average power consumption since the sensors are supposed to run from battery for a long time (a year or so?). Obviously the BLE peripheral can send data either by advertizing or connection. I am not sure which is the way to go, and what factors I should consider in making the choice. Could anyone please advice?

Best Answer

If you data will fit into an advertising packet payload, then that is the lowest power possible way to get that data delivered to a receiver (or receivers). To send an atomic data set via advertising, you only need to send a single packet. A connection at very least would require a send followed by a receive.

You also indicate that you could go hours between data packets. With advertising, you can send your packets spontaneously as you like- as long as the receiver gets the packet when you do send it then the transfer is good.

Advertising packets are also much simpler to create. You could save processor cycles by laying out all the static parts of the packet in memory one and then very quickly updating only the dynamic data fields before a send.