Zum Inhalt

BlueID Ready2Go implementation for Nordic nRF52832

BlueID Ready2Go implementation for Nordic nRF52832

Versions

BlueID GmbH developed a Ready2Go implementation for the nRF52832 module that enables the module to execute commands over Bluetooth Low energy (BLE).

BLE stack

SoftDevice v5.1.0

nRF5 SDK v14.2.0

BLE version Bluetooth 5
Pinout and used pins

Pin assignment is described in: 

Noridc Semiconductor Info Center

BlueID relevant pin description
Pin name Description
P0.06 UART TXD
P0.08 UART RXD
P0.07 UART CTS
P0.05 UART RTS
P0.20 Actuator Pin A
P0.19 Actuator Pin B
Specification data
RTC
  • RTC implementation

  • default timestamp by reset 01. 01. 2016

  • 20 ppm deviation (depending on external crystal)

Revocation Store
  • implemented in flash

  • up to 310 revocations

User access store
  • implemented in flash

  • up to 275 log entries

Configuration Store
  • implemented in flash

Initialization Data Store
  • implemented in flash

Serial DEBUG
  • only in debug mode available on UART0

Serial CMD port
  • only when debug disabled on UART0

RNG quality
  • TRNG

crypto
  • micro-ecc

Flash Map

For our BlueID Ready2Go implementation for the Nordic nRF52, we use this memory layout:

Firmware installation and update
JTAG/SWD
Prerequisites

To get a running BlueID installation on the nRF52, you need the following parts:

  • BlueID nRF52832 firmware package which consists of these parts:

    • the BlueID application including Nordic Semi S132 SoftDevice v5.1.0 and bootloader

    • the BlueID Customization data as BCF, provided by BlueID GmbH

  • BlueID Initialization data as BCF, generated by the BlueID Initializer tool

BlueID for nRF52832 only works if all three components were flashed!

The example calls will use the nRF5x Command Line Tools (macOS), their installation path is referred to as CLI_TOOLS_PATH (e.g.  "/opt/nRF5x-Command-Line-Tools/"). Also, we need a bin2hex conversion tool, a suitable is the one included in the Python IntelHex module.

Flash the BlueID nRF52832 firmware

Use the CLI tools to flash the BlueID nRF52832 firmware. The correct target address is already encoded in the hex file:

<CLI_TOOLS_PATH>/nrfjprog/nrfjprog -f nrf52 --sectorerase --program CustomizationData.<profile>.hex
<CLI_TOOLS_PATH>/nrfjprog/nrfjprog -f nrf52 --sectorerase --program nrf52-bootloader-softdevice-<version>.hex
<CLI_TOOLS_PATH>/nrfjprog/nrfjprog -f nrf52 --sectorerase --program nrf52-app-<version>.hex
Generate and flash the BlueID Initialization data

A sample call to the BlueID Initializer tool that uses a demo account on the integration environment and uses the Bluetooth Low Energy channel may look like this:

java -jar sdkforc-initializer.jar -a BT0QGQEOP00FKAIK5GRA -e INT --channel-btlespp

If successful, you will receive -- amongst other things -- a file ending with BCF. Before we can flash it, we have to convert it into the HEX format. Assuming the program bin2hex of the Python IntelHex module is available, apply this command:

bin2hex.py --offset=0x076000 LockServerConfiguration_<ID>.bcf LockServerConfiguration_<ID>.hex

Now we can flash this hex file using the CLI tools:

<CLI_TOOLS_PATH>/nrfjprog/nrfjprog -f nrf52 --sectorerase --program LockServerConfiguration_<ID>.hex

After all firmware components have been flashed to the device, restart the device:

<CLI_TOOLS_PATH>/nrfjprog/nrfjprog -f nrf52 --reset
Flash your favorite BlueID Customization data

For the nRF52, we supply two flavours that serve different demands:

Name Advertising interval Power consumption
low power 500 ms \< 35 µA
high performance 50 ms \< 303 µA

