BL654 Series Bluetooth Module with NFC

Recommended for New Design (RND)

Overview

March 2021 – Added 802.15.4 certification for FCC/ISED/EU!

Building on Laird Connectivity’s expertise with Nordic from the BL600 and BL652 series comes the most powerful yet -the BL654 series! It provides OEMs with the maximum design flexibility and performance. A complete multi-protocol embedded wireless offering with exceptional processing capability, all at a micro power budget. Powered by Nordic’s nRF52840 silicon, the small form factor BL654 modules, DVKs and USB Dongle provide for a secure, robust BLE and Cortex -M4F CPU for any OEM’s product design. The BL654 provides you with maximum development flexibility with programming options for the Nordic SDK, a simple, intuitive AT Command Set, as well as Laird Connectivity’s own smartBASIC environment.

The BL654 series brings out all nRF52840 hardware features and capabilities including USB access, up to 5.5V supply considerations, and 802.15.4 (Thread) implementation. Complete regulatory certifications enable faster time to market and reduced development risk completes Laird Connectivity’s simplification of your next Bluetooth design!

 

Secure, Efficient, and Optimized

  • Bluetooth 5.1 & Thread (802.15.4) - Bluetooth Low Energy (BLE) plus NFC, featuring Nordic nRF52840

  • Widest Range of Configurable Interfaces - UART, I2C, SPI, ADC, GPIO, PWM, FREQ, USB, and NFC

  • 2Mbps & LE Long Range - Support for 2Mbps, 1Mbps, & 125kps coded

  • Hostless Operation with Powerful Core - Internal MCU reduces BOM and Cortex-M4F (1Mbit Flash, 256k RAM)

  • Application Design Choice - Leverage Laird Connectivity’s smartBASIC, simple AT Command Set or utilize Nordic SDK directly

  • USB Dongle Option - Packaged USB Adapter – bring full Bluetooth 5.1 connectivity to ANY device with a virtual COM port capability

Specifications

Bluetooth Version
5.1
Chipset
Nordic nRF52840
Antenna Options
Integrated (451-00001, 451-00003) or External via IPEX MH4 (451-00002)
BLE Connections
20
BT Class
1
Central Role
Yes
Certifications
FCC, ISED, EU, MIC, AS-NZS, Bluetooth SIG
Compliance
RoHS, REACH
Development Tools
Utilities include UWTerminalX, Android and iOS applications with free source code, UART firmware upgrade
Dimension (Height - mm)
2.2 mm
Dimension (Length - mm)
15 mm
Dimension (Width - mm)
10 mm
Dual Mode
No
Link Budget
103 dB @ BLE 1 Mbps (conducted)
Logical Interfaces
UART, I2C, SPI, ADC, PDM, GPIO, USB
NFC
Yes
Operating Temp (Max) (°C)
85 °C
Operating Temp (Min) (°C)
-40 °C
Peripheral Role
Yes
Processor On Board
Cortex M4F
Programming Options
smartBASIC, Nordic SDK, or simple AT Command Set
Receive Sensitivity
-95dBm (1mpbs)
Stack On Board
Yes
Transmit Power
8 dBM (max.) Configurable down to -40 dBm
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Bulk or Single Type
451-00001 Embedded Module Bluetooth 5.1, Single Mode (BLE), NFC, 802.15.4 / Thread / Zigbee Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 Internal Serial, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM, USB 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz Bulk - Tape/Reel Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Bulk or Single Type
451-00001C Embedded Module Bluetooth 5.1, Single Mode (BLE), NFC, 802.15.4 / Thread / Zigbee Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 Internal Serial, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM, USB 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz Bulk - Cut Tape Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Antenna Options Bulk or Single Type
451-00002 Embedded Module Bluetooth 5.1, Single Mode (BLE), NFC UwTerminalX (Windows/Linux/Mac), Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 External UART, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz IPEX MHF4 Bulk - Tape/Reel Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Antenna Options Bulk or Single Type
451-00002C Embedded Module Bluetooth 5.1, Single Mode (BLE), NFC, 802.15.4 / Thread / Zigbee Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 External Serial, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM, USB 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz IPEX MHF4 Bulk - Cut Tape Module
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Bulk or Single Dimension (Height - mm) Dimension (Length - mm) Dimension (Width - mm) Programming Options Type USB
451-00003 USB Adapter Bluetooth 5.1, Single Mode (BLE), 802.15.4 / Thread / Zigbee smartBASIC, AT Commands Hostless Nordic nRF52840 Internal Serial (UART) 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz Single 11 mm 50.74 mm 18.39 mm smartBASIC, AT Command Set, (Nordic SDK not supported) Pluggable USB Adapter FTDI Based - Virtual COM Port
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Min) Frequency Range 2 (Max) Bulk or Single Dimension (Height - mm) Dimension (Length - mm) Dimension (Width - mm) Programming Options Type
451-00004 USB Adapter Bluetooth 5.1, Single Mode (BLE), 802.15.4 / Thread / Zigbee Nordic SDK, Zephyr Hostless Nordic nRF52840 Internal Serial (USB) 2402 MHz 2480 MHz 13.56 MHz 13.56 MHz Single 11 mm 50.74 mm 18.39 mm Zephyr / Nordic SDK Pluggable USB Adapter
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Max) Bulk or Single Type
455-00001 Development Kit Bluetooth 5.1, Single Mode (BLE), NFC, 802.15.4 / Thread / Zigbee Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 Internal Serial, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM, USB 2402 MHz 2480 MHz 13.56 13.56 MHz Single Development Board
Product Type Technology OS/Software System Architecture Chipset (Wireless) Antenna Type Logical Interfaces Frequency Range (Min) Frequency Range (Max) Frequency Range 2 (Max) Antenna Options Bulk or Single Type
455-00002 Development Kit Bluetooth 5.1, Single Mode (BLE), NFC, 802.15.4 / Thread / Zigbee Nordic SDK, smartBASIC, AT Commands, Zephyr Hostless Nordic nRF52840 External Serial, GPIO, ADC, I2C, SPI, PCM, I2S, NFC, PWM, USB 2402 MHz 2480 MHz 13.56 13.56 MHz IPEX MHF4 Single Development Board

