Bluetooth Low Energy (BLE), an intimidating interface to manage, is simplified by modules designed to function as cable replacement. These modules simplify the key Bluetooth design requirements—firmware, RF design, mobile app development, etc.—so that developers can focus on making their end applications distinctive and take them to market in a timely manner.
This article shows how developers can easily connect their mobile or wearable device using an existing microcontroller and a Bluetooth module. This expedites time to market and ensures the reliability of the complex Bluetooth link in internet of things (IoT) and wearable designs.
The article further explains how a robust wireless communication feature set, a multitude of peripherals and an extensive mobile app framework complement a Bluetooth connectivity solution. To demonstrate simple connectivity with a mobile device, the article will explore the Bluetooth Xpress Arduino shield as a design case study.
Setting up a Bluetooth link
Let’s begin with an exploration of how you can add a Bluetooth link to any MCU with drop-and-connect simplicity.
Figure 1: A view of the overall data flow; it shows how a Bluetooth module facilitates two-way communication between a microcontroller and a mobile device.
The host MCU, communicating with a Bluetooth Xpress module such as the BGX13P via a serial interface, can exchange data with another BGX-equipped device or smartphone (Figure 1).The Bluetooth Xpress modules employ two serial communication modes: command mode and stream mode.
Command mode allows for the configuration and establishment of the BLE connection. Command mode can be used locally over the UART interface or remotely by a connected BLE device. In contrast, while in stream mode, the BGX13 passes data from the UART directly to the paired Bluetooth device and from the BLE link to the UART. The Xpress Streaming Service facilitates this direct transfer of the data.
In the command mode, the easy-to-use serial API allows designers to efficiently manage the complex issues associated with any wireless network stack when needed. The robust API even allows for GPIO control, enabling condition-based output and user-interaction–based events.
Security, which has become a critical element in IoT designs, has also been addressed in streaming and over-the-air (OTA) firmware update services. These transport services are encrypted and support BLE Security Mode 1 for Levels 2 to 4.
The following section will delve into greater details about the Xpress command API, demonstrating the extensive command and control features that it provides.
Xpress command API
The Bluetooth Xpress modules—as either a PCB module or system-in-package (SiP)—include an on-board Bluetooth stack that is configured through Xpress API commands. Therefore, Xpress API, used to configure, establish and manage a BLE connection, is crucial in various performance and operational parameters. As a result, this simple interface frees the host MCU to focus on application-specific tasks.
The Xpress API, mostly used when the BLE link is not active, issues commands to configure variables that control performance and operational features of the Xpress module. And a connected Bluetooth module can switch to Xpress command API mode with a configurable breakout sequence or through a GPIO pin.
Figure 2: The Bluetooth module to smartphone link controlled through an Xpress command API.
The configuration-based environment and on-board Bluetooth stack via Xpress command API enable designers to connect their devices without tedious and time-consuming software development work.
Next, an easy-to-use mobile app framework for iOS and Android platforms takes away the complexity of adding Bluetooth connectivity to mobile apps. The mobile app framework further simplifies the Bluetooth design work with the availability of software libraries and design examples.
As mentioned above, both BGX13P PCB and BGX13S SiP modules include an on-board Bluetooth stack controlled through Xpress command API. Now let’s see how these modules offering Bluetooth 5.0 connectivity can be designed into an actual IoT application: smart lighting.
Prototype in a day with Bluetooth Xpress BGX Arduino Shield
The Bluetooth Xpress Arduino shield, developed by Arrow, has the BGM13s Bluetooth Xpress module embedded onto the Arduino, using serial communications for connectivity. All data—incoming and outgoing—passes through the Xpress module that is acting as an interface between the Arduino and the smartphone. The shield requires no extra software library to connect with the BLE module since the transmit and receive pins of the Arduino are shorted with those of the Bluetooth Xpress module.
Among a wide range of IoT applications it enables, the Bluetooth Xpress Arduino shield was built to streamline development of smart lighting applications. This board makes it as simple as linking an Android or iOS smartphone with the Arduino board via Bluetooth module to control an LED from your phone.
Figure 3: Bluetooth Xpress modules simplify connectivity in IoT applications like smart lighting.
For a start, you can issue commands over the Bluetooth module to the Arduino to set the brightness threshold. In command mode, define the pin to which LED will be connected for enabling communication between the Arduino and the smartphone. It will store data coming from the smartphone while being defined as the output.
Next, set up different state variables as integers at levels like zero, low, high, etc. and start serial communications at the Bluetooth module’s default baud rate. So, if the Arduino receives character 0, it will turn off the LED and send a message back to the smartphone that the LED has been turned off.
Now, while the code base is already available in the Bluetooth module, activate Bluetooth on the smartphone, find the Bluetooth module and pair the two devices. After that, we can pick a suitable app from the mobile app framework to demonstrate the Bluetooth Xpress module communicating with a smartphone.
The above case study shows how a Bluetooth Xpress module simplifies the connection between the Arduino and a mobile device for a light-dimming application without configuration and software hassles. It also ensures the design safety by evading the risk of overvoltage damage to the Bluetooth module.
Simplifying Bluetooth connectivity
The article has shown how a Bluetooth module makes the developers’ job easy with pre-certified hardware, pre-programmed firmware and easy-to-use mobile app framework so that they can move from product concept to prototyping in a much shorter time.
Modules like BGX13P PCB and BGX13S SiP also simplify Bluetooth communications and OTA updates by accelerating app development and product adjustments. And all of this allows developers to spend less time dealing with Bluetooth intricacies and more time on their connected product design.
11 thoughts on “Simplify Bluetooth Connectivity With Hardware, Firmware”