Development Tools
PIC32 Bluetooth Audio Software Suites
Bluetooth Audio Software Stack Overview
The Bluetooth audio software stack enables Bluetooth devices to locate each other and establish connections to exchange data and interact with one another over Bluetooth. Below is a block diagram of the Bluetooth audio stack with all the available protocols and profiles. It consists of the controller interface, the Bluetooth protocols which form the Bluetooth core and the Bluetooth profiles.

Serial Port Profile (SPP)
Bluetooth SPP is the basic data transfer profile and serves as the basis for AVRCP and HSP profiles. This profile defines the requirements for Bluetooth devices necessary for setting up emulated serial connections using RFCOMM between two peer devices. Each serial port connection can connect two Bluetooth-enabled devices.
Microchip offers a basic PIC32 Bluetooth serial port profile available as a free download.
Advanced Audio Distribution Profile (A2DP)
The Advanced Audio Distribution Profile (A2DP) defines the protocols and procedures that realize distribution of audio content of high-quality in mono or stereo channels over Bluetooth. A typical usage case is wirelessly streaming music from a stereo music player to headphones or speakers. The audio data is compressed in an appropriate format for efficient use of the limited bandwidth. A2DP includes mandatory support for Low Complexity Subband Coding (SBC) of an audio stream, but can also support MPEG-1, MPEG-2, MPEG-4 and AAC codecs. “MP3” audio is the more common reference to the MPEG-1 Part 3 audio compression standard.
A/V Remote Control Profile (AVRCP)
This profile defines the requirements for Bluetooth devices necessary for the support of the remote control options and track metadata access. This profile is designed to provide a standard interface to control Bluetooth sound docks, headphones, TVs, etc. to allow a single remote control to control all of the Bluetooth enabled A/V equipment. For examples it is used for providing audio controls such as play, pause, skip forward, skip backward, fast forward, and rewind. PIC32 now supports AVRCP version 1.5 which includes provisions for bi-directional volume control.
PIC32 SBC Decoder Library
Low Complexity Subband Coding (SBC) is an audio coding scheme specially designed for Bluetooth audio and video applications to achieve high quality audio transfer at medium bitrates, while maintaining a low computational complexity. It is specified by the Bluetooth Special Interest Group (SIG) for the Advanced Audio Distribution Profile (A2DP). To ensure interoperability, the SBC codec is a mandatory requirement for A2DP support and all other codecs are optional. Microchip offers an SBC decoder as part of both Bluetooth Audio Software Suites 1 and 2.
PIC32 AAC Decoder Library
Advanced Audio Coding (AAC) is a standardized lossy compression scheme for digital audio that was intended to be the successor for the MP3 standard. The AAC audio compression standard is common to Apple iPhone, iPod and iPad devices. AAC decode is available in the PIC32 Bluetooth Audio Software Suite 2 package.
PIC32 Audio Equalizer and Filter Library
The PIC32 Audio Equalizer (EQ) Filter Library is specifically designed to assist with multiple-frequency filtering of digital audio. The library can work from multiple audio sources, and customize the listening experience to compensate for speaker, room / enclosure acoustics or user preferences. The library can support either graphic equalizer or parametric equalizer filtering functions. An optional element of graphical frequency-band magnitude is also available to enable a real-time display of the audio output.
An optional element of graphical frequency-band magnitude is also available to enable a real-time display of the audio output.
Get more information or download this library.
Microchip Audio Software Suites and Demo Projects
Microchip offers two Bluetooth audio software suites, one with SBC decoder and the other one with both SBC and AAC decoders. However the Advanced Audio Distribution Profile A2DP 1.3, Audio/Video Remote Control Profile AVRCP 1.5, Serial Port Profile SPP 1.2 and Service Discovery Protocol SDP 1.1, provided in the binary form, are common to both the suites. This Bluetooth binary code is combined with application source code for operation on the PIC32 Bluetooth Audio Development Kit DV320032.
Existing customers please note that both Software Suite 1 and 2 have been updated to include the following new functions as version 3.0. You can obtain an updated version by logging into your microchipDirect account to obtain a free update.
Major Version 3.0 updates include:
- Removed RTOS from all demonstrations
- Updated Bluetooth stack, now compatible with AVRCP 1.5
- Added graphic equalizer function
- Added multi-mode GUI to support Graphic EQ and user display
- Added AVRCP button profile options for fast forward and reverse functions
- Added voice prompt options for key events
- Added new utility to write audio (voice) data to external Flash memory
- Added AVRCP functions for replay and shuffle
- Added top level user configuration header, user_config.h
- Added user configuration for automatic reconnect timeout
- Updated soft mute function, option for mute during fast forward and reverse
PIC32 Bluetooth Break-In Mode + SBC Audio Software Suite 3 v3.5
Contact MCU32 marketing for purchasing details on this software suite
This suite is functionally equivalent to the demo projects contained in Software Suite 1, with additional demo’s supporting Bluetooth “Break In Mode.” Break In allows multiple connections to a single speaker. Please note that Software Suite 3 carries an additional per-unit licensing fee.
TABLE 4-3: v3.5 DEMONSTRATIONS AND RESOURCE REQUIREMENTS (NON-RTOS VERSION)
Demonstration Name | Description | Resource | Peak | Comment | |
Flash | RAM | ||||
BT USB | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support. See Notes 1 and 2. | 271.734 | 38.8 | ~30 | Bluetooth /USB audio support. |
BT Audio | Bluetooth Stack (A2DP+AVRCP+SPP+AAC decoder) + Graphics. This demonstration uses the higher quality AAC audio decoder in place of the SBC decoder. See Note 1. | 251.5 | 34.9 | ~65 | Bluetooth audio only; no USB audio support. |
BT Audio | Bluetooth Data Stack (SPP only). This data-only, non-audio demonstration provides no USB audio support. See Note 1. | 139.6 | 7.12 | ~8 | Bluetooth data transport only. |
BT Audio | Bluetooth Stack (A2DP+AVRCP+SPP+SBC decoder) + Graphics. See Note 1. | 190.58 | 34.6 | ~30 | Bluetooth audio only; no USB support. |
BT USB | Bluetooth Stack (A2DP+AVRCP+SPP+AAC) + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support. This demon- stration uses the higher quality AAC audio decoder in place of the SBC decoder. See Notes 1 and 2. | 332.7 | 39.7 | ~65 | Bluetooth /USB audio support. |
BT Audio | Bluetooth Stack (A2DP+AVRCP+SPP+SBC decoder) + Graphic Equalizer + User GUI. This demonstration adds additional user GUI func- tionality with menus to adjust gain and observe real-time frequency-band feedback. See Note 1. | 247 | 50.2 | ~90 | Bluetooth audio only; no USB support. |
BT USB | Bluetooth Stack (A2DP+AVRCP+SPP+SBC)+Graphic Equalizer +User GUI Android Open Accessory audio Type-A USB connection sup- port and Samsung audio with mini-B USB con- nection support. See Notes 1 and 2. | 255.008 | 39.42 | ~90 | Bluetooth/USB audio support. Graphic equalizer support. |
BT Audio | Bluetooth Stack (A2DP+AVRCP+SPP+SBC decoder) + Graphic. This demonstration adds additional user Break-in/Party mode. | 203 | 46.34 | ~30 | Bluetooth audio only; no USB support. |
BT USB | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung audio with mini-B USB connection support. See Notes 1 and 2. | 203 | 46.34 | ~30 | Bluetooth/USB audio support. |
BT Audio | Bluetooth Stack (A2DP+AVRCP+SPP+SBC decoder) + Graphics. This demonstration adds additional duplex transmission of data using SPP during audio playback. | 215.18 | 35.7 | ~38 | Bluetooth audio and data transmission support. |
Note:
- 33 KB of stated Flash resources includes graphics support.
- Total system latency: Bluetooth HCI UART → Bluetooth Stack → SBC Decoder → I2S Audio Out Latency = 1.8 ms.
- This information is being provided for guidance purposes only.
PIC32 Bluetooth SBC and AAC Decoder Audio Software Suite 2 v3.5
This suite contains projects for USB and Bluetooth audio. The Microchip Bluetooth stack for audio streaming with the standard SBC software CODEC plus the “Advanced Audio Coding” AAC software CODEC is provided as a non-modifiable binary file combined with source code for usability. It includes the Advanced Audio Distribution Profile A2DP 1.3, Audio/Video Remote Control Profile AVRCP 1.5, Serial Port Profile SPP 1.2 and Service Discovery Protocol SDP 1.1. This binary code is combined with source code for operation on the PIC32 Bluetooth Audio Development Kit DV320032. An SBC CODEC only version of this code is also available on microchipDirect SW320014-1. See the Bluetooth Audio Development Kit Reference Guide for usage details.
Suite 2 | Demo Description | Resource | Peak | Comment | |
Flash | RAM | ||||
BT Audio Demo 2.5 | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support. | 227 KB | 49 KB | ~30 | No Apple USB audio support. |
BT Audio Demo 2.5A | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support. Also includes Apple MiFi stack + Apple iAP connection support for Apple authenticated designs. . | 263 KB | 54 KB | ~30 | Includes Apple USB audio support. Available by special request only to registered Apple certified developers. |
BT Audio Demo 3 | Bluetooth Stack (A2DP + AVRCP + SPP + AAC decoder) + Graphics. This demonstration uses the higher quality AAC audio decoder in place of the SBC decoder. | 248 KB | 51 KB | ~65 | Bluetooth audio only; no USB audio support. |
BT Audio Demo 5 | Bluetooth Stack (A2DP + AVRCP + SPP + SBC decoder) + Graphics. | 182 KB | 41 KB | ~30 | Bluetooth audio only; no USB support. |
BT Audio Demo 6* | Bluetooth Stack + USB with Support for both AAC and SBC decoders | TBD | TBD | TBD | No Apple USB Support |
BT Audio Demo 6.5A | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + AAC + Android Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support. Also includes Apple MiFi stack + Apple iAP connection support for Apple authenticated designs. | TBD | TBD | TBD | Includes Apple USB audio support. Available by special request only to registered Apple certified developers. |
BT Audio Demo 7* | Bluetooth SBC + Graphics Equalizer | TBD | TBD | TBD | Note updates to resource requirements per table 4-2, page 32 of the new users guide (attached to email) |
* - Demonstrations added to release version 2.0
Back To TopPIC32 Bluetooth SBC Only Audio Software Suite 1 v3.5
This suite contains projects for USB and Bluetooth audio. The Microchip Bluetooth stack for audio streaming with the standard SBC software CODEC is provided as a non-modifiable binary file combined with source code for usability. It includes the Advanced Audio Distribution Profile A2DP 1.3, Audio/Video Remote Control Profile AVRCP 1.5, Serial Port Profile SPP 1.2 and Service Discovery Protocol SDP 1.1. This binary code is combined with source code for operation on the PIC32 Bluetooth Audio Development Kit DV320032. Users have the option of USB Audio functionality or just the streamlined stack. In version 2.0 of this software, Free-RTOS has been removed. A version of this code with the addition of the Advanced Audio Coding AAC CODEC SW320014-2 is also available on microchipDirect. See the Bluetooth Audio Development Kit Reference Guide for usage details.
Suite 1 | Demo Description | Resource | Peak | Comment | |
Flash | RAM | ||||
BT Audio Demo 2.5 | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support. | 227 KB | 49 KB | ~30 | No Apple USB audio support. |
BT Audio Demo 2.5A | Bluetooth Stack (A2DP+AVRCP+SPP+SBC) + Android Open Accessory audio Type-A USB connection support and Samsung® audio with mini-B USB connection support. Also includes Apple MiFi stack + Apple iAP connection support for Apple authenticated designs. . | 263 KB | 54 KB | ~30 | Includes Apple USB audio support. Available by special request only to registered Apple certified developers. |
BT Audio Demo 5 | Bluetooth Stack (A2DP + AVRCP + SPP + SBC decoder) + Graphics. | 182 KB | 41 KB | ~30 | Bluetooth audio only; no USB support. |
BT Audio Demo 7* | Bluetooth SBC + Graphical Equalizer | TBD | TBD | TBD |
Back To Top
Application Memory Usage (Flash / RAM) by compiler mode
Resource | Flash Memory (KB) | RAM Memory (KB) | ||||||
Optimization | -s | -3 | -0 | -s | -3 | -0 | ||
# | Function | Display | ||||||
Demo 2.5 | USB + BT A2DP SBC | On | 232 | 266.6 | 309.4 | 38.2 | 38.4 | 38.3 |
Off | 190.2 | 211.1 | 252.8 | 34.8 | 34.9 | 34.8 | ||
Demo 3 | BT A2DP AAC | On | 249.6 | 268.6 | 282.8 | 34.9 | 35.0 | 34.9 |
Off | 208.6 | 214.1 | 227.4 | 31.4 | 31.6 | 31.5 | ||
Demo 4 | SPP (Data Only) | On | 120.9 | 132.9 | 142.2 | 68.3 | 69.0 | 68.3 |
Off | 92.0 | 94.4 | 100.8 | 36.6 | 36.8 | 36.5 | ||
Demo 5 | BT A2DP SBC | On | 188.6 | 206.9 | 221.4 | 34.4 | 34.6 | 34.4 |
Off | 147.6 | 152.4 | 166 | 31 | 31.1 | 31 | ||
Demo 6 | USB + BT A2DP AAC | On | 292.9 | 327.7 | 370.9 | 39 | 39.3 | 39.1 |
Off | 251.1 | 272.2 | 314.3 | 35.1 | 35.3 | 35.2 | ||
Demo 7 | BT A2DP SBC + EQ | On | 200.5 | 222.5 | 239.7 | 51.9 | 52.1 | 52.1 |
Off | 188.6 | 207.6 | 221.5 | 48.4 | 48.6 | 48.5 | ||
Demo 8 | USB + BT A2DP SBC + EQ | On | 252.9 | 291 | 334.9 | 39.4 | 39.6 | 39.4 |
Off | 232.6 | 267.2 | 310 | 38.3 | 38.4 | 38.3 | ||
Demo 9 | BT A2DP SBC + Multi-channel (break-in) | On | 195.6 | 218.1 | 231.6 | 48.5 | 48.6 | 48.5 |
Off | 164.2 | 174.0 | 186.0 | 45.8 | 45.8 | 45.8 | ||
Demo 10 | USB + BT A2DP SBC + Multi-channel (break-in) | On | 240.1 | 279.8 | 323.8 | 52.4 | 52.6 | 52.5 |
Off | 205.8 | 231.8 | 274.6 | 49.3 | 49.3 | 49.3 | ||
Demo 11 | BT A2DP SBC + SPP | On | 213.5 | 233.3 | 249.6 | 49.5 | 49.7 | 49.6 |
Off | 172.1 | 178 | 193.1 | 46 | 46.2 | 46.1 |
PIC32 Bluetooth Audio Software Revision History
The following table outlines revision history and additions to the PIC32 Bluetooth Audio Software suites.
Version | Release Date | Notes / Details |
V3.5 | June 10, 2014 | Version 3.5 Major updates
|
V3.0 | March 31, 2014 | Version 3.0 Major revision Changes
|
V3.0.1 | May 1, 2014 | Minor Revisions
|
V2.0.1 | February 2014 | Version 2.0.1 Major revision Changes
|
V2.0 | December 21, 2013 | Version 2.0 Major revision Changes
|
V1.03 | November 26, 2013 |
|
V1.0 | September 2013 | Initial release software for PIC32 Bluetooth Audio development hardware. |