Forget Buttons and a Display, Just Add Bluetooth
June 05, 2023
Smartphones have become ubiquitous, in everyone’s pocket, purse, and backpack, displacing many other household items. We rely on them for everything from email, banking, unlocking our front door, and even making the occasional phone call. Yet a quick glance around our homes and businesses will quickly reveal two things smartphones have yet to displace- buttons and a seven-segment display.
Buried deep within menus and button presses, many devices offer an incredible amount of information and customizability that requires cumbersome programming. With Bluetooth low energy (LE) featured in virtually every smartphone on the planet, it is time to break free from buttons and displays.
For example, imagine being able to program a pressure cooker by simply selecting the recipe on a smartphone rather than manually pressing buttons and squinting at the display. By using Bluetooth LE with a smartphone app, designers can catapult their products into a premium user experience, improving customer satisfaction and product reviews.
Today’s Bluetooth microcontrollers and the Bluetooth standard have made tremendous strides in reducing costs, complexity, and power consumption. First, Bluetooth has evolved through the Bluetooth LE standard, which makes many improvements over Bluetooth classic. Bluetooth LE dramatically reduces power consumption through many optimizations, primarily by sending short bursts of data and then going into sleep mode. This is precisely how data typically flows for a user interface-small amounts of data are sent at regular intervals.
Bluetooth LE also simplifies the pairing process making it much easier and more reliable for end users to connect their smartphones to the end device. Finally, Bluetooth LE is designed around profiles, which structure the services and data exchange between the smartphone and the device, allowing software designers to focus on their application, not the Bluetooth connection.
A quick internet search reveals many resources explaining the details of how Bluetooth LE works. At its heart, Bluetooth LE is built around one device being the central and the other being the peripheral. The central scans for available peripherals, which advertise on specified channels. Once the central and peripheral devices establish a connection, the peripheral becomes the server, providing the central, now the client, with information about its available services and data.
Establishing this connection is handled by the Generic Access Profile (GAP) portion of the protocol, while the Generic Attribute Profile (GATT) manages the data exchanged between the two devices. The Bluetooth LE standard contains a multitude of predefined profiles for many common use cases and opens the door for custom profiles. For a user interface, one of the best places to start getting familiar with Bluetooth LE is with a simple wireless UART.
Most designers are familiar with using the universal asynchronous receiver-transmitter (UART) protocol for debugging and diagnostic purposes.Sending data, status, and configuration information to a smartphone app over UART is relatively similar.
As shown in Figure 1, most Bluetooth microcontroller vendors, including NXP® Semiconductors, provide a wireless UART in their SDK that mimics a wired UART connection. With a wireless data path established, data flows between the Bluetooth device and the smartphone allowing the designer to carry out all the functions of the display and buttons by passing data between the end device and the smartphone. The end user can now quickly and easily see information and access configuration options that used to be buried behind confusing menus and button presses.
(Figure 1 – Data sent to a PC over Bluetooth using NXP’s wireless UART example program and IoT Toolbox app)
With a basic understanding of how Bluetooth connections work and a simple way to wirelessly exchange data, the next step is to look at the hardware architecture of the end device. Many high-end devices require high-performance application processors (MPUs), such as NXP’s i.MX series, while others may only need a single MCU.
Based on the needs of the end device, there are three typical Bluetooth connectivity configurations that scale from standalone to hosted with network co-processor (NCP) and hosted with radio co-processor (RCP), see Figure 2.
(Figure 2 – Options for adding Bluetooth connectivity to a system)
In a standalone configuration, there is only one processor in the system, which runs both the Bluetooth protocol and the application. If more capability is needed, a host processor can be added, such as an NXP i.MX RT crossover MCU, which runs the application, while the wireless MCU acts as a network co-processor and runs the entire Bluetooth protocol.
For systems using a high-performance applications processor, the Bluetooth protocol can be cleanly split between the link layer and the stack, with the Bluetooth MCU running only the link layer. This split, and the required Bluetooth stack, are standard in most Linux distributions, making it easier to implement. Many processor providers, including NXP, offer software and products for all three configurations, opening Bluetooth connectivity to a broad range of end device types.
With a smartphone in every pocket, adding Bluetooth connectivity to a standalone end device opens the door to a rich graphical user interface through a smartphone app. No longer specialty devices, modern Bluetooth MCUs are more capable and easier to use than ever before. NXP’s latest K32W148 Bluetooth MCU, for instance, offers 96 MHz of performance, over 1 MB of flash, and advanced security features, all while minimizing power consumption.
Bluetooth MCUs like this offer the ability to add wireless and upgrade the entire end device with more speed, capability, and security. End device designers can easily upgrade their products by replacing buttons and the venerable seven-segment display with Bluetooth and a smartphone app. This, in turn, leads to happier users, better online reviews, and, ultimately, more sales.