Maximum BLE Throughput with IOS

This blog is to show the BLE throughput on difference users scenarios. I plan to show the maximum throughput on the real world, particular showing how fast the BLE communication with IOS devices. I would use 2 x nRF52840 DK for the central and peripheral bi direction communication and print out the live throughput. After … Continue reading Maximum BLE Throughput with IOS

Step by Step to Compile Nordic NRF5 HIDs Keyboard / Mouse Example on nRF Connect SDK

This blog is to describe how to compile and run the nRF5 HIDs Keyboard example from nRF Connect SDK. nRF Connect SDK The nRF Connect SDK is where you begin building low power wireless applications with Nordic Semiconductor nRF52, nRF53, and nRF91 Series devices. The nRF Connect SDK is moved to https://github.com/nrfconnect instead of https://github.com/nordicplayground/nrfconnect. … Continue reading Step by Step to Compile Nordic NRF5 HIDs Keyboard / Mouse Example on nRF Connect SDK

Service Change on BLE GATT Table

This blog is to describe about the Service Change handling on the BLE GATT. For example, there is a GATT Server at the BLE Peripheral Side. By using the service change indicator approach, it can force the host side to re-do the service discovery. Flow Diagram on the GATT Server with service discovery Service Change … Continue reading Service Change on BLE GATT Table

Over the air upgrade through Nordic nrfUtil

This blog is to introduce how to use the nRFUtil for Over The Air upgrade (OTA) in between host and device. I would focus on the BLE OTA only. It uses the nRF52 DK to connect to PC / Linux / MacOS. And then the nRFUtil tool would be the OTA host application. nRFUtil The … Continue reading Over the air upgrade through Nordic nrfUtil

Using External Flash to Store bonding info on nRF52 Series

This blog is to show how to use the external flash for storing the bonding information instead of using the internal flash. I would base on the Nordic SDK 16.0 and use the nRF52840 DK as the baseline to show how it works. By using the external flash for bonding storage, it can save at … Continue reading Using External Flash to Store bonding info on nRF52 Series

BLE HID Multiple Peripherl Example on Nordic nRF52 Series

This blog is to use Nordic nRF52840 as the BLE keyboard with multiple peripheral role. Those keyboard would connect to multiple mobile (BLE central) for demo. I would use the HOGP Keyboard example on this blog. HID over GATT Profile Specification (HOGP) This profile requires the Generic Attribute Profile (GATT), the Battery Service, the Device … Continue reading BLE HID Multiple Peripherl Example on Nordic nRF52 Series

How to Set the bandwidth on BLE Link Connection

In this blog, I would like to show how to configure the bandwidth on each BLE Connection. Throughput is always one of the hottest question on the BLE. How can the device get the maximum throughput? Also, how can the device configure each connection with difference bandwidth? Throughput For the Bluetooth 4.0/4.1, the theory of … Continue reading How to Set the bandwidth on BLE Link Connection

How to get the RSSI change on the nRF5 SDK

This blog is to show how to get the RSSI (Radio Signal Strength Indicator) on the nRF52 chipset. RSSI In telecommunications, received signal strength indicator (RSSI) is a measurement of the power present in a received radio signal. RSSI is usually invisible to a user of a receiving device. However, because signal strength can vary greatly and affect functionality in wireless networking, IEEE 802.11 devices … Continue reading How to get the RSSI change on the nRF5 SDK

BLE Scanning with Whitelist

This blog is to describe how to use the whitelist in order to improve the connection successful rate between central and peripheral at nRF52 series. The topic is covered as below: Describe about the nrf_ble_scan module Describe how to add the manufacturer specific filter inside the nrf_ble_scan moduleHow whitelist works with nrf_ble_scan module SCANNING MODULE … Continue reading BLE Scanning with Whitelist

How to Store the Custom Address, Device Name and Device ID on nRF52 Series

Following up the post (Description of UICR on NRF52 series) https://jimmywongbluetooth.wordpress.com/2019/08/19/manufacturer-storage-data-on-uicr-region/, I would like to describe how to use the UICR to store the custom BLE address, Device Name and Device ID in this blog. For example, as below table, there are list of the devices to have such configuration. Device Number # Device ID … Continue reading How to Store the Custom Address, Device Name and Device ID on nRF52 Series

Description of UICR on nRF52 Series

In this blog, I would describe the UICR region and how to use it in details. It covers the following topic: Memory Layout (Address) of the UICRRegisters in UICR (and each functionality)How to write / read / erase on the UICR by using the nrfjprog Dump flash / ram / registers Memory Layout The user … Continue reading Description of UICR on nRF52 Series

How to change the advertising payload on the fly

This blog is to show how to modify the advertising payload from time to time instead of stop / restart the advertising module. This demo is based on the SDK 14.2 / S132v5.1 with nRF52832 DK. The idea is to use pointer of the global buffer for the advertising data and scan response data. And … Continue reading How to change the advertising payload on the fly

Advertising Payload format on BLE

This blog is to describe more details on the advertising payload. The Packet data unit for the advertising channel (called the Advertising Channel PDU) includes a 2-byte header and a variable payload from 6 to 37 bytes. The actual length of the payload is defined by the 6-bit Length field in the header of the Advertising Channel PDU. https://www.argenox.com/library/bluetooth-low-energy/ble-advertising-primer/ Flags Advertising Data Type This … Continue reading Advertising Payload format on BLE

BLE Multiple Concurrent Role Example

Goal In this blog, I would share how to create the multiple role concurrently example on nRF5 SDK.  It would cover how to do the multiple peripheral role, single central role to connect multiple peripherals, combo example (2 x peripheral role + 2 x central role) concurrently.  This example is based on the Nordic NRF5 … Continue reading BLE Multiple Concurrent Role Example

Bluetooth 5 : Long Range + Advertising Extension on NRF52840

This blog is to describe how to use the nRF52840 for the Bluetooth 5.0 for advertising extension / long range. The Softdevice S140v6.1.1 has started to support the extended advertising and work with Coded PHY. Such as Extended Advertising support Advertising and scanning up to 255 bytes of advertising data in an advertising eventAdvertising, scanning, … Continue reading Bluetooth 5 : Long Range + Advertising Extension on NRF52840