Photo Gallery

451-00001

451-00001C

451-00002

451-00002C

451-00003

455-00001

455-00002

451-00004

Certified Antennas

  • mFlexPIFA Antenna

    EFA2400A3S-10MH4L

    mFlexPIFA Flexible Adhesive-Backed PIFA Internal Antenna

    FlexPIFA antenna for metal mounting with minimal detuning. 2.4 GHz and dual-band 2.4/5.5 GHz with 2 dBi of gain. 

    Learn More
  • FlexPIFA 6E - Wi-Fi 6E Antenna

    001-0022

    FlexPIFA / FlexPIFA 6E Flexible Adhesive-Backed PIFA Internal Antenna

    Industry-first, flexible, planar inverted-F antenna for curved surfaces 2.5-3 dBi gain. 2.4 GHz, dual-band 2.4/5 GHz and Wi-Fi 6E 2.4/5/6 GHz.

    Learn More
  • FlexNotch Antenna

    001-0023

    FlexNotch 2.4 GHz Antenna
    Learn More
  • NFC Flex PCB Antenna

    0600-00061

    NFC Flex PCB Antenna
    Learn More

Become a Laird Connectivity Customer and Gain Exclusive Access to Our Design Services Team

  • Antenna Scans
  • Antenna selection and placement
  • Custom antenna design
  • Worldwide EMC testing / certifications
  • Embedded RF hardware / firmware design
  • Cloud architecture and integration
  • Mobile application development
  • Product & Industrial Design

Talk to an Expert

Documentation

