I'm looking at making a remote control for a custom IoT device using Bluetooth low energy (BLE) and I want the battery in the remote to last a very long time (primary battery, non rechargeable) so I don't want the remote to draw power (at all) except when it's used.

My issue is that as a remote control Bluetooth usually takes a few seconds to pair once activated. Is there a way to mitigate that few seconds of lag? Everyone hates lag in a remote.

  • 2
    BLE still requires a pairing and that binding still takes a few seconds to do....Why not IR? That is instant with zero power drain in between uses. If your devices are close enough for BLE they are most likely close enough for IR -- unless you are going though walls or something. ..Cheaper too.
    – JD Allen
    May 15, 2018 at 18:40
  • I know this is a year old, but I don't have LoS to between receiver and transmitter, thanks though.
    – Josh Wales
    Jun 25, 2019 at 15:25

1 Answer 1


If two devices are already bonded and one of them is mains powered, you should be able to establish the connection in way less than 1 sec given that the mains powered device is constantly scanning or advertising, you're using directed advertisements, white listing, and low connection intervals in the first second.

Another option is to keep the connection alive at all times while maintaining a low latency. The maximum recommended supervisory timeout is 15 seconds, this means that the Central must receive a packet from the Peripheral at least every 15 seconds or else it will drop the connection. On the other hand you don't want to have a connection interval of 15 seconds, and that is when you use Slave Latency, this enables the Peripheral ignore X amounts of connection interval without losing the connection to its Central. So with a Connection interval of 500ms and a slave latency of 30 you will be asleep (15000-1)/15000 = >99.99% of the time and have 500ms latency when you do want to communicate.

I estimate <2µA average current to keep the connection alive. You will have to compare it with the average current consumption of an fast re-connection style, but I doubt that keeping the connection alive consumes more energy on average than re-connecting on demand.

  • I know this thread is stale, but thought I'd follow up. 1st, thanks for the great reply. 2nd, in your math above for 99.99% sleep time are you assuming 1ms of awake time for each re connection, which you'll only do every 15000ms? What if you wanted both devices to be on battery power?
    – Josh Wales
    Jun 25, 2019 at 15:31

Your Answer

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

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