BT900 Series Bluetooth Module

End of Life (EOL)

Overview

NEW: Upgrade firmware from your host microcontroller!

SMALL. SMART. SIMPLE. Ezurio's BT900 modules reduce the engineering burden and design risk of integrating Bluetooth and Bluetooth Low Energy into any OEM device. The BT900s tiny form factor, optimized power schemes and smartBASIC language provide a secure, stable Bluetooth environment for any embedded design. Let Laird's innovative BT900 series and decades of expertise in Bluetooth module design speed your product to market. Available in BT900-SA and BT900-SC variants.

Download the NEW UwTerminalX as well as the two companion applications: MultiDeviceLoader and TermNotify.

Buy Now

0 in Ezurio stock
QtyUnit Price
1$0.00000
50$0.00000
100$0.00000
Seller Stock Buy
DigiKey 1783 in stock Buy
Mouser 390 in stock Buy
Farnell 56 in stock Buy
Arrow Electronics 100 in stock Buy
Mouser 4245 in stock Buy
DigiKey 2426 in stock Buy
Farnell 130 in stock Buy
Arrow Electronics 0 in stock Buy
DigiKey 1242 in stock Buy
Mouser 167 in stock Buy
Farnell 121 in stock Buy
Mouser 14 in stock Buy
DigiKey 6 in stock Buy
Arrow Electronics 0 in stock Buy
Avnet 0 in stock Buy
Mouser 0 in stock Buy
DigiKey 6 in stock Buy
Mouser 5 in stock Buy
Arrow Electronics 0 in stock Buy
Avnet 0 in stock Buy
Farnell 0 in stock Buy
Mouser 0 in stock Buy

Development Kits

  • DVK-BT900-SA

    DVK-BT900-SA

    End of Life (EOL)

    Development kit for BT900-SA module

    Antenna Type
    Integrated Antenna
    Logical Interfaces
    Serial, GPIO, I2C, SPI, ADC
    Learn More
  • DVK-BT900-SA-03

    DVK-BT900-SA-03

    End of Life (EOL)

    Development kit for BT900-SA-03 module

    Antenna Type
    Integrated Antenna
    Logical Interfaces
    Serial, GPIO, I2C, SPI, ADC
    Learn More
  • DVK-BT900-SC

    DVK-BT900-SC

    End of Life (EOL)

    Development kit for BT900-SC module

    Antenna Type
    U.FL Connector
    Logical Interfaces
    Serial, GPIO, I2C, SPI, ADC
    Learn More
  • DVK-BT900-SC-03

    DVK-BT900-SC-03

    End of Life (EOL)

    Development kit for BT900-SC-03 module

    Antenna Type
    U.FL Connector
    Logical Interfaces
    Serial, GPIO, I2C, SPI, ADC
    Learn More

Certified Antennas

  • MAF94045

    MAF94045

    NanoBlue Series Bluetooth Internal Antenna
    Learn More

Specifications