Name Part Type Last Updated
Product Brief - BL654 Series All Product Brief 02/04/2020
Product Brief - BL654 USB for Nordic SDK / Zephyr All Product Brief 05/27/2021
Product Brief - BL654 USB with smartBASIC All Product Brief 05/27/2021
Datasheet - BL654 All Datasheet 02/18/2021
User Guide - BL654 USB with smartBASIC All Documentation 05/18/2021
User Guide & Quick Start Guide - BL654 DVK All Documentation 05/18/2021
User Guide - smartBASIC Core Functionality v3.4 All Documentation 06/22/2020
BL654 smartBASIC Extensions Guide v29.1.1.0 All Documentation 08/15/2019
BL654 smartBASIC Extensions Guide v29.2.2.0 All Documentation 08/15/2019
BL654 smartBASIC Extensions Guide v29.3.3.0 All Documentation 08/15/2019
Quick Start Guide - BL65x AT Interface All Documentation 02/12/2021
Throughput Testing with BT 5 - LE 2M PHY Feature v1 0.pdf All Application Note 01/17/2019
Using the DVK-BL654 and Nordic SDK v1 0.pdf All Application Note 01/17/2019
Using vSP Service with smartBASIC v1 0.pdf All Application Note 01/17/2019
BLE Data Transfer - CODED PHY Modulation - BL654 v1 0.pdf All Application Note 01/17/2019
Application Note - Using Direct Test Mode - BL654 All Application Note 07/21/2021
Textpad Color Syntax Highlighting - BL654 v1 0.pdf All Application Note 01/17/2019
Upgrading BL654 Firmware via UART - BL654 v1 0.pdf All Application Note 01/17/2019
Upgrading BL654 Firmware via JTAG - BL654 v1 0.pdf All Application Note 01/17/2019
Using BL654 DVK with Nordic nRFToolbox v1 1.pdf All Application Note 01/17/2019
Using Notepad and Color Syntax Highlighting - BL654 v1 0.pdf All Application Note 01/17/2019
Low Power Modes - BL654 v1 1.pdf All Application Note 01/17/2019
NFC Manager - BL654 Sample smartBASIC Application v1 0.pdf All Application Note 01/17/2019
Laird Range Testing - BL654 v1.1.pdf All Application Note 09/16/2019
Exiting DTM Mode - BL654 v1 0.pdf All Application Note 01/17/2019
Loading and Running Applications with UwTerminalX - BL654 v1 1.pdf All Application Note 01/17/2019
NEW - BLE Mesh – BL654 smartBASIC Implementation - MESH310_8 r1 All Application Note 06/10/2019
RoHS 3 - Bluetooth All Certification 11/10/2020
Getting Started with the BL654 Dongle (smartBASIC variant) v1_1 All Documentation 06/10/2019
CS-RN-BL654-v29.1.1.0.pdf All Documentation 01/17/2019
PCB Footprint for ASCII and DXF format - BL654.zip All Technical Drawings 10/13/2020
SCH Symbol for OrCAD format - BL654.zip All Technical Drawings 01/17/2019
BL654 Firmware v29.2.2.0 r0.zip All Software 01/17/2019
3D Models - BL654.zip All Technical Drawings 01/17/2019
Mechanical Schematic - BL654 Series.pdf All Technical Drawings 01/17/2019
Host Land Pattern Schematic - BL654 Series.pdf All Technical Drawings 01/17/2019
Schematics - DVK-BL654 v1.0.pdf All Technical Drawings 01/17/2019
Application Note - Laird Custom BLE Serial Port Service All Application Note 01/17/2019
BL654 FIrmware for Upgrade v29.1.1.0 r0 All Software 01/17/2019
NEW - BL654 Firmware For Upgrade v29.3.31.8-MESH310-8 r1 All Software 06/10/2019
BL654 Firmware for Upgrade v29.3.3.0 r0 All Software 01/17/2019
BL654 Firmware for Upgrade v29.3.5.0 All Software 08/15/2019
Application Note - Guidelines for Replacing Antennas v1.0 All Application Note 01/17/2019
PCN 4B-2019 - BL654 Series All Documentation 04/24/2019
MIC Certifications - BL654 Module All Certification 12/14/2020
FCC Certifications - BL654 Module All Certification 03/15/2021
AS/NZS Certifications - BL654 Module All Certification 12/11/2020
EU Certifications - BL654 Module All Certification 01/13/2021
ISED (Canada) - Certifications - BL654 Module All Certification 03/15/2021
User Guide - BL654 USB for Nordic SDK / Zephyr All Documentation 07/23/2020
BL654 smartBASIC Extensions Guide v29.3.5.0 All Documentation 08/15/2019
Application Note - Creating a Secure Bootloader Image (BL654-USB) All Application Note 10/01/2019
Application Note - Using the BL654 and Nordic SDK v16.0.0 with Eclipse and GCC All Application Note 11/27/2019
BL654 smartBASIC Extensions Guide v29.4.6.0 All Documentation 03/20/2020
BL654 FIrmware for Upgrade v29.4.6.0 r0 All Software 12/09/2019
Application Note - Bootloader UART Protocol - BL6xx All Application Note 07/13/2021
Datasheet - NFC Flex PCB Antenna All Documentation 06/18/2021
CAD Files - 451-00003 (USB Adapter - smartBASIC) All Technical Drawings 04/17/2020
CAD Files - 451-00004 (USB Adapter - Nordic/Zephyr) All Technical Drawings 04/17/2020
User Guide - Repeater/Gateway Application v1.1 All Documentation 04/22/2020
UwTerminalX – Serial Terminal Utility All Software 04/27/2020
UwFlashX – Serial Firmware Update Utility All Software 04/27/2020
Application Note - Using UART Efficiently to Extend Battery Life (BL65x) All Application Note 06/04/2020
BL654/BL654PA Firmware for Upgrade v29.4.6.6 r1 All Software 07/29/2021
Application Note - How to Set Up vSP Service - BLxx All Application Note 07/31/2020
DoC - BL654 Bluetooth USB Adapter All Certification 08/13/2020
PCN 9A-2020 - BL654 Series All Documentation 09/23/2020
AS/NZS Certifications - BL654-USB All Certification 12/14/2020
EU Certifications - BL654-USB All Certification 12/14/2020
FCC Certifications - BL654 Dongle All Certification 12/14/2020
ISED (Canada) - BL654-USB All Certification 12/14/2020
BL654/BL654PA Firmware for Upgrade v29.5.7.2.r2 All Software 01/15/2021
Release Notes - BL654/BL654PA v29.5.7.2 r0 All Documentation 01/18/2021
User Guide - BL65x AT Interface Application All Documentation 04/21/2021
Regulatory Information - BL654 All Certification 05/20/2021
BL654/BL654PA smartBASIC Extensions Guide v29_5_7_2 All Documentation 03/26/2021
Application Note - BL654 Bluetooth v5 Adapter as a BLE Sniffer All Application Note 02/04/2021
Altium - PCB Footprint & SCH Symbol Files - BL654 All Technical Drawings 03/02/2021
smartBASIC Applications Migration Guide - BL65x All Documentation 03/09/2021
FCC/ISED/EU Modular Approval (C2PC) - 802.15.4 (March 2021) All Certification 03/16/2021
Regulatory Information - BL654-Dongles All Certification 03/23/2021
ISED ICES-003 Issue 7 Declaration of Compliance All Certification 05/18/2021
Application Note - GATT Table with AT Interface Application All Application Note 06/09/2021

