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 |
|
Revocation Store |
|
User access store |
|
Configuration Store |
|
Initialization Data Store |
|
Serial DEBUG |
|
Serial CMD port |
|
RNG quality |
|
crypto |
|
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
-
use a 10 ppm crystal
-
use module that allow an external 10 ppm crystal
-
or a time stability of 10 ppm by an internal crystal
-
-
enable the usage of the DC/DC regulator
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