Thesis Pte Ltd

  • 01 //

    About us
  • 02 //

    Services
  • 03 //

    Works
  • 04 //

    Blogs

One thesis

Copyright © 2022 Thesis Pte. Ltd. All Rights Reserved

OFFICE

34 Boon Leat Terrace #04-09A Singapore 119866

GET IN TOUCH

  • 01 //

    About us
  • 02 //

    Services
  • 03 //

    Works
  • 04 //

    Blogs

One thesis

Copyright © 2022 Thesis Pte. Ltd. All Rights Reserved

Blog

BLE introduction: Notify or Indicate

November 21, 2015
1 Mins read
What are the differences between Notify and Indicate? The short answer is that they both basically do the same thing, except Indicate requires acknowledgement, while Notify does not. For the longer answer, please read the rest of my post. By default, you cannot push data to your remote client whenever your Bluetooth low energy (BLE) device has new data to publish. If you read my previous post, you will know that you need to enable the proper permission and include a "Client Characteristic Configuration Descriptor" (CCCD) for that to happen. Not forgetting, your remote client must subscribe to the attribute via the CCCD to receive the pushed data. Typically, people push data when they want their remote client to asynchronously receive updates whenever their BLE device has new data. While you can perform a periodic polling, the method wouldn't be very energy efficient and you will not get the quickest update (this depends on your polling rate). Also your BLE device might get updates in an aperiodic fashion, so periodic polling is an utter waste of energy. Furthermore, polling requires two-way communication and Notify is one way, so you will save on radio airtime which would lead to further energy reduction. However, because Notify is unacknowledged, it is unreliable since you will not know whether your remote client has received the data. To rectify that, let me introduce the Indicate feature. It is almost the same as Notify, except it supports acknowledgment. Your remote client will have to send an acknowledgement if it has received the data. However, such reliability comes at the expense of speed since your BLE device will wait for the acknowledgement until it has timed out.

Conclusion

20151121-pro-con-notify-vs-indicate For most use cases, I would recommend you start with Notify until you find out in your test environment that data is dropping out, then you move into Indicate. In any case, Indicate might take up additional airtime, but it shouldn’t drastically affect your use case. If the communication speed of Indicate is bordering your requirement, then perhaps you should be looking at alternative wireless technologies because BLE is not meant for high-speed communication.
Read more
Heartrate monitoring in wearable design
May 23, 2019
4 Mins read

Introduction A very noticeable feature in modern wearables and smartwatches these days is the presence of an optical photoplethysmograph (PPG) heart-rate sensor. PPG is a non-invasive method of measuring the variation in blood volume in tissues using a light source and a detector. In this article, we will talk about some component-level heart-rate measurement (HRM) […]

Read more
Ingress Protection Codes and Ratings
March 7, 2018
3 Mins read

Ingress Protection Codes and Ratings Regardless of how smart your electronics are, they need protection against the elements and daily handling, which comes in the form of an enclosure that provides mechanical and/or water protection. Some recent notable devices are the water-resistant Samsung Galaxy S8, iPhone X and wearables such as the Apple Watch Series […]

Read more
Effects of EM radiation on the human body from nearby communication devices
July 18, 2017
4 Mins read

There is increasing public concern that adverse health effects may arise from exposure to radiofrequency (RF) sources, particularly due to the increasing use of mobile and wearable devices with growing radio-communication capabilities such as GSM, Wi-Fi, and Bluetooth. This is particularly true with wearables, which are usually worn on the body and sometimes in direct […]