FAQ

Online Xcompiler is not accessible is there a way to Xcompile a smartBASIC Application locally when using UwTerminalX?

If you are having issues using the Online Xcompilers it could be related to security settings in your system which may be blocking access to the Online Xcompilers. If you are not able to resolve this it is possible to Xcompile locally by following the steps below:

  1. Disable (uncheck) the Online XCompilers on the Config Tab in UwTerminalX as shown below:
  2. Locate the Xcomp_mmmmm_xxxx_xxxx.exe file in the firmware zip folder (downloaded from module's Product Page) for the version of firmware loaded to the module.
    Note: the Xcomp version MUST match the firmware version loaded to the module or the application will not compile.
    mmmmm = module
    xxxx_xxxx =Xcomp version
  3. Copy or Move the Xcomp_mmmmm_xxxx_xxxx.exe to the same folder the smartBASIC application is stored in as shown below:

You should now be able to Xcompile the application using UwTerminalX by right-clicking in the terminal and selecting one of the Xcompile options :

  • Xcompile
  • Xcompile+Load
  • Xcompile+Load+Run

Select the application from the folder where the Xcomp file is located. UwTerminalX will now look for the local Xcompiler in the application folder.

What is the easiest way to change the advertised Device Name in a smartBASIC Application?

Changing the advertised device name is accomplished using three different functions prior to calling the BleAdvertStart () function.

First, the BleGapSvcInit () function is used to change the device name from the default, Laird [BL600 | BT900], to the desired device name.
Next, the BleAdvRptInit () funtion must be called to create and initialize the advert report with the new device name.
Finally, the BleAdvRptsCommit () function must be called to commit the changes.

Below is an example of a simplified smartBASIC app which changes the default device name to "My Device":
 

//******************************************************************************
// Laird Connectivity
// Rikki Horrigan
//******************************************************************************

//******************************************************************************
//Definitions
//******************************************************************************

//******************************************************************************
//Global Variable Definitions
//******************************************************************************
dim rc     //result code
dim nameWritable
dim nAppearance
dim nMinConnInterval
dim nMaxConnInterval
dim nSupervisionTout
dim nSlaveLatency

//******************************************************************************
// Initialize Global Variable
//******************************************************************************
nameWritable = 0 //The device name will not be writable by peer.
nAppearance = 1091 //Device will apear as Walking sensor on hip (org.bluetooth.characteristic.gap.appearance.)
nMinConnInterval = 500000 // must be smaller than nMaxConnInterval.
nMaxConnInterval = 1000000 //must be larger than nMinConnInterval
nSupervisionTout = 4000000 //Range is between 100000 to 32000000 microseconds (rounded to the nearest 10000 microseconds)
nSlaveLatency = 0 //value must be smaller than (nSupervisionTimeout/nMaxConnInterval)-1

//******************************************************************************
//Functions & Subroutines
//******************************************************************************

//ERROR HANDLER
SUB assertRC(rc, line)
  IF rc != 0 THEN
    PRINT "\nError on line ";line;", code: ";INTEGER.H'rc
  ENDIF
ENDSUB

// Change Device Name

FUNCTION OnStartup()
print "Default Device Name: "; BleGetDeviceName$ ();"\n"
dim deviceName$ //declare variable for DEVICENAME
deviceName$= "My Device" //Set new DEVICENAME
rc = BleGapSvcInit (deviceName$, nameWritable, nAppearance, nMinConnInterval, nMaxConnInterval, nSupervisionTout, nSlaveLatency )
print "\n New Device Name: "; BleGetDeviceName$ (); "\n"

//Create and Initializing the Advert Report (not advertised until BLEADVRPTSCOMMIT is called)
dim adRpt$ //advert report
adRpt$ = ""
rc = BleAdvRptInit(adRpt$, 2, 0, 16)

//Commit the advert report
dim scRpt$ //scan report
scRpt$ = ""
rc = BleAdvRptsCommit(adRpt$,scRpt$)

//Start Advertising
dim addr$
addr$ = ""
rc = BleAdvertStart(0,addr$,100,0,0)

ENDFUNC 1 // Remain in WAITEVENT
//******************************************************************************
//Handler Definitions
//******************************************************************************

//******************************************************************************
//OnEvent Statements
//******************************************************************************

//******************************************************************************
//Equivalent to Main() in C
//******************************************************************************
rc = OnStartup()

Waitevent

Can a BL65x firmware be updated OTA?

OTA firmware updates are not available for the BL65x modules. While smartBASIC programs (e.g. hello.world.sb) can be uploaded OTA, Laird firmware version (e.g. v28.9.6.0) updates can only be done over JTAG or UART.

Can I use USB on the BL654 if I'm using smartBASIC?

No, USB functionality was not built in to smartBASIC but all other peripherals are supported. You will need to use the Nordic SDK or Zephyr for your application development if USB is required.

Can I write/encode an NFC tag using the BL65x?

The NFC capability of the BL652 is NFC-A Listen Mode, Type 2. It is exposed as a passive interface. Therefore, the BL652 NFC functionality currently allows for read-only (type 2) tags which can be read from an Active NFC reader, such as a smartphone or Arduino-based shield. It is not able to write or encode external tags.

More information on NFC capability on the BL652 can be found in section 7.1, "Near Field Communication (NFC) on page 314 of the BL652 smartBASIC Extensions User Guide

For the BL654, more information can be found in section 6.1 on page 344 of the BL654 smartBASIC Extensions User Guide

Do BL65x modules support Boundary Scan function?

Unfortunately, we do not offer Boundary Scan functionality on the BL65x modules.


We do understand it is harder to place and recommend during development the use of an X-ray or some other means to verify to soldering process.

Is it safe to run a Laird Connectivity Bluetooth module through a PCBA wash cycle?

In general, cleaning the populated modules is strongly discouraged. Residuals under the module cannot be easily removed with any cleaning process. 

  • Cleaning with water can lead to capillary effects where water is absorbed into the gap between the host board and the module. The combination of soldering flux residuals and encapsulated water could lead to short circuits between neighboring pads. Water could also damage any stickers or labels.
  • Cleaning with alcohol or a similar organic solvent will likely flood soldering flux residuals into the RF shield, which is not accessible for post-washing inspection. The solvent could also damage any stickers or labels.
  • Ultrasonic cleaning could damage the module permanently.

However, if water washing is required you will need to use deionized water. We do not recommend chemical cleaning and cannot guarantee it will not damage the modules. If you MUST clean PCB with chemicals it is recommended that you test on one board and then confirm the module still works after the process, prior to adding it to production, while understanding the above affects washing the populated PCBs can have on the module.

How can BL65x module or dongle be used to receive data from a custom service running on another device?

Several Sample Applications are available from the corresponding BL65x-Applications folder on Laird Connectivity's GitHub repository, including an AT Interface sample application.  The AT Interface sample application enables a quick way to configure a smartBASIC BL65x module using the commands available in the AT Interface User Guide to scan, connect, read the GATT table and receive data from the connecting device via the appropriate UUID for the custom service. We recommend referencing the AT Interface Quick Start Guide v1 0.pdf to get started with the AT Interface Application, which walks you through loading the application and a few of the basic commands, including initiating a vSP connection, (vSP is Laird's custom Serial UART application.) A non-vSP connection can be established using AT+LCON  as per page 21 of the AT Interface User Guide.

