Microchip logo
  • All
  • Products
  • Documents
  • Applications Notes

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.

Bluetooth Audio Software Stack

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
Back To Top

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
Requirement

Peak
MIPS

Comment

Flash

RAM

BT USB
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. See Notes 1 and 2.

271.734

38.8

~30

Bluetooth /USB audio support.

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. See Note 1.

251.5

34.9

~65

Bluetooth audio only; no USB audio support.

BT Audio
Demo 4

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
Demo 5

Bluetooth Stack (A2DP+AVRCP+SPP+SBC decoder) + Graphics. See Note 1.

190.58

34.6

~30

Bluetooth audio only; no USB support.

BT USB
Audio Demo 6

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
Demo 7

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
Audio Demo 8

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
Demo 9

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
Audio Demo 10

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
Demo 11

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:

  1. 33 KB of stated Flash resources includes graphics support.
  2. Total system latency: Bluetooth HCI UART → Bluetooth Stack → SBC Decoder → I2S Audio Out Latency = 1.8 ms.
  3. This information is being provided for guidance purposes only.
Back To Top

PIC32 Bluetooth SBC and AAC Decoder Audio Software Suite 2 v3.5

Part Number SW320014-2

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
Requirement

Peak
MIPS

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 Top

PIC32 Bluetooth SBC Only Audio Software Suite 1 v3.5

Part Number SW320014-1

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
Requirement

Peak
MIPS

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

  • Added iAP over Bluetooth Support
  • Added Bluetooth Bootloader
  • Added 5 – Band Parametric EQ
  • Improved Audio compression filter
  • Improved DAC driver and audio architecture
  • Added options for display and Flash memory utilization
  • Revised SPI Flash and autoconnect functions
  • Added “Demo 10” USB + Bluetooth Break-In mode to Suite 3

V3.0

March 31, 2014

Version 3.0 Major revision Changes

  • Added Software Suite 3 with Break In mode
  • Added volume synchronization
  • Added driver support for RDA Bluetooth radio with compile time switch to CSR driver
  • Updated USB architecture for higher stability
  • Application architecture updates; revised system services, button handling, DAC driver, audio processing, display handling and more
  • Added MFi Stack to demo’s 2.5a and 6a for Apple MFI licensees
  • Added capability to disable automatic pairing; time-out feature
  • Added demo 11, BT SBC+SPP data simultaneously

V3.0.1

May 1, 2014

Minor Revisions

  • Revised assert defaults to disabled
  • Added additional diagnostic capabilities
  • Added manual pairing to Demo 11
  • Revised BT Stack in demo 4 to stack v1.5.1

V2.0.1

February 2014

Version 2.0.1 Major revision Changes

  • Bug fixes in voice prompts and Bluetooth to USB audio switching
  • Enabled buttons functions for USB AOA (slave) audio devices
  • Debounced Development Kit disconnect (SW2) feature, enabled automatic reconnect

V2.0

December 21, 2013

Version 2.0 Major revision Changes

  • 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
  • New QDID for updated Bluetooth stack

V1.03

November 26, 2013

  • Installer update
  • SBC Decoder fix – updated to address lock up issue
  • Improved AVRCP detection
  • Fixed RTOS Bug related to XC32 Compiler v1.30

V1.0

September 2013

Initial release software for PIC32 Bluetooth Audio development hardware.