Developers are under continuous pressure to build battery-powered Bluetooth devices that are small, reliable, low-power, and low-cost, all while meeting ever shorter time-to-market windows. It’s an engineering tradeoff matrix that gets increasingly difficult, but not impossible thanks to innovative solutions from semiconductor providers that help address these specific problems.
This article will articulate the design requirements of the constantly growing Bluetooth accessory market before introducing the STM32WB55RGV6 and how to go about applying it.
Bluetooth accessory demands
Bluetooth accessories usually have the same requirements for battery life and size. For consumer Bluetooth products, longer battery life is directly related to customer satisfaction, so components should be selected for small size and low power consumption. The initial design should have enough flexibility for substitutions as it is not uncommon to find a better product than the one already selected as the development process moves forward.
Bluetooth designs are usually partitioned into three sections: the Bluetooth radio, the application processor and support components, and the user interface (buttons, LEDs, speakers). STMicroelectronics has simplified the design by integrating the control processor and the Bluetooth radio on the same microcontroller. The STM32WB55RGV6 microcontroller is part of STMicroelectronics’ STM32WB microcontroller family, which integrates a 64 megahertz (MHz) Arm® Cortex®-M4 with a floating point unit (FPU) processor and a complete Bluetooth radio on a single chip. On-board memory includes 1 megabyte (Mbyte) of flash memory and 256 kilobytes (Kbytes) of SRAM.
The STM32WB55RGV6 has three on-chip voltage regulators. The main regulator operates when the processor is in Run and Sleep modes. The low-power regulator is used during Low-Power Run and Low-Power Sleep modes. The radio frequency (RF) regulator is only used to power the Bluetooth radio and RF subsystems.
There are other parameters that clearly show that the STM32WB55RGV6 was built from the ground up for low-power applications. It has a 13 nanoamp (nA) shutdown mode which turns off everything on the chip except for some RAM. If the real-time clock (RTC) is left running in shutdown, the device only draws 315 nA. With the RTC running, the microcontroller can also retain 32 Kbytes of RAM while drawing only 600 nA.
For flexibility, the STM32WB55RGV6 has a full range of peripherals including two serial peripheral interfaces (SPIs) and two I2C interfaces (Figure 1). A USB 2.0 Full Speed (FS) port can be used to transfer files between the application and a PC. It can also be used to charge a battery on the Bluetooth application, with or without support for data transfers. The STM32WB55 also has a controller for an external 8 x 40 LCD. A touch-sensing controller is available to enable a touchscreen interface.
Figure 1: The STMicroelectronics STM32WB55RGV6 microcontroller integrates an Arm Cortex-M4 with FPU and a Bluetooth radio subsystem on a single chip. (Image source: STMicroelectronics)
The Bluetooth radio on the STM32WB55RGV6 is compliant with the latest Bluetooth specification v5.0. The radio is also compliant with the IEEE 802.15.4-2011 specification for the physical layer (PHY) and media access controller (MAC) for the Bluetooth radio. For battery-powered applications, the radio is Bluetooth low energy (BLE) compliant and supports data rates of 1 megabit per second (Mbit/s) and 2 Mbits/s over a secure connection.
The BLE stack and the IEEE 802.15.4 PHY and MAC layer run on a dedicated Arm Cortex-M0+ CPU on the STM32WB. This Cortex-M0+ is dedicated to running only the BLE stack and cannot be used for running user application code.
The RF front-end of the STM32WB55RGV6 microcontroller series is designed for minimal external components as shown in Figure 2. It has a dedicated switched mode power supply (SMPS) to power the RF circuitry.
The SMPS is a good example of how integrated solutions can solve problems. To minimize interference with the RF circuitry, the SMPS uses the same clock frequency used to clock the RF section as the Cortex-M0+ microcontroller, which is either 4 or 8 MHz. To further reduce interference, an automatic gain control (AGC) can automatically reduce the RF and IF gain. Firmware can also trim the AGC manually.
Figure 2: The RF front-end of the STM32WB Bluetooth microcontroller includes a Cortex-M0+ BLE controller, AGC to reduce noise, and three voltage regulators. (Image source: STMicroelectronics)
The RF section requires few external components. To achieve this, the RF front-end has on-chip capacitors that are user programmable, so the external 32 MHz crystal does not require external trimming capacitors. The RF front-end also reduces component count by including a full bandpass balun, seen near the antenna pin (RF1) (Figure 2, again).
The RF1 pin must be connected to a compatible Bluetooth 2.4 gigahertz (GHz) antenna through a filter with a low-pass matching network. Lastly, decoupling capacitors between the RF section power and ground are required. Recommended values are 100 nanofarads (nF) and 100 picofarads (pF) connected in parallel.
As with any radio application, the RF design and component selection directly affect the performance of the Bluetooth radio. Using high accuracy components will improve the reliability of the Bluetooth radio. For the designer, most of the work for the RF section is already done. It is up to the developer to design the system so it doesn’t obstruct the path between the external Bluetooth antenna and the paired device.
To help expedite development with the STM32WB55RGV6, STMicroelectronics supplies the P-NUCLEO-WB55 Nucleo development board (Figure 3). The board also comes with a USB dongle that also has an STM32WB microcontroller.
Figure 3: The STMicroelectronics Nucleo board for the STM32WB family interfaces to the Bluetooth dongle to support development of STM32WB-based projects. (Image source: STMicroelectronics)
The Nucleo board has Arduino™ expansion connectors, allowing developers to enhance their projects with Arduino Uno-compatible shields. A developer can quickly put together a hardware prototype around the Nucleo board. The Nucleo application is programmed and debugged by connecting a PC to the USB connector on the board. The programmed Nucleo board can then communicate with the supplied Bluetooth dongle or with a Bluetooth-enabled PC.
Security for wireless applications has become a major concern for developers. Companies need to secure their data and firmware from attacks and unauthorized counterfeiting. An AES-256 hardware encryption block on the STN32WB55RGV6 is available to encrypt and decrypt Bluetooth transmissions. This prevents malicious actors from snooping in on the Bluetooth transmissions and capturing data.
It is common for applications to update over Bluetooth. However, this can also provide a point of attack for hackers to install false firmware updates. The STM32WB55RGV6 protects against false firmware installations with a secure firmware installation (SFI) process. This is a public/private key system that transmits an encrypted firmware file to the STM32WB55RGV6. The STM32WB55RGV6 decrypts the firmware file using a private key stored within its secure storage block and a readable public key signed by STMicroelectronics. This insures that only systems with authorized credentials can update the firmware.
Every STM32WB55RGV6 also has a unique 96-bit identity (ID), and a unique 64-bit ID. These can be used to identify different STM32WB55RGV6 microcontrollers for additional security, or even to enable different features in firmware for different systems in the field.
The development of Bluetooth devices requires tight control of power, size, cost, and reliability. The selection of highly integrated components such as the STM32WB55RGV6 can greatly simplify the designers’ tradeoff matrix and minimize development time.