“Wireless Made Easy!" - BM83 Getting Started with Embedded and Host modes with Multi-speaker (MSPK) Firmware
The BM83 is a fully-certified Bluetooth 5.0 dual-mode audio module (Bluetooth Classic and BLE) with embedded DSP (AAC/SBC support along advanced audio and voice processing - WB speech, AEC and Noise Reduction) This guide demonstrates first the Embedded mode (BM83 as a standalone device) and then the Host mode (BM83 + PIC32MX450F256L, dual chip to unleash performance). This solution integrates the Multi-speaker (MSPK) Firmware, an all-in-one Firmware, that covers Mono/Stereo and more than 2 speakers configuration.
https://www.microchip.com/bm83 https://www.microchip.com/wwwproducts/en/PIC32MX450F256L
The BM83 is certified Bluetooth 5.0 dual-mode module.
- Bluetooth Classic: BDR/EDR low-level transport layer for audio or voice streaming and SPP for data exchange (provisioning).
- BLE transport for proprietary transparent service to provide a BLE substitute for the Serial Port Protocol (SPP) of classic Bluetooth for use with an Apple® iPhone®, which does not support SPP (audio commands for working with Android and iOS).
About Bluetooth Audio Technology:
- Highly popular technology found everywhere including smartphone, consumer and professional products along IoT
- It refers to 2 technologies
- Bluetooth Classic : focus on continuously streaming data. Typical use case is Audio with a specific Bluetooth Audio profile called A2DP
- Bluetooth Low Energy (BLE) : focus on sending bulks of data while optimizing power consumption. Highly popular in IoT
- Key things to know about Bluetooth Classic (… and Audio)
- It takes more than Bluetooth to support Audio : audio products typically are dual mode bluetooth (Classic + BLE) with embedded MCU and DSP for audio processing. This is what Microchip proposes !
- A2DP profile could support different music codecs to compress the music files into bit-rates that could then be broadcasted thru Bluetooth
- Popular codecs : low-complexity sub-band codec (SBC), Advanced audio coding (AAC), Sony’s proprietary codecs (LDAC)
- Microchip has BM83 solutions decoding SBC, AAC and has IS2083BM-2L2 solution decoding LDAC.
- Microchip has solutions for Stereo and Multi speakers, True Wireless earbuds, headsets and headphones
Two Power Amplifiers are integrated into the BM83 device:
- The Medium Power Amplifier (MPA) supports up to +9.5 dBm (typical) output power for Bluetooth Class 1 applications (higher range around 100 meters), well suited for multi speaker applications
- The Low Power Amplifier (LPA) supports up to +0.5 dBm (typical) output power for Bluetooth Class 2 applications (headset or mono/stereo speaker)
The user can select either one depending on his use case.
The BM83 module comes with the Multi-speaker (MSPK) Firmware that covers both configurations:
- MSPK Firmmare enables A2DP music streaming to one speaker (mono) or two speakers (stereo: mono left and mono right).
- MSPK Firmware enables A2DP music streaming to more than two speakers from one audio source such as a smartphone. MSPK refers also to Microchip Wireless Concert Technology (WCT).
AN3118 - IS2083 Bluetooth Audio Application Design Guide
- Host mode:
- Interfaces with an external PIC32MX450F256L MCU over UART for application specific system control
- The PIC32 MCU can control the BM83 through UART command set
- For faster time to market, we recommend to use PIC32 MCU leaveraging the reference design provided by Microchip Technology
- MSPK solution can reside on PIC32 MCU
- Embedded mode:
- No external MCU involved
- MSPK Firmware is embedded into BM83
- BM83 acts as a standalone device to control a set of Input/Ouputs along the speaker features. Simple system control can be implemented in the module MCU by using the Configuration GUI Tool (IS208x_Config_GUI_Tool vxxx). DSP parameters such as equalizer settings can be set using the Config GUI Tool
The BM83 has a built-in codec. If power requirement of the speaker is < 5W then internal codec may be used.
Internal codec provides analog output to connect directly a speaker.
For high power speaker, an external class D amplifier if required. External codec interface is through I2S.
BM83 offers a flexible approach for codec interface:
- In Embedded Mode (no external MCU is required)
- Internal codec selected (in the GUI Tool), analog output is enabled
- External codec in I2S is selected (in the GUI Tool), the turnkey firmware supports only the STA369BW codec
- In Host Mode (external MCU acting has a Host for the BM83)
- Internal codec selected (in the GUI Tool), analog output is enabled
- External codec in I2S is selected (in the GUI Tool), you can connect the STA369BW codec or implement any codec and add the corresponding driver in the Host MCU Application code
Using LDAC requires to obtain a license from Sony. https://www.sony.net/Products/LDAC/
LDAC is supported by default in the IS2083 Turnkey firmware available here
See the details, page 22 of the AppNote AN3118
(Note: By default, LDAC functionality is enabled in the firmware but supported only on IS2083BM-2L2 device)
LDAC requires a specific hardware: IS2083BM-2L2.
See the details page 9 and 10 in the IS2083 Datasheet to check the hardware difference
To summarize, same Turnkey Firmware for LDAC or non-LDAC usage but different hardware.
To evaluate our Bluetooth audio solutions, we've compiled a list of possible speakers compatible with BM64 Evaluation Board.
-> Good, compact speaker for High Resolution demo:
-> Simple, light and small speakers for our BM83 EVB demo (not High Resolution): Ideal for mobility and demonstration purpose.
Microchip provides a smartphone App called MBA (Microchip Bluetooth Audio) supporting both Android 6.0 (or higher) and iOS 10.0 (and higher device).
Mobile Application discovers BLE devices and filters the Microchip Audio devices (BM6x or BM8x based) and communicates with them over Microchip’s Proprietary BLE Service called Transparent Service.
This Mobile Application can be used for Stereo (DSPK) or Multi-speaker (MSPK) audio applications.
MBA is available as code sources and as an App in the respective stores.
- The source code of the App for Android and iOS are available to download and both come come along with MSPK2v1.2 Software Package (located into "Software\Source Code" folder): https://ww1.microchip.com/downloads/en/DeviceDoc/IS2083_Turnkey_1.2.0.zip
- The Android version of the MBA app is available from the Google Play™ store: https://play.google.com/store/apps/details?id=com.app.microchip.audiowidget&hl=en
- The iOS version is available in the iTunes® store: https://apps.apple.com/us/app/microchip-bluetooth-audio/id1309473719
The BM83 Evaluation board is a Reference Design that matters to get started with Bluetooth Audio.
BM83 Evaluation board: DM164152
The BM83 Bluetooth Audio Development Board (BM83 EVB) enables the user to evaluate and demonstrate the functionality of the BM83 audio module in Host or Embedded mode:
- The BM83 EVB features an on-board PIC32MX450F256L for Host MCU mode applications, an external codec to improve audio quality, a digital microphone to capture voice audio, indicator LEDs and buttons for ease of development. The PIC32 MCU is connected to the BM83 module over UART. The host MCU is controlling the BM83 module and driving the I2S audio out from the BM83 to an STA369BW Audio Daughter Board.
- The BM83 EVB supports also the Embedded mode configuration. In this mode of operation, the BM83 module is driving the I2S audio out to the STA369BW Audio Daughter Board. The BM83 module is connected to the external codec over I2S and I2C.
By default, the BM83 EVB comes configured in Embedded Mode.
Follow the BM83 Reference Circuit if you look specifically for Embedded Mode schematics.
BM83 Bluetooth Audio Development Board User Guide introduces the kit features, gives you guidelines to setup a quick demo to stream audio using the BM83 module in Embedded mode.
This demo is based on MSPK 2.0 Firmware and requires some customization and some hardware changes. The Host Mode has to be selected from the Config Tool. That simply enable BM83 UART.
The host MCU (on-board PIC32 MCU) is connected to the BM83 module over UART. The host MCU is controlling the BM83 module and driving the I2S audio out from the BM83 to an STA369BW Audio Daughter Board.
Follow the instruction from the BM83 Bluetooth Audio Development Board User Guide
Resources:
Setup of the environment with basic speakers and smartphone:
BM83 Bluetooth Audio Development Board User Guide introduces the kit features, gives you guidelines to setup a quick demo to stream audio using the BM83 module in Embedded mode.
This demo is based on MSPK 2.0 Firmware and requires some customization and some hardware changes. The Embedded Mode has to be selected from the Config Tool. That simply disable BM83 UART.
In this mode of operation, the BM83 module is driving the I2S audio output to the STA369BW Audio Daughter Board. The BM83 module is connected to the external codec over I2S and I2C.
Follow the instruction from the BM83 Bluetooth Audio Development Board User Guide
Resources:
Setup of the environment with basic speakers and smartphone:
In below example (video), the BM83-EVB is powered up via a short press on MFB key (blue light) then ready to pair thru long press to the MFB key (blue and red lights toggle).
Just select the device you need from the following link: Buy BM83
Every BM83 modules comes with common feature set:
Surface mount module with
Package Size : 32 x 15 x 2.5 mm
Lead Count : 50
Temp Range : -20C to +85C
Op Voltage Min : 3.2V
Op Voltage Max : 4.2V
Here the ordering information:
BM83SM1-00AA
- With RF shield
- Certification : CE, FCC, IC, MIC, KCC, NCC, SRRC
- Class 1 module with +9.5 dBm (EDR) output power
- Multi-Speaker firmware (MSPK) - Version 2.0 (Latest release) - Microchip’s Wireless Concert Technology (WCT)
- Configured in Embedded Mode
BM83 Host MCU Firmware Development Guide describes the host MCU reference code for Microchip’s Bluetooth® Multi-Speaker solution in Host mode. It includes demo introductions, hardware connection, UART command set, and source code explanation.
Follow this video to get started on how to update firmware on BM83 Evaluation board