Bluetooth Version
4.0 - Dual-Mode
Stack On Board
Yes
BLE Connections
5
BT Connections
7
Central Role
Yes
Certifications
FCC, ISED, EU, UKCA, MIC, Bluetooth SIG
Chipset
CSR 8811
Data Rate
Up to 3 Mbp
Dimension (Height - mm)
2.5 mm
Dimension (Length - mm)
19 mm
Dimension (Width - mm)
12.5 mm
Frequency
2.4
Frequency Range (Max)
2.480 MHz
Frequency Range (Min)
2.402 MHz
Input Power
1.8 – 3.6V
Logical Interfaces
UART, GPIO, I2C, SPI, ADC, PWM OR FREQ output
Operating Systems Supported
Windows, Android and iOS
Operating Temp (Max) (°C)
85 °C
Operating Temp (Min) (°C)
-40 °C
Peripheral Role
Yes
Processor On Board
Cortex M3
Receive Sensitivity
-90 dBm
Transmit Power
8 dBm
Wi-Fi Coexistence
3 wire CSR schemes supported (Unity-3 for classic, Unity-3e for BLE)
Part NumberPrice @ 1kAntenna TypeChipset (Wireless)ComplianceConnectorDimension (Height - mm)Dimension (Length - mm)Dimension (Width - mm)Frequency Range (Max)Frequency Range (Min)Logical InterfacesOS/SoftwareOperating Systems SupportedProduct TypeSystem ArchitectureTechnology
BT900-SA
BT900-SA
EOL
Buy Options
N/AIntegrated Antenna QCA (CSR) 8811 FCC, ISED, EU, MIC SMT 2.5 mm19 mm12.5 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC smartBASIC Windows, Android and iOS applications UART Firmware Upgrade Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)
BT900-SA-03
BT900-SA-03
EOL
Buy Options
N/AIntegrated Antenna QCA (CSR) 8811 FCC, ISED, EU, MIC SMT 2.5 mm19 mm12.5 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC smartBASIC Windows, Android and iOS applications UART Firmware Upgrade Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)
BT900-SC
BT900-SC
EOL
Buy Options
N/AU.FL Connector QCA (CSR) 8811 FCC, ISED, EU, MIC SMT 2.5 mm19 mm12.5 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC smartBASIC Windows, Android and iOS applications UART Firmware Upgrade Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)
BT900-SC-03
BT900-SC-03
EOL
Buy Options
N/AU.FL Connector QCA (CSR) 8811 FCC, ISED, EU, MIC SMT 2.5 mm19 mm12.5 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC smartBASIC Windows, Android and iOS applications UART Firmware Upgrade Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)
BT900-US
BT900-US
EOL
Buy Options
N/AIntegrated Antenna QCA (CSR) 8811 FCC, ISED, EU USB Pluggable 11 mm50.74 mm18.39 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC AT Commands, smartBASIC Windows, Windows Embedded, Mac OSX, Linux Android Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)
BT900-US-03
BT900-US-03
EOL
Buy Options
N/AIntegrated Antenna QCA (CSR) 8811 FCC, ISED, EU USB Pluggable 11 mm50.74 mm18.39 mm2480 MHz2402 MHzSerial, GPIO, I2C, SPI, ADC AT Commands, smartBASIC Windows, Windows Embedded, Mac OSX, Linux Android Embedded Module Hostless Bluetooth 4.0, Dual Mode (Classic + BLE)

Documentation