Alternatively, a custom smartBASIC central application could be developed and loaded to the dongle to connect with the custom service by referencing the Core Functionality smartBASIC and modular Extension User Guides available on the corresponding Product Page for the module, for example:

User Guide - smartBASIC Core Functionality v3.4
BL654 smartBASIC Extensions Guide v29.4.6.0

Please note: the BL654 dongle comes in two variants, smartBASIC variant (451-00003) and Nordic/Zephyr variant (451-00004). If electing to work with the smartBASIC firmware and example applications available on the GitHub repository it will be necessary to purchase the 451-00003 smartBASIC variant, as smartBASIC applications cannot be loaded to the 451-00004 Nordic/Zephyr variant.

Is there protection from Hacking when using smartBASIC modules?

Our Bluetooth 5.0 smartBASIC modules (BL652, BL653, BL654) have the capability of supporting LE Secure Connections Pairing as well as encryption. LE Secure Connection is an enhanced security feature introduced in Bluetooth v4.2. It uses a Federal Information Processing Standards (FIPS) compliant algorithm called Elliptic Curve Diffie Hellman (ECDH) for key generation. 
 
LE Secure Connections, supports four association models: 

  • Just Works
  • Numeric Comparison (Only for LE Secure Connections)
  • Passkey Entry
  • Out of Band (OOB)

