1 Detailed description
■
■
What can you do with STM32Cube function packs?
The STM32Cube function packs leverage the modularity and interoperability of STM32 Nucleo and X-NUCLEO
boards, and STM32Cube and X-CUBE software, to create function examples, embodying some of the most
common use cases, for each application area.
These software function packs are designed to exploit as much as possible the underlying STM32 ODE hardware
and software components to best fit the requirements of final users’ applications.
Moreover, function packs may include additional libraries and frameworks which do not present the original
X-CUBE packages, thus enabling new functionalities and creating a real and usable system for developers.
What is STM32Cube?
STMCube™ is designed by STMicroelectronics to reduce development effort, time and cost across the entire
STM32 portfolio.
STM32Cube version 1.x includes:
• STM32CubeMX, a graphical software configuration tool that allows the generation of C initialization code
using graphical wizards.
• A comprehensive embedded software platform specific to each series (such as the STM32CubeF4 for the
STM32F4 series), which includes:
– the STM32Cube HAL embedded abstraction-layer software, ensuring maximized portability across the
STM32 portfolio
– a consistent set of middleware components such as RTOS, USB, TCP/IP and graphics
– all embedded software utilities with a full set of examples
How does this STM32Cube function pack complement STM32Cube?
This software is based on the STM32CubeHAL hardware abstraction layer for the STM32 microcontroller. The
package extends STM32Cube by providing a board support package (BSP) for BlueNRG-MS, MEMS microphone
expansion boards, SensorTile and BlueCoin; middleware components for audio acquisition, communication with
other BLE devices, USB streaming of recorded signals and a dedicated profile for full-duplex speech transmission
over BLE (BlueVoiceOPUS).
The third party Opus (v1.2.1) middleware is included in the function pack.
The BlueVoiceOPUS profile defines a BLE service which includes one characteristic for audio transmission and
one for optional control message. In a full-duplex system, both sides of the communication (central and
peripheral) can act as a server of information. Periodic notifications containing compressed audio data are sent
from the central node acting as a server to the peripheral node acting as a client, and vice versa.
The BlueVoiceOPUS middleware is responsible for audio encoding and periodic data transmission on the server
side and for decoding of received data on the client side.
The drivers abstract low-level hardware details and allow the middleware components and applications to access
the devices in a hardware-independent fashion.
The package includes a sample application that developers can use to start experimenting with the code. It
enables audio acquisition, compression and transmission over BLE from the module acting as a transmitter to the
module acting as a receiver. The receiver is responsible for audio decompression and USB streaming of audio
data to a PC. The system is recognized by the PC as a standard microphone, and any freeware or commercial
audio recording software can be used to interface with it. Depending on the hardware used, the audio can be
played through a jack connector. Both the central and the peripheral modules can act as a transmitter and a
receiver at the same time, enabling full-duplex voice streaming.
FP-AUD-BVLINK2
Detailed description
DB3552 - Rev 1
page 2/4