Name Part Type Last Updated
Application Note - BT900 Real Time Clock smartBASIC Sample App.pdf All Application Note 01/17/2019
Application Note - BT900 with smartZ Sample Application.pdf All Application Note 01/17/2019
Application Note - BT900 SPP Throughput Analysis.pdf All Application Note 01/17/2019
Application Note - BT900 vSP and SPP Server.pdf All Application Note 01/17/2019
Application Note - Upgrading the BT900 Firmware over UART.pdf All Application Note 01/17/2019
Application Note - Using SPI Interface in smartBASIC with DotStar.pdf All Application Note 01/17/2019
Application Note - smartBASIC App Download Protocol over UART.pdf All Application Note 10/06/2023
Application Note - smartBASIC for BLE Modules.pdf All Application Note 01/17/2019
Batch Application Notes for iOS.pdf All Application Note 10/06/2023
OTA Application Notes for iOS.pdf All Application Note 10/06/2023
Application Note - Multiple Concurrent SPP and vSP Connections with Command Manager.pdf All Application Note 01/17/2019
UwTerminalX Quick Reference Guide All Application Note 02/28/2019
Serial Application Notes for iOS.pdf All Application Note 10/06/2023
Application Note - Using VSP with smartBASIC.pdf All Application Note 10/06/2023
Upgrading Firmware from your Host Microcontroller - UwFlashX (external link) All Application Note 07/11/2024
How to Set Up vSP and SPP - BT900 v1 1.pdf All Application Note 02/04/2019
Bluetooth SIG Qualification- Test Report - BT900.pdf All Certification 01/17/2019
RoHS 3 - Bluetooth All Certification 01/11/2024
Release Notes - BT900 Firmware v9.1.10.0.pdf All Documentation 01/17/2019
Walkthrough - Beacons for smartBASIC (BL600 and BT900).pdf All Documentation 01/17/2019
User Guide - BT900 smartBASIC Extensions Manual - v9.1.10.0.pdf All Documentation 01/17/2019
User Guide - BT900 smartBASIC Extensions Manual - v9 1 12 0.pdf All Documentation 02/04/2019
User Guide - BT900 Development Kit.pdf All Documentation 08/18/2021
Product Brief - BT900.pdf All Product Brief 10/12/2021
Release Notes - BT900 Firmware v9.1.12.8 All Documentation 02/04/2019
User Guide - smartBASIC Core Functionality v3.5 All Documentation 12/21/2022
Quick Start Guide - BT900 OTA Functionality.pdf All Instructional 01/17/2019
Quick Start Guide - BT900 Serial Functionality.pdf All Instructional 01/17/2019
Quick Start Guide - BT900 in Serial Port Profile with Android Devices.pdf All Instructional 01/17/2019
Quick Start Guide - BT900 in Serial Port Profile with a PC.pdf All Instructional 01/17/2019
Quick Start Guide - Health Thermometer Sensor Service.pdf All Instructional 01/17/2019
Android Application – Laird Toolkit-Batch Functionality v1 2.pdf All Instructional 01/17/2019
Android Application – Laird Toolkit-Blood Pressure Functionality v1 2.pdf All Instructional 01/17/2019
Android Application – Laird Toolkit-Heart Rate Functionality v1 2.pdf All Instructional 01/17/2019
Android Application – Laird Toolkit-Proximity Functionality v1 2.pdf All Instructional 01/17/2019
Firmware Version 9.1.12.8.zip All Software 01/17/2019
Firmware Version 9.1.12.0.zip All Software 01/17/2019
BT900-V9.1.10.0.zip All Software 01/17/2019
laird toolkit source code v4.18.1.13.zip All Software 01/17/2019
Schematics - BT900 Development Kit.pdf All Software 01/17/2019
Laird OTA.zip All Software 01/17/2019
Laird Batch.zip All Software 01/17/2019
Laird Serial.zip All Software 01/17/2019
Laird Library v.0.18.1.1.zip All Software 01/17/2019
Heart Rate BLE Demo v5.18.1.0.zip All Software 01/17/2019
Bluetooth Development Kit Terminal Download.zip All Software 01/17/2019
BT900 3D Models 0.zip All Software 01/17/2019
Application Note - Guidelines for Replacing Antennas v1.0 All Application Note 01/17/2019
Product Change Notification - BT900 (PCN 10B-2019) All Documentation 01/25/2020
UwFlashX – Serial Firmware Update Utility All Software 04/27/2020
UwTerminalX – Serial Terminal Utility All Software 04/27/2020
User Guide - BT900 smartBASIC Extensions Manual - v9.1.12.14 All Documentation 01/11/2021
Release Notes - BT900 Firmware v9.1.12.14 All Documentation 01/11/2021
Firmware Version 9.1.12.14.zip All Software 01/11/2021
PCN 2A-2021 - BT900 Series All Documentation 07/20/2022
ISED ICES-003 Issue 7 Declaration of Compliance All Certification 05/18/2021
PCN 9F-2021 - BL600 & BT900 All Documentation 09/29/2021
EOL Notice - BT900 Series - November 2024 All Documentation 11/14/2024
Datasheet - BT900 BT900-SA
BT900-SA-03
BT900-SC
BT900-SC-03
DVK-BT900-SA
DVK-BT900-SA-03
DVK-BT900-SC
DVK-BT900-SC-03
Datasheet 07/08/2024
EU Certifications - BT900 BT900-SA
BT900-SC
Certification 12/01/2022
FCC Certifications - BT900 BT900-SA
BT900-SC
Certification 12/16/2020
ISED (Canada) Certifications - BT900 BT900-SA
BT900-SC
Certification 12/16/2020
MIC Certifications - BT900 BT900-SA
BT900-SC
Certification 12/16/2020
Regulatory Information - BT900 BT900-SA
BT900-SC
Certification 03/17/2023
BT900 FW v9.1.10.18.zip BT900-US Software 01/17/2019
Application Note - BT900-US Autorun Recovery.pdf BT900-US Application Note 01/17/2019
Application Note - BT900-US Installation.pdf BT900-US Application Note 01/17/2019
Application Note - SPP Connection to Apple OS X with the BT900-US.pdf BT900-US Application Note 01/17/2019
Datasheet - BT900-US.pdf BT900-US
BT900-US-03
Datasheet 02/16/2021
Product Brief - BT900-US.pdf BT900-US
BT900-US-03
Product Brief 10/12/2021
EU Certifications - BT900-US BT900-US Certification 12/01/2022
FCC Certifications - BT900-US BT900-US Certification 12/16/2020
ISED (Canada) Certifications - BT900-US BT900-US Certification 12/16/2020
MIC Certifications - BT900-US BT900-US Certification 12/16/2020
NCC Certifications - BT900-US BT900-US Certification 12/16/2020
Regulatory Information - BT900-US BT900-US Certification 02/22/2022

