June 2017
DocID030506 Rev 1
1/5
For further information contact your local STMicroelectronics sales
office
www.st.com
FP-AUD-BVLINK1
STM32 ODE function pack for half-duplex voice streaming over
Bluetooth low energy
Data brief
Features
BlueVoiceADPCM, half-duplex
voice-over-Bluetooth low energy
communication profile
Very low power Bluetooth low energy
single-mode network processor, compliant
with Bluetooth specification 4.1
Complete middleware to build applications
using digital MEMS microphones
(MP34DT01-M or MP34DT04-C1)
Digital audio signal acquisition and
processing
Audio input class USB driver to allow a
device to be recognized as a standard USB
microphone
Easy portability across different MCU
families thanks to STM32Cube
Free, user-friendly license terms
Sample implementation available for board
X-NUCLEO-IDB05A1 plus
X-NUCLEO-CCA02M1 connected to a
NUCLEO-F401RE, NUCLEO-L476RG or
NUCLEO-L053R8 board
Sample implementation available for
SensorTile (STEVAL-STLKT01V1) and
BlueCoin (STEVAL-BCNKT01V1)
Compatibility with ST BlueMS app (v3.0.0 or
higher), available for Android™ and iOS™
Description
FP-AUD-BVLINK1 is an STM32 ODE function
pack that performs voice streaming over
Bluetooth low energy in a half-duplex
configuration. The application runs on the STM32
Nucleo and includes drivers and middleware for
Bluetooth low energy (BlueNRG-MS) and
MP34DT01-M or MP34DT04-C1 digital MEMS
microphones.
The expansion is built on STM32Cube software
technology to ease portability across different
STM32 microcontrollers. The software comes
with sample implementations of the drivers for
X-NUCLEO-IDB05A1 plus X-NUCLEO-
CCA02M1, when connected to a NUCLEO-
F401RE, NUCLEO-L476RG or NUCLEO-L053R8
board.
FP-AUD-BVLINK1 is also compatible with
SensorTile (STEVAL-STLKT01V1) and BlueCoin
(STEVAL-BCNKT01V1).
FP-AUD-BVLINK1
2/5
DocID030506 Rev 1
What can you do with STM32 ODE Function Packs?
The STM32 ODE 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 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 STM32 ODE 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, MP34DT01-M MEMS microphone expansion boards, SensorTile
and BlueCoin; middleware components for audio acquisition, communication with other
Bluetooth LE devices, USB streaming of recorded signals and a dedicated profile for half-
duplex speech transmission over BLE (BlueVoiceADPCM library).
The BlueVoiceADPCM profile defines a BLE service including one characteristic for audio
transmission and one for synchronization. In a half-duplex system, both sides of the
communication (central and peripheral) can act as servers of information. Periodic
notifications containing compressed audio data are sent from one server to one client
depending on the selected channel: central to peripheral or peripheral to central.
BlueVoiceADPCM middleware is responsible for audio encoding and periodic data
transmission on the server side and for decoding of received voice data on the client side.
BlueNRG-MS is a very low power Bluetooth low energy (BLE) single-mode network
processor, compliant with Bluetooth specification core 4.1.
The drivers abstract low-level hardware details and allow the middleware components and
applications to access the devices in a hardware-independent fashion. The software
implements low power optimizations to allow system power consumption of just a few
microamperes.
The package includes a sample application that developers can use to start experimenting
with the code. It enables acquisition, compression and transmission over Bluetooth low
energy of voice data from the module acting as the transmitter to the one acting as the