Additional information about LE Secure Connections and the models can be found here: www.bluetooth.com.
 

Our Bluetooth 4.0 smartBASIC modules (BT900 /BL600 /BL620) support Simple Secure Pairing and Encryption 
Additional information about Simple Secure Pairing can be found here:
lairdconnect.com/resources/newsroom/secure-ble-pairing-iot
lairdconnect.com/resources/white-papers/ble-and-lairds-bl6x0-series-bt900-modules-guide-security-and-privacy
 
We recommend reviewing the Pairing, Bonding and Security Manager functions in the BL6xx/BT900 smartBASIC Extensions User Guides. The full security of the Bluetooth/Bluetooth Low Energy connection will depend largely on how the smartBASIC application is written, and what the input/output capabilities are of the devices that are connecting. If either device will not have any input/output capabilities then pairing will have to default to Just Works, which is the least secure pairing method. However there are additional layers of security that can be added to increase protection from hacking when the Just Works pairing model is used.

With Bluetooth Low Energy, to further secure the connection, it is recommended that the metadata for the characteristic attributes are configured for Encryption with man-in-the-middle protection for characteristic value access. This will prevent anyone from accessing data on the module without proper encryption keys. (See BleAttrMetadataEx in the BL6xx/BT900 smartBASIC Extensions User Guides.) Additionally, when using Just Works pairing, or any time additional security is required, we recommend adding a challenge/response question to the application layer, with a timer, which expects the connecting device to respond to the challenge question in a specified period of time after a connection has occurred. If the correct response is not received within that time period the application would force a disconnection. Finally, whisper mode pairing can be used during the pairing process as an additional layer of security. This is accomplished by reducing the Tx power while pairing using BleTxPwrWhilePairing as per the BL6xx/BT900 smartBASIC Extensions User Guide, which will reduce the radius which a hacker would need to breach in order to capture or spoof the encryption procedure.