FAQ

Does Ezurio provide breakout boards for its Bluetooth modules?

Ezurio did provide breakout boards for our older BL600(EOL) modules but we do not produce breakout boards for any of our current range of Bluetooth modules as of 2024.

This includes all BL65x, BL53xx, BL54xxx, BTxxx, Vela and Lyra modules.

We do provide development kits for all of our module offerings. To learn more, visit any product page on ezurio.com. 

CSR Bluesuite Bluetest3 crashes when trying to select the transport.

Bluesuite is a very old program supplied by CSR for testing and configuration of its legacy Bluetooth modules. Bluesuite Bluetest3 is often used for RF testing where the DUT is put into BCSP mode before running Blutest3.

If Bluetest3 crashes with an "array" error you may have a conflict or issue with your .net installation. You may be able to fix the issue by removing all versions of .net but please speak to your IT department first as this may cause issues with other software.

Why is SWDIO/SWCLK shorted to GND on my board?

According to the Nordic DevZone there are mainly two potential issues leading to a short on one of the SWD signals:

  • ESD issue, likely when connecting an SWD programmer to the SWD signals.
  • Connecting an SWD programmer while the target board is not connected to supply voltage.

Please make sure proper ESD precautions are taken into account (ESD wrist-strap, ESD base/mat) as well as make sure to first connect the supply voltage and then the SWD programmer.

Is it possible to clear or reset a table in smartBASIC?

Tables provide associative array (or in other words lookup type) functionality within smartBASIC programs. They are typically used to allow lookup features to be implemented efficiently so that, for example, parsers can be implemented.

There does not exist a function to delete particular entries from a table, but it's possible to overwrite existing elements with TableAdd(). TableLookup() will then return the new element. However, the elements are not actually being overwritten, but marked deleted and added newly to the table, hence the table memory consumption will increase.

To fully clear a table it's possible to simply call TableInit() again.

Does Laird have example code for a Windows Demo App which enables scanning and connecting to Bluetooth Low Energy peripheral IoT devices?

Unfortunately, we do not have an example of a Windows Bluetooth Low Energy application. If you require assistance with developing a Windows Bluetooth Low Energy application please contact one of our Sales Experts and let them know you are interested in a Design Services engagement and we will be happy to discuss your application requirements and provide a quote.

What factors influence the actual TX rate of the controller?

The actual TX rate is influenced by the PDU and MTU sizes along with the Connection Intervals and Slave Latency.

Is it safe to run a Ezurio 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.

Why am I asked to enter legacy pairing code when I am pairing the BT900 with another BT 2.1 or later device? Shouldn't it be simple secure pairing (SPP)?

It is because the “pairing mode” has not been enabled in the smartBASIC application. Please search for “PAIRABLE_ON_STARTUP”, and modify the value to 1 in the sample smartBASIC application.

How do I set Master role for SPP in classic BT on the BT900?

The Master is the device that initiates the connection as per the classic BT inquiry and paging process. There is no option to configure Master/Slave roles in smartBASIC. However, if the BT900 initiates the connection using the BtcSppConnect(BTA$) command then it can be assumed that it has taken the Master role. The BT900 will have performed the inquiry/page, and the remote device will have performed the inquiry/page scan.

I'm getting different SPP throughput between TX and RX. Is there any setting to improve the RX?

By adjusting the FrameSize and Receive Credit in  BTCSPPSETPARAMS API, the throughput will be improved, Detail application note: Application Note - BT900 SPP Throughput Analysis.pdf

 

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":
 

