BL654 Series Bluetooth Module with NFC
Learn more and compare with similar parts on the family page.


Antenna Type
Bulk or Single
Chipset (Wireless)
Nordic nRF52840
Dimension (Height - mm)
11 mm
Dimension (Length - mm)
50.74 mm
Dimension (Width - mm)
18.39 mm
Frequency Range (Max)
2480 MHz
Frequency Range (Min)
2402 MHz
Frequency Range 2 (Max)
13.56 MHz
Frequency Range 2 (Min)
13.56 MHz
Logical Interfaces
Serial (UART)
smartBASIC, AT Commands
Product Type
USB Adapter
Programming Options
smartBASIC, AT Command Set, (Nordic SDK not supported)
System Architecture
Bluetooth 5.3, Single Mode (BLE), 802.15.4 / Thread / Zigbee
Pluggable USB Adapter
FTDI Based - Virtual COM Port

Buy Now

Distributor Part In Stock Region Buy
Mouser 451-00003 481 North America Buy Now
Farnell 451-00003 217 EMEA Buy Now
DigiKey 451-00003 0 North America Buy Now
Future Electronics 451-00003 0 North America Buy Now


How do I launch menuconfig for Zephyr?

If you would like to launch "menuconfig" for your Zephyr build, add "-t menuconfig" to the end of your build command.  

For example:

west build -p -b mg100 -d ble_gateway_dm_firmware/build/mg100 ble_gateway_dm_firmware -- -DAPP_TYPE=mqtt -t menuconfig

For more information:

Interactive Kconfig interfaces — Zephyr Project Documentation

How can I interface with a BT510 without the Mobile App?

The BT510 is an event driven BLE multi-sensors which is capable of measuring temperature, open/close magnet and motion detection. There is basically two ways to get data from it:

  • Advertisements
  • Connection

While the BT510 as been especially designed to transfer data via BLE advertisements, you can also use BLE connection to retrieve data. It's worth mentioning that preliminary intended use of BLE connection with the BT510 is for configuration (usually during commissioning process on the field). As exposed into the Sentrius™ BT510 User Guide section 4.2, the BT510 make use of BLE Virtual Serial Port (VSP) service.

The BL654 is BLE v5.1 module which embeds an nRF52840 chipset from Nordic. Ezurio (formerly Laird Connectivity) developed smartBASIC, an event driven programming language that sits on top of Nordic SDK. Its most famous software/feature is the AT Commands Interface where you can drive a BLE module through UART with using batch of intuitive commands.

As part of IoT applications that involve to interact with a BT510 via BLE through a BL654 loaded with AT Command Interface, it can be useful to know the steps to get the BL654 connected to the BT510.

Because the BT510 GATT table is protected by a pairing process which involve static passkey (123456), it's important to change BL654 IOCAP in first instance to allow a Passkey entry procedure during pairing/bonding process.

On the BL654 side you'll need to follow the procedure below with AT Commands :

  • Change BL654 IOCAP setting either on 2 (Keyboard only) or 4 (Keyboard+Display)
  • Engage a non-VSP connection (AT+LCON)
  • Engage a pairing/bonding process with AT+PAIR 1
  • Issue BT510 passkey as part of the pairing/bonding process with AT+PRSP 1,123456
  • Disconnection from non-VSP connection (AT+LDSC 1)
  • Reconnect with VSP connection (ATD)

Now that both devices are connected with VSP mode, you can write JSON commands to send over BL654 UART in order to configure the BT510 as you like. For more information on JSON spec, you can have a look here :

A typical AT Commands session could look like this, where 01C630157769EE is a BT510 BLE Mac Address:

ATS 107=4 
AT+LCON 01C630157769EE
connect 1,01C630157769EE,15000,6000000,0
passkey? 1
AT+PRSP 1,123456
encrypt 1
discon 1,22

// BL654 is now bonded to BT510, VSP connection can be made.

ATD 01C630157769EE
CONNECT 0,01C630157769EE,15000,6000000,0