Each preset is delivered as a HEX file that will be flashed to the right address (0x077000) automatically. To flash it, use this command:

<CLI_TOOLS_PATH>/nrfjprog/nrfjprog --program blueid_nrf52_custom_<type>.hex -f nrf52 --sectorerase
Over the Air

See Over the air update section in Nordic nRF52 Family for description of OTA update process.

BlueID performance
Power consumption
DC/DC Mode

The DC/DC converter, which is disabled by default has been enabled to optimize power consumption since the nRF52832 module is continuously advertising for BLE.

When DC/DC is enabled, the nRF52832 device automatically switches between the LDO and DC/DC regulator based on the load to maximize efficiency. The switch operation is done by hardware, DC/DC mode gets turned on when the radio is enabled and goes off again when the radio gets disabled.

Two additional external passive components are required to use the DC/DC regulator. 

In order to match the power consumption figures for the power profiles, the DC/DC mode has to be enabled.

Test setup
  • DC power analyzer: Agilent N6705B power analyzer with a N6781A module.

  • Device Under Test (DUT): nRF52832 +  s132_nrf52_5.1.0_softdevice + nrf52-1.0-SNAPSHOT. 

  • DUT environment: PCA10040 v.1.10 Development kit.

  • Regulator: DC/DC Enabled

Power Profiles

For each BlueID Ready2Go implementation two profiles are available. They are tuned for different use cases.

Battery driven objects (low power optimized)

This configuration is optimized for saving battery life but still providing an outstanding reliability of the BLE command execution. Usually this is used for battery driven equipment like door handles and cylinders.

Adverting interval Transmission power Sleep mode Advertising mode Command execution
500 ms 0 dBm <1 µA < 35 µA 2.9 mA
Externally powered objects (speed optimized)

This configuration is optimized for fast connections from the smartphone to the lock resulting in faster opening. Usually this is used for powered objects like wall readers.

Adverting interval Transmission power Sleep mode Advertising mode Command execution
50 ms 4 dBm < 2 µA < 303 µA 2.9 mA
Certifications

For more details please refer to the Nordic Semiconductor website.

  • Bluetooth: The nRF52832 is Bluetooth qualified. The Bluetooth Qualified Design ID for nRF52832 (S123 v.5.1.0) is 103875.

  • CE: The manufacturer must self declare that the product complies with Radio Equipment Directive (RED) in order to mark it with CE logo. Nordic provides a white paper (http://infocenter.nordicsemi.com/pdf/nwp_010.pdf) which details the applied regulation. The nRF52832 module is compliant with those regulations (reference nRF52832_QFAAABA0_ETSI_report.pdf), although the manufacturer should self-declare its implementation to obtain a CE logo.

  • FCC: The manufacturer must certify with FCC to obtain an FCC identification number for ISM (Industrial, Scientific and Medical) band radios. Nordic provides a white paper (http://infocenter.nordicsemi.com/pdf/nwp_010.pdf) which details the applied regulation. The nRF52832 module is compliant with the certification tests (reference nRF52832_QFAAABA0_FCC_report.pdf) for its reference board.

Hardware Design Hints

When designing the hardware, we strongly recommend to take the following points into account

Available Modules
Tested Modules

These modules use the nordic nRF52832. We did not test them. They may need some software adaptions.

Brand Chip/Link BlueID
compatibility
Type used Chipset clock precision Tested Status
Laird tech BL652 yes module nRF52832 external XTAL required yes suggested
u-Blox Nina B1X yes module nRF52832 low: 20 ppm no
Telit BlueMod+S42 yes module nRF52382 external XTAL required no
InsightSIP ISP1507 yes chip-module nRF52832 clock not precise enough (40ppm) external clock required. no
Amber Wireless AMB2621 yes module nRF52832 external XTAL required no
Argenox Technologies LLC AGX-832 yes module nRF52832 external XTAL required no
More Modules

There are more available from other vendors. Have a look at https://www.nordicsemi.com/eng/Products/3rd-Party-Bluetooth-low-energy-Modules