How do I set parity on the BL65x?

Setting parity is not possible using smartBASIC on the BL652 and BL654. However, setting parity is supported when working with the Nordic SDK. Therefore, if parity setting is required, the module will have to be programmed using the Nordic SDK and the Nordic examples instead of Laird's smartBASIC examples.

Please refer to the Using the DVK-BL652 and Nordic SDK v14.0.0 with Eclipse & GCC or the Using the BL654 and Nordic SDK v16.0.0 with Eclipse and GCC  application note for assistance in setting up the BL652-DVK or BL654-DVK using the Nordic SDK. Please note that Nordic examples work with the external crystal as the clock source. The DVK-BL652 uses the internal RC Oscillator as the clock source, therefore if you will not be fitting the low frequency external crystal please be sure to modify the Nordic examples as explained in the above application note. You may also wish to refer to the BL652 Dev Kit User Guide or the BL654-DVK User Guide & Quick Start Guide

The BL654 Dongle is not presenting as a Bluetooth Adapter

The BL654 is a stand-alone Bluetooth dongle with its own Bluetooth stack - it does not rely on the host stack and should present as a USB Serial COM Port or nRF52 SDFU USB COM port under Ports in Device Manager depending on which variant of the dongle was purchased.

smartBASIC variant (451-00003)

The 451-00003 will need to be programmed with a smartBASIC application in order to configure it for BLE operations.

Nordic/Zephyr variant (451-00004)

The 451-00004 will need to be programmed with a Nordic or Zephyr application in order to configure it for BLE operations.

Additional documentation for programming the dongle is available from the BL654 Product Page.

Do you have a smartBASIC example for Android or iOS devices such as smartphones or tablets?

smartBASIC is a programming language developed for our BT900 and BL6xx modules to simplify the code required for programming them. It is not used for developing Android or iOS device applications. BLE applications for Android and iOS devices would need to written in code specific to the Android or iOS platform.

Our, Laird Toolkit Application available for iOS and Android is currently in the process of being updated for Android and iOS to work with newer OS platforms.
Once it is complete we expect to make the source code available, to customers working with our smartBASIC modules, for reference when developing Apps for these platforms.
As of the writing of this FAQ the current version of the Laird Toolkit is still available on the App store for iOS and Google Play for Android, however, it may not work with newer versions of iOS or Android until the updates have been made.
Google Play Store
Apple Store

An alternate resource, the Nordic nRF Toolbox is also available from the iOS App Store and Google Play. The source code for this application is available from Nordic's Website.
nRf Toolbox
Android
iOS

How can I connect a Bluetooth Low Energy Device to a PC?

Bluetooth Low Energy uses Services as opposed to the set of standardized profiles that exists for Classic Bluetooth. While some Bluetooth Low Energy services have been standardized by the Bluetooth SIG, the development of custom services is allowed to meet custom application requirements.
 
Because Bluetooth Low Energy uses a completely different protocol than Classic Bluetooth and supports custom services, Bluetooth Low Energy devices cannot connect to a computer through the typical Bluetooth configuration of a computer. Therefore, connecting to a PC requires writing and running a Bluetooth Low Energy Central Role/Client application to collect the data sent from the Bluetooth Low Energy peripheral modules. Application development for PCs and Mobile devices is outside the scope of our support. Alternatively, a BL654 USB dongle could be used as a BLE Central Role device, to collect the BLE data and pass it to the PC over a COM Port. However, you would still need an application to view and process the data received over that COM Port.
 
We generally recommend customers who are new to Bluetooth Low Energy obtain a copy of Getting Started with Bluetooth Low Energy to help them understand the Bluetooth Low Energy protocol and the GATT table. There are also many resources available online which explain this. 

When Bluetooth Low Energy was first introduced and we launched our BL6xx product line (predecessors to the BL65x series) we produced the BL600 and BL620 smartBASIC Application Walkthrough document, which provides an overview of how Bluetooth Low Energy works and how a GATT table is constructed. 

How do you change the BAUD rate in the AT Interface Application for BL65x smartBASIC modules?

