This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE vs. custom protocol for power efficient computer input device

I'm designing a two-part computer input device: Part A will communicate with the computer over BLE, but it must also be able to forward along messages from Part B. Here's an illustration:
 
Computer <---BLE---> Part A <---???---> Part B

What would a power efficient strategy for them to communicate with each other? The data rate would be a few kilobytes / sec, but latency would need to be < 50ms when the device is being used.

My inclination is to use BLE, dynamically adjusting the connection interval to be shorter (to reduce latency when the device is being used) or longer (to save power, when the device is unused). But since I control both ends (nrf52 devices), are there any other protocols I should be considering? E.g., would Gazelle provide any benefit here?

This is my first wireless project, so I don't have any intuition about the marginal power reduction a custom protocol might provide over BLE. I already plan to use the DC/DC regulator and low frequency crystal on my design.

  • Hi,

    BLE was designed to be low power and fits most low power use cases. There are a few cases where it is not well suited, for instance, if you need very low latency, but that is not the case here. Using another protocol such as Gazell will note give you any significant increase in power efficiency, but would give you the additional complexity of using two protocols. So, based on what you have written, using BLE for both links seems like the best solution.

  • Thanks for the advice, we'll build our first prototype with BLE everywhere then. Just curious; at what latency requirement would we need to consider moving away from BLE? Below ~10 ms, since the minimum BLE connection interval is 7.5ms? What protocols would be recommended then? Thanks!

  • Hi,

    lynaghk said:
    at what latency requirement would we need to consider moving away from BLE? Below ~10 ms, since the minimum BLE connection interval is 7.5ms?

    Yes, somewhere around that number. 

    lynaghk said:
    What protocols would be recommended then?

    That depends on your needs. If you need pairing and frequency hopping, then Gazell is probably where you should look. If you just need a very simple way to send data without pairing or frequency hopping, then you could use enhanced ShockBurst. Both are supported in the nRF5 SDK.

Related