//******************************************************************************
// Ezurio (formerly 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

Where can I download UwTerminal as referenced in the BT900 or BL600 User Guides?

The BT900 and BL600 documents refer to the UwTerminal utility which was the primary utility when these documents were written. This utility is still available in the firmware zip files when they are downloaded from the BT900 Product Page or BL600 Product Page .

However, UwTerminalX is the new improved version of UwTerminal offering additional features not available in predecessor UwTerminal. We recommend working with UwTerminalX as it will support all the features mentioned in the BT900 documentation and offer the additional features, such as access to online Xcompilers.

The latest release of UwTerminalX can be downloaded from our GitHub Repository: UwTerminalX/releases


 

What could be causing additional power draw when in standby doze state?

There are several functions within an application that can increase current consumption above the measurement indicated in the Datasheet for standby doze, low power mode.

  • Timers
  • GPIOs held in an asserted state
  • LEDs
  • Nested functions - which keep the module from entering the standby doze state
  • UART (when open)

 

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. 

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

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.

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.

How to avoid/disable module reset on UART break with SmartBASIC?

The default behaviour of the SmartBASIC driven BLE modules is entering deep sleep mode when a UART break condition is being detected and wake up through reset when released. While this is a convenient way to reset a module without having access to the reset line e.g., during development when connected with UwTerminalX, it might be unintended in the final application environment.

For the more recent SmartBASIC BLE modules like BL652, BL653, BL654, BL654PA the behaviour when detecting a UART break is configurable when opening the UART with UartOpen(). Character 9 in the stOptions string specifies the behaviour and it's possible to chose from entering deep sleep / reset, ignore the break or send an event EVUARTBREAK to the SmartBASIC application. See below table:

UartOpen() stOptions string
 

 

 

The default behaviour is entering deep sleep, hence you would have to close the uart and re-open it at the beginning of your application to apply changes to the behaviour.

See the SmartBASIC Extensions User Guides for each module for more details.

The BT900 dual-mode BT/BLE module does not offer configurability of the UART break behaviour and will always go to deep sleep and wake up through a reset.

Become an Ezurio Customer to Gain Exclusive Access to Our Design Experts

  • 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

Distributors

Distributor Phone Number Region Website
Arrow Electronics 1-855-326-4757
+44 2039 365486
APAC, North America, South America, EMEA Website
Avnet 1-480-643-2000
+44 1628 512900
APAC, North America, South America, EMEA Website
Braemac Australia, New Zealand, South East Asia +61 2 9550 6600
+64 9 477 2148
APAC Website
Cal-Chip Connect 1-215-942-8900
North America Website
DigiKey 1-800-344-4539
North America, South America, APAC, EMEA Website
EBV Elektronik EMEA Website
Farlink Technology China, Hong Kong +86 13266922199
APAC Website
Farnell 1-800-936-198
+44 3447 11 11 22
EMEA Website
Future Electronics 1-800-675-1619
1-514-428-8470
North America, South America, APAC, EMEA Website
Glyn +49-6126-590-0
EMEA Website
Hy-Line Germany Only +49 89 614 503 0
EMEA Website
Jetronic China, Hong Kong and Taiwan 852-27636806 
APAC Website
Laird Connectivity 1-847-839-6925
+44 1628 858941
North America, South America, APAC, EMEA Website
M2M Germany +49-6081-587386-0
EMEA Website
Martinsson +46 8 7440300
EMEA Website
McCoy South East Asia +65 6515 2988
APAC Website
Mouser 1-800-346-6873
+44 1494 427500
North America, South America, APAC, EMEA Website
RS Components +852-2421-9898
+44 3457-201201
North America, South America, APAC, EMEA Website
Ryoyo Japan +81-3-3543-7711
APAC Website
Solsta UK Only +44 (0) 1527 830800
EMEA Website
Supreme Components International India, South East Asia +65 6848-1178
APAC Website
Symmetry Electronics 1-866-506-8829
North America Website
Tekdis Australia and New Zealand +61 3 8669 1210
APAC Website
Telsys +972 3 7657666
EMEA Website
WPG +44 1628 958460
EMEA Website