The default baud rate in the AT Interface application is 115200. In order to change the baud rate within the AT Interface code there are two modifications required in the AT Interface files as shown below:

  1. Locate the following settings within the $autorun$.AT.Interface.BL652._.sb file which sets the baud to 115200 (highlighted):
    #define SREGINIT_VAL32_0 "\4C\1D\00\00\98\3A\00\00\00\C2\01\00\00\20\00\00\01\20\00\00"
    #define SREGINIT_MIN32_0 "\4C\1D\00\00\4C\1D\00\00\B0\04\00\00\01\00\00\00\01\00\00\00"
    #define SREGINIT_MAX32_0 "\1E\04\3D\00\1E\04\3D\00\40\42\0F\00\FF\FF\00\00\FF\FF\00\00"

     
    Modify the settings to set the Hex value for the desired BAUD rate in little endian format
    The example below will set it to 9600 baud (0x00 0x00 0x25 0x80)  as shown below (highlighted)
    #define SREGINIT_VAL32_0 "\4C\1D\00\00\98\3A\00\00\80\25\00\00\00\20\00\00\01\20\00\00"
    #define SREGINIT_MIN32_0 "\4C\1D\00\00\4C\1D\00\00\B0\04\00\00\01\00\00\00\01\00\00\00"
    #define SREGINIT_MAX32_0 "\1E\04\3D\00\1E\04\3D\00\40\42\0F\00\FF\FF\00\00\FF\FF\00\00"
  2. Locate the settings for S Register 302 in the $LIB$.SRegInterface.sb file: Modify the settings in #cmpif 0x00010000 : rc=BleEncode32(SregCache32$[0],115200,offset) to set the baud rate to the desired baud rate.

 

How do I exit autorun on the BL654 dongle?

To exit an autorun application on the BL654 dongle, navigate to the "Config" tab and select "BL654 USB Dongle - Exit autorun" from the options at the top of the page (see below). This will enable you to put the dongle back into Interactive Command Mode while an autorun application is loaded to the dongle.

This option is only available in the SSL version of UwTerminalX. If you do not see this option, please download the SSL version of UwTerminalX which can be found on Github. https://github.com/LairdCP/UwTerminalX/releases

Is BT 5.0 extended range feature related to higher power on newer modules like BL654, Sable X-R2?

Actually the extended range is achieved with slower transmission bit rate which let the radio emissions can be correctly received at a longer range. This data rate is reduced.

Can I load a smartBASIC application to the BL654 451-00004 dongle?

The 451-00004 is the Nordic/Zephry variant of the BL654 Dongle It was intended for developers who prefer working with Nordic SDK or Zephyr Project, or those who may already have an application developed on one of these platforms.

It is does not support the smartBASIC firmware and therefore smartBASIC applications cannot be loaded to it. Please reference the following documents available from the BL654 Product Page https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetoo… for additional information about getting started with 451-00004 BL654 Dongle.

Product Brief - BL654 USB for Nordic SDK / Zephyr
Quick Start Guide - BL654 USB for Nordic SDK / Zephyr

Both Nordic and Zephyr provide their own library of sample applications and assistance with software development when electing to work with either of these platforms.

nRF5 SDK: https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK
Zephyr Project: https://docs.zephyrproject.org/latest/

The 451-00003 is the smartBASIC variant of the BL654 Dongle which comes preloaded with smartBASIC firmware and can be programmed with smartBASIC applications. This variant of the dongle only supports loading applications developed using our smartBASIC firmware. We recommend referencing:

The Getting Started with the BL654 Dongle (smartBASIC variant) Application Note
User Guide - BL654 USB with smartBasic
Loading and Running Applications with UwTerminalX - BL654 v1.1

Can I use BL652/BL654 pair with BLE tag?

No. it is not possible as BL652/BL654 is NFC tag as well. You can make it to pair with a phone. The phone can provide the NFC energy field to energize the BL652.

Do I have to use the Segger branded debugger to program over the 2-wire SWD interface (JTAG) of the Nordic-based modules?

Yes, any programmer/debugger that supports the SWD 2-wire interface and the Cortex M4F processor should work with the Nordic-based modules. You can find information about the memory map in the nRF5xxxx Product Specification under the Memory and NVMC sections.