The BTM520 and BTM521 are the most advanced low power, multimedia Bluetooth
modules on the market. They have been designed by Laird Technologies to meet the needs
of developers who require the ultimate Bluetooth audio performance and exibility, along
with fast time to market. The modules include everything needed for a fully qualied
and functional Bluetooth multimedia application. As well as providing best in class radio
performance, range and power consumption, they support all of the functionality to run
Cambridge Silicon Radio’s Road Tunes and Blue Tunes development environments. They
support the latest Bluetooth Version 2.1+EDR Specication, providing the important advantage
of Secure Simple Pairing, which improves security and enhances the ease of use for end
customers. The BTM521, with an integrated high performance multilayer ceramic antenna
can achieve open eld ranges in excess of 300 metres.
The modules include a 16 bit stereo codec and microphone input to support both stereo and
mono applications, with the ability to drive 16Ω stereo speakers. They also contain all of
the necessary audio ltration and biasing components, so that the module only requires the
addition of speakers, microphone and push buttons to make a complete implementation.
The modules contain a full, integrated Bluetooth stack along with SPP, HFP 1.5, HSP, AVRCP
and A2DP proles, all of which have been qualied, so that no further Bluetooth qualication
is required. For users with more complex applications, additional proles will be available for
le transfer, object exchange, dial up networking, messaging and phone book control. Future
support also includes the Health Device Prole, making this the ideal module for development
of Continua compliant medical devices. Because these modules are pre-qualied, customers
using these modules can list and promote their products on the Bluetooth website free of
charge.
The BTM520 and BTM 521 modules include an embedded 32 bit, 64 MIPS DSP core within
the BC05, which is integrated with the Bluetooth functionality and which allows designers
to add signicant product enhancements. These include features such as echo cancellation,
noise reduction and audio enhancement using additional soft codecs. 16MB of ash memory
is available within the module, so that complex functionality can be included. DSP routines are
licensable from a number of specialist partners. Typical applications for these modules include
Bluetooth headsets, Bluetooth stereo headsets, VoIP phones, automotive products, wireless
audio links and medical / healthcare devices.
To speed product development and integration, Laird Technologies has developed a
comprehensive AT command interface, which simplies application development and includes
support for audio and headset functionality. It provides access to GPIO pins, allowing these
to be mapped for direct connection to actuator buttons on headsets. Combined with a low
cost developer’s kit, this ensures that the choice of Laird Technologies Bluetooth modules
guarantees the fastest route to market.
www.lairdtech.com
3
Laird Technologies
Page 4
BTM520/521
Bluetooth® Multimedia Plus Module
OVERVIEW AND
KEY FEATURES
FEATURES
• Fully featured Bluetooth multimedia module
• Supports CSR Road Tunes and Blue
Tunes applications
• Bluetooth v2.1+EDR
• Supports mono and stereo
headset applications
• Ideal for medical applications using health
device prole
• Adaptive Frequency Hopping to cope with
interference from other wireless devices
• 32bit Kalimba DSP for enhanced
audio applications
• Support for Secure Simple Pairing
• External or internal antenna options
• HSP, HFP, A2DP and AVRCP audio proles
• Future support for OBEX, DUN, FTP, HDP
proles for additional functionality
• 16 bit stereo codec and microphone input
• Integrated audio ampliers for driving
16Ω speakers
• Comprehensive AT interface for
simple programming
• Bluetooth END Product Qualied
• Compact Size
• Class 1 output – 8dBm (typical)
• Low power operation
• Wi-Fi Coexistence Hardware Support
APPLICATION AREAS
• High Quality Stereo Headsets
• Mono Voice Headsets
• Hands-free devices
• Wireless Audio Cable Replacement
• MP3 and music players
• Medical and Healthcare Devices
• Phone Accessories
• VoIP products
• Cordless Headsets
• Automotive Applications
www.lairdtech.com
4
Laird Technologies
Page 5
BTM520/521
Bluetooth® Multimedia Plus Module
SPECIFICATIONS
www.lairdtech.com
5
CATEGORIESFEATUREIMPLEMENTATION
Wireless Specication
Antenna Modes
UART Interface
General Purpose Interface
Audio
Protocols & Firmware
Standards SupportedBluetooth® v2.1 + EDR
Transmit ClassClass 1
Frequency2.402 – 2.480 GHz
Channels79 channels Frequency Hopping
Max Transmit Power+8 dBm (typical) @ antenna pad – BTM520
ConnectionsExternal Antenna (option)Pad for 50 Ohm antenna – BTM520
Interface Surface Mount Pads
PhysicalDimensions20.0mm x 36.0mm x 4.9mm
Weight3 grams
EnvironmentalOperating Temperature -30°C to +70°C
Storage Temperature-40°C to +85°C
ApprovalsBluetooth
FCCMeets FCC requirements
CE & R&TTEMeets CE and R&TTE requirements
MiscellaneousLead freeLead-free and RoHS compliant
Warranty12 Months
®
including extensions for Audio control.
Direct mapping of GPIO to audio functions, e.g. Play, Volume, etc.
S Registers for non-volatile storage of parameters
Development ToolsDevelopment KitDevelopment board and software tools
†Modem control pins and GPIO are shared
www.lairdtech.com
6
Laird Technologies
Page 7
BTM520/521
Bluetooth® Multimedia Plus Module
SPECIFICATIONS
PIN OUT
PINSIGNALDESCRIPTIONVOLTAGE
SPECIFICATION
1PCM_INPCM Data I/PVPADS
2PCM_OUTPCM Data O/PVPADS
3PCM_SYNCPCM Sync I/PVPADS
4PCM_CLKPCM CLK I/PVPADS
5GND
6SPI_MOSISPI bus serial I/PVPADS
7SPI_CSBSPI bus chip select I/PVPADS
8SPI_MISOSPI bus serial O/PVPADS
Output Voltage Levels (to correctly terminated USB cable)
Voh 2.8VDD_USB
V
ol
0.7VDD_USB
0.3VDD_USB
00.2
www.lairdtech.com
9
Laird Technologies
Page 10
BTM520/521
AC
AC
Single endedDouble ended
VDD
ModuleExternal Circuit
R
MIC_AP
MIC_AN
Module
External Circuit
MIC_BIAS
15 nH
15 pF
15 nH
15 pF
Bluetooth® Multimedia Plus Module
OPERATING
PARAMETERS
Note: 1. Reset input is active low. Input is pulled up to VDD_PADS via 22k. Minimum reset pulse width is 5ms.
2. LED drive pins are open drain outputs and hence the external circuit to the right should be used.
The voltage on the module pad should be maintained below 0.5V
in which case the Ron of the FET is around 20Ω. Provided that this
condition is met, then the current owing through the diode is:
F
led
I
VDD - V
=
R + 20
Where VF is the forward bias voltage of the LED.
3. The speaker output is capable of driving loads with a minimum
impedance of 16Ω directly.
4. The audio inputs can operate in either line input mode or microphone
mode. The input circuit has a two stage amplier – the rst stage
provides a xed 24dB gain and the second a variable gain of
between -3dB and 18dB. If an input gain of less than 24dB is selected,
then the rst stage is switched out and the module is operating in line
input mode.
When operating in microphone mode the
microphone should be biased as follows:
www.lairdtech.com
10
The input impedance on the microphone inputs (in microphone mode) is typically 6kΩ. In order to
maintain the regulation on the MIC_BIAS pin, the current drawn must be in the range 0.2 – 1.23mA.
If the resistor draws less current than this then an additional resistor to ground must be added to
pre-load the microphone output. The audio input is designed for use with inputs of between 1μA
and 10μA at 94dB SPL. If the biasing resistors are set to 1kΩ this implies a microphone with a
sensitivity in the range -40dBV to -60dBV.
When operating in line input mode, the input can be connected directly to the module input pins
in either single or double ended conguration as follows:
Laird Technologies
Page 11
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
INTRODUCTION
This document describes the protocol used to control and congure the BT-MM+ Bluetooth device.
The AT commands described in the document apply to rmware releases from V14.0.9 onwards.
The protocol is similar to the industry standard Hayes AT protocol used in telephony modems which is
appropriate for cable replacement scenarios, as both types of devices are connection oriented.
Just like telephony modems, Laird Technologies’ devices powers up in an unconnected state and will only
respond via the serial interface. In this state the device will not even respond to Bluetooth Inquiries. Then,
just like controlling a modem, the host can issue AT commands which map to various Bluetooth activities.
The command set is extensive enough to allow a host to make connections which are authenticated and/or
encrypted or not authenticated and/or encrypted or any combination of these. Commands can be saved,
so that on a subsequent power up the device is discoverable or automatically connects.
The device has a serial interface which can be congured for baud rates from 1200 up to 921600 (default
setting is 9600) and an RF communications end point. The latter has a concept of connected and unconnected
modes and the former will have a concept of command and data modes. This leads to the matrix of states
shown below.
RF UNCONNECTEDRF CONNECTED
Local Command ModeOKOK
Remote Command ModeILLEGALOK
Data ModeILLEGALOK
The combinations, ‘Data and RF Unconnected Mode’ and ‘Remote Command and RF Unconnected Mode’ do
not make sense and will be ignored.
Navigation between these states is done using the AT commands which are described in detail in subsequent
sections.
REFERENCES
[1] “AT Command Set”
[2] “BlueLab_v4.0_Release_Note.pdf”
[3] “Audio/Video Distribution Transport Protocol Specication” Rev.V12, 16/04/2007
[4] “Advanced Audio Distribution Prole Specication” Rev. V12, 16/04/2007
[5] “Audio/Video Remote Control Prole” Revision V14r00, 26/06/2008
1. All commands are terminated by the carriage return character 0x0D, which is represented by the string
<cr> in descriptions below this, cannot be changed.
2. All responses from the device have carriage return and linefeed characters preceding
and appending the response. These dual character sequences have the values 0x0D and 0x0A
respectively and shall be represented by the string <cr,lf>.
3. All Bluetooth addresses are represented by a xed 12 digit hexadecimal string, case insensitive.
4. All Bluetooth Device Class codes are represented by a xed 6 digit hexadecimal string, case insensitive.
Commands
The following syntax is employed throughput this document to describe optional or mandatory parameters for
AT commands.
<bd_addr>A 12 character Bluetooth address consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
<devclass>A 6 character Bluetooth device class consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
NA positive integer value.
MAn integer value which could be positive or negative, which can be entered as a decimal value or
in hexadecimal if preceded by the ‘$’ character. E.g. the value 1234 can also be entered as $4D2
<string>A string delimited by double quotes. E.g. “Hello World”. The “ character MUST be supplied as delimiters.
<uuid>A 4 character UUID number consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
General AT Commands
1. AT
Used to check the module is available.
Response: <cr,lf>OK<cr,lf>
2. ATA {Answer Call}
Accept an incoming connection, which is indicated by the unsolicited string
<cr,lf>RING 123456789012<cr,lf> every second. 123456789012 is the Bluetooth address of the connecting device.
Response: <cr,lf>CONNECT 123456789012<cr,lf>
3. ATD<bd_addr>,<uuid> {Make Outgoing Connection}
Make a connection to device with Bluetooth address <bd_addr> and SPP prole <uuid>.
The <uuid> is an optional parameter which species the UUID of the prole server to attach to,
and if not supplied then the default UUID from S Register 101 is used. As this is a device
which utilizes the RFCOMM layer as described in the Bluetooth specication, it necessarily implies
that only proles based on RFCOMM can be accessed.
The timeout is specied by S register 505.
Response: <cr,lf>CONNECT 123456789012<cr,lf>
Or <cr,lf>NO CARRIER<cr,lf>
Due to a known issue in the Bluetooth RFCOMM stack, it is not possible to make more than
65525 outgoing connections in a single power up session. Therefore if that number is exceeded,
then the connection attempt will fail with the following response:-
Response: <cr,lf>CALL LIMIT
Or <cr,lf>NO CARRIER<cr,lf>
In that case, issuing an ATZ to reset the device will reset the count to 0 and more connections
are possible.
www.lairdtech.com
13
Laird Technologies
Page 14
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
The following RFCOMM based UUIDs are dened in the Bluetooth Specication:-
PROFILE NAMEUUID
Serial Port0x1101
LAN Access Using PPP0x1102
Dialup Networking0x1103
IrMC Sync0x1104
OBEX Object Push0x1105
OBEX File Transfer0x1106
IrMC Sync Command0x1107
Headset0x1108
Cordless Telephony0x1109
Intercom0x1110
Fax0x1111
Audio Gateway0x1112
WAP0x1113
WAP_CLIENT0x1114
4. ATDL {Remake Connection}
Make a connection with the same device and service as that specied in the most recent ATD
command. An error will be returned if the ‘L’ modier is specied AND a Bluetooth address.
If both ‘L’ and ‘R’ modiers are specied then an error will be returned.
Make a SPP connection with the device address specied in the most recent AT+BTR command.
The service is as specied in S Register 101. An error will be returned if the ‘R’ modier is specied
AND a Bluetooth address.
If both ‘R’ and ‘L’ modiers are specied then an error will be returned.
Response: <cr,lf>CONNECT 123456789012 AE<cr,lf>
Or <cr,lf>NO CARRIER<cr,lf>
6. ATEn {Enable/Disable Echo}
This command enables or disables the echo of characters to the screen. A valid parameter value
will be written to S Register 506.
E0Disable echo.
E1Enable echo.
All other values of n will generate an error.
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR nn<cr,lf>
7. ATH {Drop Connection}
Drop an existing connection or reject an incoming connection indicated by unsolicited RING messages.
Response: <cr,lf>NO CARRIER<cr,lf>
www.lairdtech.com
14
Laird Technologies
Page 15
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
8. ATSn=m {Set S Register}
As with modems, the Bluetooth module employs a concept of registers which are used to store
parameters, such as escape sequence character, inquiry delay time etc, as listed in detail below.
The value part ‘m’ can be entered as decimal or hexadecimal. A hexadecimal value is specied via a ‘$’ leading character. For example $1234 is a hexadecimal number.
When S register values are changed, the changes are not stored in non-volatile memory UNTIL
the AT&W command is used. Note that AT&W does not affect S registers 520 to 525 or 1000 to 1010 as they are updated in non-volatile memory when the command is received.
Table 3-1: S-Register List
REGISTERDEFAULTRANGECOMMENT
S01-1..15Number of RING indication before automatically answering an incoming
S20x5E0x20..0x7E
S1210040..5000Escape sequence guard time in milliseconds, with a granularity of 20ms. New
S100150..15Number of RING indications before an auto disconnection is initiated. A value
S101$1101 0..$ffffUUID of default SPP based prole when not specied explicitly in the ATD
S10211..0x7FFDenes a set of bits masks for enabling prole servers. Values can be ORed.
S10311..7Boot Mode on cold boot.
S126?0 .. 0xFFFFPrimer for changing to Multipoint mode
S127?0 .. 0xFFFF0x100 for At mode
S30010..2Set A2DP role:
S30110..2Set AVRCP role:
connection. A value of 0 disables autoanswer. If -1, then autoanswer on one
RING and do NOT send RING/CONNECT response to the host. This emulates a
serial cable replacement situation
Setting values >= 0, resets S Register 504 to 0 and <0 forces 504 to 1.
If S0 <> 0 and S100 <> 0 then S0 must be < S100. If a value is entered which
violates this rule, then ERROR 29 is sent in response.
If S504 =1 then this register will return -1, regardless of the actual value
stored in non-volatile memory.
Escape sequence character. It is not ‘+’ by default as a Bluetooth® serial link
can be used to connect to a mobile phone which exposes an AT command
set, which will in turn use ‘+’ as default. So if both used ‘+’ there will be
confusion. 0x5e is the character ‘^’.
values are rounded down to the nearest 20ms multiple
of 0 disables this feature.
If S0 <> 0 and S100 <> 0 then S0 must be < S100. If a value is entered which
violates this rule, then ERROR 29 is sent in response.
command.
0x001 is Serial Port Prole
0x080 is A2DP
0x100 is AVRCP
0x200 for Multipoint mode
Other values are reserved
0 is feature not set
1 is A2DP Sink (default)
2 is A2DP Source
0 is feature disabled
1 is Control (CT) (default)
2 is Target (TG)
www.lairdtech.com
15
Laird Technologies
Page 16
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S30200..4Set AVRCP category:
0 is Feature disabled (default)
1 is Player/Recorder
2 is Monitor/Amplier
3 is Tuner
4 is Menu
S30300..0xFFFFFFSet Company ID:
IEEE Company ID, 24bit hexadecimal,
Required for UNIT INFO Response in AVRCP target mode, default value is 0.
S30510..1Accept UNIT INFO request:
0 – reject
1 – accept
S30610..1Accept SUBUNIT INFO request:
0 – reject
1 – accept
S31010..1Congure PASS THROUGH (PT) Response:
1 = Enable automatic PT-response, response type is read from S311, (default)
0 = Host is required to respond to PT-Indication, see ‘AT+AVR’
S3111 w
9 r
S31210..15A2DP sink supported features (Bitmask) :
S31310..15A2DP source supported features (Bitmask) :
S32021..3Security Level: see [12], Generic Access Prole - Table 5.7
This value is queried for automatic PT-Response, see Table 3-10.
The written value is mapped internal, that is why the Read-value is different
from the written value. The Read-value is actually sent out as response
Bit 0 = Headphone (default)
Bit 1 = Speaker
Bit 2 = Recorder
Bit 3 = Amplier
Bit 0 = Player (default)
Bit 1 = Microphone
Bit 2 = Tuner
Bit 3 = Mixer
needs subsequent ‘AT&W’ and power cycle to take effect
0 – display only
1 – display yes no
2 – keyboard only
3 – no input no output
4 – reject IO-cap requests
0 – disabled
1 – enabled
0 – legacy pairing enabled
1 – legacy pairing disabled
This value must be at least 90 in order to meet the recommendation
of BT2.1 specication
www.lairdtech.com
16
Laird Technologies
Page 17
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S32510..1Store link key automatically on dedicated bonding outgoing (DBO),
identical with S538
S32610..1Store link key automatically on general bonding outgoing (GBO)
S32710..1Store link key automatically on dedicated bonding incoming (DBI)
S32810..1Store link key automatically on general bonding incoming (GBI)
S32900..1Enable legacy (BISM2) response format
S33011..15Congure inquiry response of AT+BTI (Bitmask):
1 – show device address
2 – show class of device
4 – show friendly name
8 – show extended inquiry data
Values can be ORed
S41500..1Enable Microphone Input Gain, adds extra 24dB to input gain
S41600..1Enable MicBias
S41700..15Set MicBiasCurrent
S41800..15Set MicBiasVoltage
S41960..6Set sampling rate for Audio Loopback Mode
0 = 8 kHz
1 = 11.025 kHz
2 = 16 kHz
3 = 22.050 kHz
4 = 24 kHz
5 = 32 kHz
6 = 44.1 kHz
S50400..1Setting to 1 will force S0 to -1 and will suppress messages arising from
connections or pairing. E.g. CONNECT, NO CARRIER, RING, PAIR etc.
Suppressing connection based messaged allows the device to be
congured in cable replacement mode.
S505102..120Minimum delay before abandoning connection attempt as a master.
Referenced by ATD. In units of seconds. See S Registers 530 and 543 also.
Please note that as disconnection time can vary, this register only guarantees
the minimum delay. Note that for invalid addresses specied in the ATD
command, the “NO CARRIER” response will be immediate. See S register
560 for specifying disconnect max timeout.
S50610..1Enable/Disable echoes. The ATEn command also affects this.
S50700..2When set to 0, a connection can be dropped using ^^^ escape sequence only
and the state of DSR line is ignored.
When set to 1 a connection can be dropped using EITHER the ^^^ escape
sequence OR the DSR handshaking line. When set to 2, a connection can
only dropped using a deassertion of DSR. Mode 2 provides for the highest
data transfer rate.
If the status of the DSR line is to be conveyed to the remote device as a low
bandwidth signal then this register MUST be set to 0, otherwise a deassertion
of DSR will be seen as a request to drop the Bluetooth® connection.
This register affects S Register 536 – see details of 536
www.lairdtech.com
17
Laird Technologies
Page 18
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S51210..7Specify power up state.
When set to 0, AT+BTO is required to open the device for Bluetooth® activity.
When set to 1, it proceeds to a state as if AT+BTO was entered.
When set to 2, it will be discoverable only, similar to issuing AT+BTQ.
When set to 3, it will be connectable but not discoverable e.g. AT+BTG
When set to 4, it will be connectable and discoverable e.g. AT+BTP.
When set to 5, it will be like 2, but all UART RX trafc is discarded in
absence of a connection while DSR is asserted. If DSR is not asserted,
then it behaves exactly as per mode 2.
When set to 6, it will be like 3, but all UART RX trafc is discarded in
absence of a connection while DSR is asserted. If DSR is not asserted,
then it behaves exactly as per mode 3.
When set to 7, it will be like 4, but all UART RX trafc is discarded in
absence of a connection while DSR is asserted. If DSR is not asserted,
then it behaves exactly as per mode 4.
Note that by implication, a change to this can only be seen after a power
cycle AND if AT&W is actioned prior to the power cycle.
If S Reg 554 is non-zero and this register is between 2 and 7 inclusive,
then the value of S554 species the time in seconds that the device will
remain in the specied mode after power up. On timeout, the device will
fall back to the mode specied in S Register 555.
In some rmware builds, S Registers 565 to 569 inclusive are visible, which
allows the start-up mode to depend on the state of RI line (Setting S Reg 565
forces the RI pin to be congured as an input). For this feature to be active,
SReg 565 should be set to 1. In that case, on start-up, if RI is asserted, then
the start-up mode is dened by S Reg 566 and if deasserted then S Reg 567.
S514101..60Pairing Timeout in seconds. This includes the time a host takes to supply
the PIN number when PIN? messages are indicated.
S5150x001F000.. 0xFFFFFFDefault Device Class Code to be used with AT+BTO when it is not explicitly
specied. When queried, the value is always printed as a hexadecimal number.
To change the device class of the module, after AT+BTO, use the command
AT+BTC.
S5160x0000000..0x2FFFFFFDefault Device Class lter to be used with AT+BTI when it is not explicitly
specied. When queried the value is always printed as a hex number.
The seventh most signicant digit, can be 0,1 or 2, and is used to specify
the type of device class lter.
When 0, it species no ltering.
When 1, it species an AND mask and all 24 bits are relevant
When 2, it species a lter to look for devices with matching major device
class which occupies a 5 bit eld from bits 8 to 12 inclusive (assuming
numbering starts at bit 0). All other 19 bits MUST be set to 0.
S517202..61Inquiry Length in units of seconds. This parameter is referenced by the
AT+BTI command.
S51880..255Maximum number of responses from an inquiry request. This parameter is
reference by the AT+BTI command. If this number is set too high, then
AT+BTI will return ERROR 27. For a particular rmware revision, determine
the effective maximum value by trial and error. That is, set to a high value,
send AT+BTI and if ERROR 27 is returned, then retry with a smaller value.
This effective max value will remain unchanged for that particular
rmware build.
S519500100..6000When S507>0, and in a connection, DSR can be used to change from data
to command state by deasserting the DSR line for less than the time specied
in this register. This value is rounded down to the nearest 100ms
S5301000100..15000Reconnect delay when congured as master in pure-cable-replacement
mode. This value is rounded down to the nearest 100ms. See S Register
505 and 543 also.
www.lairdtech.com
18
Laird Technologies
Page 19
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S53100..5Species the mode on connection establishment.
0 = Normal, that data is exchanged between UART and RF
1 = LOCAL_COMMAND. UART input is parsed by the AT interpreter
and RF data is discarded
2 = REMOTE_COMMAND. RF input is parsed by the AT interpreter and UART
data is discarded. If S Reg 536 is not 1 then this register cannot be set
to 2 and an ERROR will be returned
3 = LOCAL_COMMAND. UART input is parsed by the AT interpreter
and incoming RF data is sent to the host using the RX<string>
asynchronous response.
4 = LOCAL_COMMAND and on the rf side, the gpio is automatically sent
when there is a change in input. See section 9.5 for more details.
5 = DEAMON mode
S53200..7If non zero then on every connection, a SCO channel (audio) will be initiated.
Bit 0 for HV1, Bit1 for HV2 and Bit2 for HV3. When the connection is lost,
the SCO channel disappears along with it.
S53310..2If set to 1 then GPIO5 follows RI state, if set to 2 then it follows the state of
DSR and if 0 it is not driven and GPIO5 is available as a user I/O.
This register will not necessarily be effective immediately after changing the
value. It must be saved to non-volatile memory using AT&W and will operate
as expected after an ATZ or a power cycle.
S53410..2When set to 0, GPIO4 is available as user i/o
If set to 1 then GPIO4 follows DCD state. If set to 2 then GPIO4 behaves
as per setting 1, but in addition, when not in a connection, if the device is
connectable or discoverable, then GPIO4 will blink.
This register will not necessarily be effective immediately after changing the
value. It must be saved to non-volatile store using AT&W and will operate as
expected after an ATZ or a power cycle.
S535200..41Link Supervision Timeout. If units go out of range, then a NO CARRIER
message will be sent to the host after the time specied here
S53600..1When set to 1, a remote device can ‘capture’ the AT parser of this unit by it
sending this module an escape “!!!” sequence. The inter character timing is
set via S Register 12.
If S Register 507 is >= 2, then reading this register will always return 0 and
writing 1 will result in ERROR 33.
S53800..1If 1, then when a successful pairing occurs, it is automatically saved in the
trusted device database – if it has room to store it.
S53900..1When set to 1, in idle mode (S512=1), UART Rx characters are discarded if
DSR is deasserted.
S5416-50..6This sets the power level in dBm when inquiring or paging. Reading this
register returns the value stored in non-volatile memory.
S5426-50..6As per S541, however reading this register returns the current power level as
set in the base band. The read can be different from S541because the actual
power is set using a lookup table and the base band rounds down to the
nearest value in the table.
S54300..1If this is set to 1, then incoming pairing attempts will be accepted (if a pin
code has been pre-entered using AT+BTK) while in the wait phase of auto
connect cycle initiated by the AT+BTR command. In addition to accepting
pairing attempts, if the pairing is successful, then the new device is
automatically set as the peer address for automatic connections
(as if an explicit AT+BTR command was entered).
See S Register 505 and 530 also
www.lairdtech.com
19
Laird Technologies
Page 20
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S5510x32110xFFFFThis register species in each 4 bit nibble, how the outgoing modem status
bits to the remote peer gets its value. Bluetooth® allows for RTR, RTC, DV
and IC bits to be exchanged over an RFCOMM connection.
Nibble 0..3 species the source for RTC
4..7 species the source for RTR
8..11 species the source for DV (i.e. DCD)
12..15 species the source for IC (i.e. RI)
Each nibble can take the following value:-
0 Always set to 0
1 Always set to 1
2 If DCD (pin 8 on module connector) is output then always 1
If DCD is input then 1 if DCD is asserted otherwise 0
3 If RI (pin 6) is output then always 0
If RI is input then 1 if RI is asserted otherwise 0
4 If DSR (pin 10) is asserted then 1 otherwise 0
In the event that a nibble species DSR as the source of its state, be aware
that if, S Register 507 is anything other than 0, a de-assertion of DSR will
cause the Bluetooth connection to be dropped.
If bits 0..3 and 4..7 are set to 0, then some Bluetooth devices will use
that as a signal to stop sending any data back. For example, Nokia 6310
stops responding.
If this register is changed while in command and connected mode, then
on going back online using the ATO command, a fresh signal will be sent
to the peer to update the bits.
S5520x01220x0FFFThis register species in each 4 bit nibble, how the DTR, DCD, RI output
pins are controlled when in a Bluetooth connection
Nibble 0..3 species the source for DTR
4..7 species the source for DCD
8..11 species the source for RI
Each nibble can take the following value:-
0 Do NOT touch the I/O
1 Always deassert
2 Always assert
3 If RTC bit in CONTROL_IND is 1 then assert otherwise deassert
4 If RTR bit in CONTROL_IND is 1 then assert otherwise deassert
5 If DV bit in CONTROL_IND is 1 then assert otherwise deassert
6 If IC bit in CONTROL_IND is 1 then assert otherwise deassert
If this register is changed while in command and connected mode, then
on going back online using the ATO command, the modem output lines
will get refreshed.
S5530x02010x0FFFThis register species in each 4 bit nibble, how the DTR,DCD,RI output pins
are controlled when NOT in a Bluetooth connection
Nibble 0..3 species the source for DTR
4..7 species the source for DCD
8..11 species the source for RI
In addition it also refers to S Register 552 to see if the relevant pin is an
input or not to be touched. If the nibble in 552 is 0, then the relevant pin
is an input.
Each nibble can take the following value:-
0 Always deassert
1 Always assert
2 Assert if RING is being sent to the host
www.lairdtech.com
20
Laird Technologies
Page 21
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S55400..900If S Register 512>=2 and <=7 then this register species a time in seconds
for which the device will stay in the S512 mode after power up or reset. On
timeout, it will abort the discoverable and/or connectable and fall back into
S512=1 mode, when it is deaf and dumb.
Note that if AT+BTR has been used to specify a peer device, then on reverting
to mode 1, it will attempt to make a connection to that peer device.
A power cycle, reset via BREAK or ATZ is required to see the effects of change.
S55511..7If S Register 554 is nonzero, then after the post reset window expires,
the mode will revert to the mode specied in this register. This allows,
for example, the device to be discoverable and connectable on power up
(mode 4 or 7) and on window timer expiry to revert to connectable only
(mode 3 or 6).
A power cycle, reset via BREAK or ATZ is required to see effects of a change.
In some rmware builds, S Registers 565 to 569 inclusive are visible, which
allows the start-up mode to depend on the state of RI line (Setting S Reg 565
forces the RI pin to be congured as an input). For this feature to be active,
SReg 565 should be set to 1. In that case, on start-up, if RI is asserted, then
the start-up mode is dened by S Reg 568 and if deasserted then S Reg 569.
S55800..1When 1, the following responses; “RING”, “NO CARRIER” and “CONNECT”
are replaced by “BTIN”, “BTDOWN” and “BTUP” respectively. This will
eliminate ambiguity when the module has a Bluetooth connection to an AT
modem which also gives these responses.
S55900..3This species a mask.
When Bit 0 is 1, the response word “ERROR“ is replaced by “BTERR” and
“OK” is replaced by “ok”.
When Bit 1 is 1, then error responses do not include the error number and
instead the error number can be retrieved using ATI12.
S5601515..120Disconnect timeout in seconds. This timer species how long to wait for
conrmation from the peer device and/or the underlying stack that the
connection has been successfully torn down. There can be instances where
a conrmation does not arrive and so in this case this timer is used to ‘close
off’ the procedure and put the state machine back into a proper mode for
new operations.
Time is specied with 15 seconds intervals.
S56501If set to 1, RI (Ring Indicate) line is congured as an input and forces the
start-up mode (SReg512) and post-timeout on Start-up mode (SReg555)
to be dependent on the state of RI. The RI conditional modes are dened
by SRegs 566 to 569 inclusive.
S56617If S565=1, and RI is asserted then this is the mode the device will start up in.
S56717If S565=1, and RI is deasserted then this is the mode the device will
start up in.
S56817If S565=1, and RI is asserted then this is the mode the device will assume
after the post-start-up timeout dened in SReg 554 instead of mode dened
in SReg555
S56917If S565=1, and RI is deasserted then this is the mode the device will assume
after the post-start-up timeout dened in SReg 554 instead of mode dened
in SReg555
S58400..1Enable/Disable eSCO
When changing the unit returns ERROR 14 it implies the device is either in
a connection or waiting for a connection and so the new value cannot be
accepted. For the former, drop the connection, then issue the command
AT+BTX and then set the new value and for the latter issue the command
AT+BTX prior to setting the register.
S58800..1After a disconnection, there will be a cold reset
S58980..FCodec output gain
S59010..3Codec input gain
S59100..1FFDefault GPIO output states when not in a connection. This is used when
virtual digital i/o cable replacement mode is in operation
www.lairdtech.com
21
Laird Technologies
Page 22
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
REGISTERDEFAULTRANGECOMMENT
S59200..1Set this to 1 to reduce the trusted device database to just 1 record
when autosaving of pairing is enabled via S reg 538
S59300..1Automatically append last 6 digits of local bluetooth address to the
friendlyname which was set via AT+BTN or AT+BTF
S6890-450..+215Set codec output gain in dBr * 10
(applies to sink), default = 0
S6900-450..+215Set codec input gain in dBr * 10
(applies to source), default = 0
S73000..1Enable Auxiliary DAC
S73100..225Set Auxiliary DAC Level
9. ATSn? {Read S Register Value}
This will return the current value of register n.
For recognised values of n
Response: <cr,lf>As Appropriate<cr,lf>OK<cr,lf>
For unrecognised values of n
Response: <cr,lf>ERROR nn<cr,lf>
10. ATSn=? {Read S Register – Valid Range}
This will return the valid range of values for register n.
For recognised values of n
Response: <cr,lf>Sn:(nnnn..mmmm)<cr,lf>OK<cr,lf>
For unrecognised values of n
Response: <cr,lf>ERROR nn<cr,lf>
11. ATZ<n> {Hardware Reset and emerge into mode ‘n’}
Forces the device through a hardware reset which means it will eventually come alive in the local
command and unconnected mode. This allows changes to the PS store to take effect. The module
will issue an OK response after the reset is complete and it is ready to receive commands once again.
ATZ and ATZ0 signify reset and emerge into the current mode (see command ATI14). ATZ1 to ATZ4 instructs the module to reset and then emerge into the appropriate boot mode. Note that S Reg 103
species the boot mode from cold.
Response: <cr,lf>OK<cr,lf> and OK is returned after the RESET
12. AT&W {Write S Registers to Non-volatile Memory}
Writes current S Register values to non-volatile memory so that they are retained over a power cycle.
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR nn<cr,lf>
www.lairdtech.com
22
Laird Technologies
Page 23
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
13. ATIn {Information}
This will return the following information about the Laird Technologies device.
I0The product name/variant.
I1The CSR rmware build number.
I2The Laird Technologies rmware build number. For internal use only.
I3The Laird Technologies rmware revision.
I4A 12 digit hexadecimal number corresponding to the Bluetooth address of the device.
I5The manufacturer of this device.
I6The maximum size of trusted device database.
I7The manufacturer of the Bluetooth chipset.
I8The chipset format.
I90 if not in a connect state and 1 if in a connect state.
I11The reason why a “NO CARRIER” resulted in the most recent attempt at making an outgoing connection.
Where the response values are as follows:
0 = No prior connection
1 = Connection timeout
2 = Connection attempt cancelled
3 = Normal disconnection
4 = Peer device has refused connection
5 = Service prole <uuid> requested not available on remote device
6 = Connection has failed
32 = ATH was entered
33 = Incoming connection aborted because too many rings
34 = Unexpected incoming connection
35 = Invalid address
36 = DSR is not asserted
37 = Call limit of 65531 connections has been reached
38 = Pairing in progress
39 = No link key
40 = Invalid link key
255 = Unknown Reason
I12The last ERROR response number.
I60Connection status of SPP
0 = not connected
1 = connected
identical with ATI9
I61Connection status of A2DP
0 = not connected
1 = connected
I62Connection status of AVRCP
0 = not connected
1 = connected
www.lairdtech.com
23
For recognised values of n. All other values of n will generate an error.
Response: <cr,lf>As Appropriate<cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR nn<cr,lf>
Laird Technologies
Page 24
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
14. ATO {Enter Data Mode} (letter ‘o’)
Return to data mode. Assume that the module is in data mode after OK is received. Responds with
an error if there is no Bluetooth connection.
Response: <cr,lf> CONNECT 123456789012<cr,lf>
Or
Response: <cr,lf>ERROR nn<cr,lf>
15. AT&Fn {Set S Register Defaults}
This command will only work when the device is in local command and unconnected mode.
Depending on the value of ‘n’ it installs S Register values appropriate for various power modes,
ranging from minimum power consumption to maximum.
Legal values of ‘n’ are as per the following table. All other values of n will generate a syntax
error response. If ‘n’ is not specied then a default value of 0 is assumed where the baud rate is NOT changed.
&F0 (Default)Medium power consumption, UART baud rate unchanged.
&F1Minimum power consumption, UART baud rate set to 9600.
&F2Minimum power consumption, UART baud rate set to 38400.
&F3Minimum power consumption, UART baud rate set to 115200.
&F4Medium power consumption, UART baud rate set to 115200.
&F5Maximum power consumption, UART baud rate set to 115200.
&F6Maximum power consumption, UART baud rate set to 115200.
The new values are NOT updated in non-volatile memory until the AT&W command is sent to
the device.
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR nn<cr,lf>
General Bluetooth Control
1.AT+BTAn{ControlAudioChannel}
Once a Bluetooth connection is active, and assuming the peer device is also a Laird Technologies device,
this command is used to start/stop a SCO channel to transfer audio between the two peer devices.
+BTA0Switch off the channel.
+BTA1Switch on the channel.
On receipt of the command, the following response immediately follows.
Response: <cr,lf>OK<cr,lf>
The lower layers then go through the process of setting up the SCO channel, and as soon as
a SCO link is established, the following response is asynchronously sent to the host.
Response: <cr,lf>AUDIO ON<cr,lf>
Or if the SCO failed to be established.
Response: <cr,lf>AUDIO FAIL<cr,lf>
On the peer device, the host will asynchronously get ….
Response: <cr,lf>AUDIO ON<cr,lf>
www.lairdtech.com
24
Laird Technologies
Page 25
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
2.AT+BTC<devclass>{SetDeviceClassCode}
This command is used to set the device class code which will be sent in subsequent inquiry responses.
It can be read back using the AT+BTC? Command, as described below.
<devclass> is a 6 digit hexadecimal number derived as per section “1.2 The Class of Device/Service
Field” of the Bluetooth specication “Bluetooth Assigned Numbers”.
The 24 bits are made of 4 elds briey described as follows (bit 0 corresponds to the least signicant bit):-
Bits 0-1Format Type. This eld currently only has a value of 00 (i.e. format type 1)
Bits 2-7These 6 bits dene the Minor Device Class and the value is interpreted differently
based on the Major Device class stored in the next 5 bits.
Bits 8-12These 5 bits dene the Major Device Class as per Table 1.3 in
“Bluetooth Assigned Numbers”
Bits 13-23This is an 11 bit eld used as a mask to dene the Major Service Class, as per Table 1.2 in
“Bluetooth Assigned Number”
Laird Technologies devices do not map to any predened Major Service Class or Major Device Class
and so the default devclass as shipped is 001F00, which means no Major Service Class and
“Unclassied” Major Device class.
Other examples of device class codes are follows:-
Or for an invalid <devclass> value (usually a value which is not 6 hexadecimal characters long).
Response: <cr,lf>ERROR 08<cr,lf>
3.AT+BTC?{ReadDeviceClassCode}
This command is used to read the current device class code.
Response: <cr,lf>123456
<cr,lf>OK<cr,lf>
4.AT+BTD<bd_addr>{RemoveTrustedDevice}
This command is used to remove the specied device from the list of trusted devices in the non-volatile database. If the device is not in the database then the response will still
be an OK.
Response: <cr,lf>OK<cr,lf>
5.AT+BTD*{RemoveAllTrustedDevices}
This command is used to remove all devices from the list of trusted devices in the non-volatile
database. No conrmation will be asked for. So beware!!!
WARNING: If you make an authenticated connection, the link key gets cached in the underlying
stack. So if you subsequently delete the key using AT+BTD* and immediately request an
authenticated connection to the same device, then the connection will be established. To ensure
this does not happen, either send ATZ after the AT+BTD* OR send AT+BTD<bd_addr> for each
item in the trusted device database.
Response: <cr,lf>OK<cr,lf>
6.AT+BTF=<string>{SetFriendlyName}
This sets the friendly name of this device as seen by other devices
Enable page scanning and wait for a connection from device with Bluetooth address <bd_addr>.
If the specied address is 000000000000 then incoming connections are accepted from any device, is as per AT+BTP without an address. Inquiry Scans are disabled.
Enable page scanning only and wait for a connection from any device. Inquiry scans are disabled.
Response: <cr,lf>OK<cr,lf>
10.AT+BTI<devclass>{Inquire}
This will make the device perform an inquiry for device class code for delay milliseconds and max
number of unique responses, where delay is specied by S register 517 and max is specied by S
register 518.
The <devclass> is an optional parameter where the value species either a 6 digit device class code
or a 2 digit major device class. If it is not specied, then the value is taken from S register 516.
When <devclass> is 6 hexadecimal characters long, it species an AND mask which is used to lter
inquiry responses. When <devclass> is 2 hexadecimal characters long, it forces the inquiry to lter
responses to devices that match their major device class code to this value – which can only be in
the range 00 to 1F.
Response: <cr,lf>12346789012
<cr,lf>12345678914
<cr,lf>OK<cr,lf>
If the module is waiting for an incoming connection, (entered via AT+BTP, AT+BTG, AT+BTQ),
then it will respond with ERROR 14. To perform the inquiry, send AT+BTX to put the module
back into idle mode.
Response: <cr,lf>ERROR 14<cr,lf>
ERROR RESPONSE
A Bluetooth inquiry process is such that for a single inquiry request a device could respond
many times. To ensure that an address is sent to the host only once for a particular AT+BTI,
an array of addresses is created at the start of each AT+BTI and is lled as responses come in. This array of addresses is stored in dynamic memory and as such if the memory allocation fails
then the inquiry procedure is aborted and in that case an error response is sent to the host.
To clarify, a single AT+BTI will never return the same Bluetooth address more than once, but as
long as the responding device is active, all AT+BTI commands will always return it.
Response: <cr,lf>ERROR 27<cr,lf>
www.lairdtech.com
26
11.AT+BTIV<devclass>{Inquire}
As per AT+BTI but the response includes the device class code for all inquiry responses. Please refer
to the ‘ERROR RESPONSE’ note in the description for AT+BTI<devclass>.
Response: <cr,lf>12346789012,123456
<cr,lf>12345678914,123456
<cr,lf>OK<cr,lf>
Laird Technologies
Page 27
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
12.AT+BTIN<devclass>{Inquire}
As per AT+BTI but the response includes the device class code and friendly name for all inquiry
responses. Please refer to the ‘ERROR RESPONSE’ note in the description for AT+BTI<devclass>.
The friendly name strings are in UTF-8 format as per the Bluetooth specication.
Response: <cr,lf>12346789012,123456,”TDK SYSTEMS AT DONGLE 1”
<cr,lf>12345678914,123456, “TDK SYSTEMS RS232”
<cr,lf>OK<cr,lf>
Note: Many releases of rmware will return the product name as LAIRD, e.g.
Response: <cr,lf>12346789012,123456,”TDK SYSTEMS AT DONGLE 1”
<cr,lf>12345678914,123456, “TDK SYSTEMS RS232”
<cr,lf>OK<cr,lf>
We strongly recommend that any software implementation that uses this command should
check for LAIRD, EZURIO and TDK SYSTEMS to ensure backwards and forwards compatibility.
13.AT+BTK=<string>{SetPasskey}
This command is used to provide a passkey when PIN? 12345678 indications are received asynchronously. If a pairing is not in progress then the pin is written to non-volatile memory
for future use. Specifying an empty string deletes the key from the non-volatile memory.
The string length must be in the range 0 to 8, otherwise an error will be returned.
Response: <cr,lf>OK<cr,lf>
14.AT+BTM{DeleteIncomingPeerAddress}
This command is used to delete the peer address previously stored using AT+BTR<bd_addr>.
Response: <cr,lf>OK<cr,lf>
15.AT+BTM?{ReadIncomingPeerAddress}
This command is used to display the peer address stored in non-volatile memory, used to put
the module in pure cable replacement mode.
Response: <cr,lf>12346789012
<cr,lf>OK<cr,lf>
If the location is empty the response is as follows.
This sets the default friendly name of this device as seen by other devices. It will be stored
in non-volatile memory. Use AT+BTF to make the name visible to other devices. Use AT+BTN?
To read it back. An empty string (“”) will delete the string from non-volatile memory which will force the default name to be used.
Enable page scanning and wait for a connection from device with Bluetooth address <bd_addr>.
If the specied address is 000000000000 then incoming connections are accepted from any device, is as per AT+BTP without an address. Inquiry scanning is also enabled.
This command is used to store a peer address for outbound connections in non-volatile memory.
A value of 000000000000 has the special meaning of invalid peer address.
This command is used to set up a module in pure cable replacement mode.
If S register 512 = 1 and the peer address is NOT 000000000000, then it will periodically (time
specied via S register 505) attempt to connect to the peer address specied. In this circumstance
all commands from the host are buffered in the receive buffer, until a Bluetooth connection is
established with the peer device and it then sends the buffer across. This means that if the peer
device is not in the vicinity and will never be there, the device effectively becomes useless, as in
this circumstance a host would want to get attention of the AT parser to send it new commands
– probably one to delete the peer device.
In this circumstance, a recovery is possible by one of two methods. The rst method assumes that
the DTR from the host is connected to the DSR line of the module and the second method assumes
that this connection is absent. In the rst method it is enough to deassert the DTR line from the host and that will abort the autoconnect cycle. The second method is initiated by resetting the device
and then ensuring that the text string “AT+BT&BISM&<cr>” is sent (where <cr> is the carriage
return character). There is special code which looks out for this magic command and terminates
the autoconnect cycle if it sees it and conrms to the host of that fact by sending an “OK” response.
Response: <cr,lf>OK<cr,lf>
www.lairdtech.com
28
22.AT+BTR{DeleteOutgoingPeerAddress}
This command is used to delete the peer address previously stored using AT+BTR<bd_addr>.
Response: <cr,lf>OK<cr,lf>
23.AT+BTR?{ReadOutgoingPeerAddress}
This command is used to display the peer address stored in non-volatile memory, used to put the
device in pure cable replacement mode.
Response: <cr,lf>12346789012
<cr,lf>OK<cr,lf>
If the location is empty the response is as follows.
Response: <cr,lf>00000000000
<cr,lf>OK<cr,lf>
Laird Technologies
Page 29
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
24.AT+BTT{AddTrustedDevice}
This command is used to store the cached link key in the non-volatile database. If the database is full
it will respond with an ERROR. If the device is already in the database, then the key is replaced.
If the link key cache is empty, that is, a pairing has not been performed since the device was powered,
then the response will be an ERROR.
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR<cr,lf>
25.AT+BTT?{ListTrustedDevice}
This command is used to list the contents of the trusted device database. The link key is NOT
displayed so the response is as shown below. If the list is empty then just the OK response is sent
otherwise an OK is used to terminate the list. Use the command ATI6 to read the maximum size of
the trusted device database.
Response: <cr,lf>12346789012
<cr,lf>12345678913
<cr,lf>12345678914
<cr,lf>OK<cr,lf>
26.AT+BTW<bd_addr>{InitiatePairing}
This initiates pairing with a device whose Bluetooth address is <bd_addr>. An OK response is sent
and when the PIN is required, asynchronous indications will be sent to the host in the form PIN?
<bd_addr> where the address conrms the device with which the pairing is to be performed. To supply a PIN, use the AT+BTK command.
For a successful pairing, the link key is stored in a volatile cache which is overwritten every time a
new pairing is initiated using this command. The link key can be stored in a non-volatile database
within the device. The list of trusted devices is managed using commands AT+BTT?, AT+BTT and
AT+BTD. The AT+BTT? command produces a list of trusted Bluetooth addresses (link key is NEVER
displayed) and AT+BTT is used to store the cached link key. The command AT+BTD123456789012
is used to remove the specied device from the database.
The “OK” response is sent immediately on receipt of the AT+BTW command. On pairing completion,
an unsolicited message will be sent to the host which will be in the form PAIR n <bd_addr>.
See section 3.7 for more details.
If AT+BTI or AT+BTP or AT+BTG or AT+BTQ or ATD is issued between the AT+BTW command and the subsequence PAIR asynchronous response, then an ERROR response will be sent to
those commands as the device is not in a mode from where such commands can be actioned.
Response: <cr,lf>OK<cr,lf>
www.lairdtech.com
29
27.AT+BTW?{ListCachedTrustedDevice}
This command is used to list the cached trusted device.
Response: <cr,lf>12346789012
<cr,lf>OK<cr,lf>
If the cache is empty the response is as follows.
Response: <cr,lf>OK<cr,lf>
28.AT+BTX{DisablePage/InquiryScanning}
Disable page/inquiry scanning. This means it will not accept incoming connections or inquiry requests.
In fact this negates the effect of AT+BTQ, AT+BTG and AT+BTP commands.
Response: <cr,lf>OK<cr,lf>
Laird Technologies
Page 30
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
Hardware Unit Control
This section covers S-Registers and AT-Commands that are related to hardware units within the module.
1. Audio Loopback Mode
For testing purposes, an audio loopback mode will be introduced. The stereo audio input signal
is fed through the Kalimba DSP with running SBC codec, and is directed back to the audio stereo
output. Audio Loopback Mode is controlled with the new AT Command “AT+BTL”.
Table 3-2: Audio Loopback AT-Commands and S-Registers
TASKAT-COMMAND / SREGISTERCOMMENT
Set audio loopback modeAT+BTL<Mode>Mode:
Set sampling rate for Audio
Loopback Mode
2.CodecGain
On BC05-MM, analogue input and output gains can be set to one of 23 steps called “Gain Level”.
To each gain level, an overall gain (dBr) is assigned, according to Table 3 3: Gain Table. Gain values
can be specied either as gain level or as overall gain by separate S Registers. Please note that a
pair of such S-Registers always updates the other corresponding S-Register (e.g. S589 – S689
and S590 – S690).
For S689 and S690 the overall gain (dBr) must be entered multiplied by 10. If the input value
doesn’t match a gain table entry, the nearest possible value is set. The actually set value can be
checked by reading back S689/S690. The value of S689/S690 is printed out multiplied by 10 in order to avoid non integer numbers.
The new command class “AT+G…” is introduced in Bism3 which enables incremental
and decremental gain settings. The increment/decrement command corresponds to one row
up/down in the gain table (Table 3 3). The Gain level registers S589/S689 and S590/S690 are not affected by increment/decrement commands. Instead, the current gain level is cached
and can be retrieved by “AT+G(I|O)?”. There are 2 further commands to restore the cached
gain level from S589/S590 (“AT+G(I|O)R”) and to save the currently cached gain level
to S589/S590 (“AT+G(I|O)S”).
S419 [0..6], default=60 = 8 kHz
0 = off
1 = on, via PCM
2 = on, via SBC encoder/decoder
Set output gain levelS589 [0..22], default=15See Gain Table; S689 is affected, too
Set output overall gain (dBr)S689 [-450..+215], default=0See GainTable; value must be entered (and is
Set input gain levelS590 [0..22], default=15See Gain Table; S690 is affected, too
Set input overall gain (dBr)S690 [-450..+215], default=0See GainTable; value must be entered (and is
Increment current output
gain level
Decrement current output
gain level
Query current output gain levelAT+GO?
Restore current output gain
level from S589
Save current output gain
level to S589
Increment current input
gain level
Decrement current input
gain level
Query current input gain levelAT+GI?
Restore current input gain
level from S590
Save current input gain
level to S590
AT+GOUError 57 may appear if maximum gain
AT+GODError 58 may appear if minimum gain
AT+GOR
AT+GOS
AT+GIUError 57 may appear if maximum gain
AT+GIDError 58 may appear if minimum gain
AT+GIR
AT+GIS
returned) multiplied by 10; S589 is affected, too
returned) multiplied by 10; S590 is affected, too
level reached
level reached
level reached
level reached
Laird Technologies
Page 32
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
3.MicInputGain
A microphone preamplier which adds extra 20dB to input gain, is controlled by S-Register 415.
4.MicBias
Mic Bias will be enabled with S-Register 416.
Mic Bias Current is controlled by S-Register 417.
Mic Bias Voltage is controlled by S-Register 418.
5. Auxiliary DAC
The auxiliary DAC is enabled with S-Register 730.
The DAC output level is set by S-Register 731.
6. LED
The BT-MM+ module provides two dedicated output pins for LEDs (LED_EXT0, LED_EXT1).
Following modes are supported: LED_OFF, LED_ON, LED_PWM and LED_PULSE.
In LED_PWM mode, the parameters “Duty Cycle” an “PWM Period” can be specied via S-Registers.
This enables either a to dim the brightness of an LED (PWM Period=0) or to specify blinking with
dened on-time in a dened period (PWM Period > blinking visible for the eye)
In LED_PULSE mode, the brightness of an LED is modulated. Modulation speed is dened by
parameter “Pulse Rate” and maximum brightness is dened by parameter “Duty Cycle”.
Table 3-5: LED S-Registers
TASKAT-COMMAND / SREGISTERCOMMENT
Set LED_EXT0 modeS335 [0..3], default=0Mode:
Set LED_EXT1 modeS340 [0..3], default=0
Set LED_EXT0 Duty CycleS336 [0..4095], default = 2048referenced if LED mode = LED_PWM
Set LED_EXT1 Duty CycleS341 [0..4095], default = 2048
Set LED_EXT0 PWM PeriodS337 [0..15], default = 0referenced if LED mode = LED_PWM
Set LED_EXT1 PWM PeriodS342 [0..15], default = 0
Set LED_EXT0 Pulse RateS338 [0..15], default = 0referenced if LED mode = LED_PULSE
Set LED_EXT1 Pulse RateS343 [0..15], default = 0
0 = LED_OFF
1 = LED_ON
2 = LED_PWM
3 = LED_PULSE
or LED_PULSE
www.lairdtech.com
32
Bluetooth Proles
This section covers S-Registers and AT-Commands that are related to the supported Bluetooth Proles on the
BT-MM+ module.
1.ProleServerActivation
In order to advertise available services to potential client devices, S-Register 102 is used.
Supported proles can be activated by setting the appropriate Flag in S-Register 102 (see Table 3 1).
After S-Register 102 has been written, all S-Registers must be saved to non-volatile memory (“AT&W”)
and subsequently a reset has to be carried out (“ATZ”).
2.A2DP
The “Advanced Audio Distribution Prole” is used to transmit high quality audio streams between two Bluetooth devices. An A2DP role must be assigned to a BT-MM+ module, either source or sink.
After this has been done, the appropriate service can be advertised. An attempt to advertise
A2DP-service without prior set up of a role will result in a (new) response error code 46.
An incoming A2DP connection request is accepted automatically if a valid link key for the paging
device exists. If no link key is available, Secure Simple Pairing (SSP, BT2.1) or legacy pairing (BT2.0
or earlier) is carried out, depending on the Bluetooth Version of the paging device.
After an A2DP connection has been established, the module remains in AT Command mode.
S Register 531 is ignored for A2DP connections.
Laird Technologies
Page 33
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
Table3-6:A2DP-S-RegistersandAT-Commands
TASKAT-COMMAND / SREGISTERCOMMENT
Set A2DP roleS300 [0..2]0 = feature not set
1 = A2DP Sink (default)
2 = A2DP Source
Advertise serviceS102128 = A2DP, Error 46 if A2DP role has not
been set (see S300)
Initiate outgoing
A2DP connection
close only A2DP connection“AT+APH” or “ATH110D”Response:
close all connectionsATH*Response:
Set gain levelS589 [0..22], default = 15Set codec output gain level (applies to sink)
Set overall gain (dBr * 10)S689 [-450..215]Set codec output gain in dBr * 10
Set A2DP sink supported
features bit mask
Set A2DP source supported
features bit mask
AT+APD<bd_addr>Response if accepted:
“CONNECT 0123456789012,110D”
Response if rejected:
“NO CARRIER 110D”
“NO CARRIER 110D” if connection has
existed and S329=0
“NO CARRIER” if connection has not
existed and S329=0
“NO CARRIER <proleUUID>” for each
prole that was previously connected
(see section 3.7.2)
S590 [0..22], default = 15Set codec input gain level (applies to source)
(applies to sink), default = 0
S690 [-450..215]Set codec input gain in dBr * 10
(applies to source), default = 0
S312 [0..15]Bitmask - sink supported features:
Bit 0 = Headphone (default)
Bit 1 = Speaker
Bit 2 = Recorder
Bit 3 = Amplier
S313 [0..15]Bitmask - source supported features:
Bit 0 = Player (default)
Bit 1 = Microphone
Bit 2 = Tuner
Bit 3 = Mixer
www.lairdtech.com
33
3.AVRCP
The “Audio/Video Remote Control Prole” is used to remotely control audio or video streaming
devices. A device must be dened as either control or target. Furthermore, one of four categories
(Player/Recorder, Monitor/Amplier, Tuner, Menu) has to be assigned to a device.
The AVRCP specication [5] adopts the AV/C Digital Interface Command Set (AV/C command set,
dened by the 1394 Trade Association) device model and control message format. In this device
model a remote control target consists of one or more subunits. At least the subunit ”PANEL”
must exist. Remote control commands are passed to a subunit with the “PASS THROUGH”
command. A BT-MM+ Module, congured as target will support one PANEL subunit.
3.1 AVRCP-Control(CT)
This section describes AT Commands and S registers used when BT-MM+ is congured as
an AVRCP Controller (S301=1).
Laird Technologies
Page 34
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
3.1.1 InitiateAVRCPcontrolconnection
AT+AVD<bd_addr
Initiate AVRCP control connection to Bluetooth address <bd_addr
be congured as AVRCP Control by S register 301 = 1. Furthermore, a category be selected
hex
>
>. The module must
hex
in S register 302.
Response: <cr,lf>CONNECT 123456789012,110E<cr,lf>
Or: <cr,lf>NO CARRIER 110E<cr,lf>
Or: <cr,lf>ERROR 47<cr,lf>
Or: <cr,lf>ERROR 48<cr,lf>
After an AVRCP connection has been established, the module remains in AT
command mode. S Register 531 is ignored for AVRCP connections.
3.1.2 ReleaseAVRCPcontrolconnection
AT+AVH
Release AVRCP control connection.
Response: <cr,lf >NO CARRIER 110E<cr,lf>
3.1.3 SendUNITINFORequest
AT+AVU
Send a Unit Info request to a connected AVRCP target.
Response immediately: <cr,lf>OK<cr,lf>
On command completion:
<cr,lf>AVUR <n> <unit_id
n = status
: 0 – success
dec
> <unit_type
hex
> <company_id
hex
><cr,lf>
hex
1 – fail
4 – timeout
For unit_type see Table 3 9: AV/C Unit/Subunit Types.
3.1.4 SendSUBUNITINFORequest(incomplete)
AT+AVS<page
dec
>
Send a Subunit Info request to a connected AVRCP target.
Response: <cr,lf>OK<cr,lf> (immediately)
And: <cr,lf>AVSR <page
<page
<pagedata
> : requested page [0..31]
dec
> : 1st word of requested page
hex
> <pagedata
dec
> <cr,lf> (after command completion)
hex
www.lairdtech.com
34
Laird Technologies
Page 35
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
3.1.5 Send remote control command
AT+AVC<operation_id
Send a remote control command to a connected AVRCP target. Internally, a PASS
THROUGH command is created and sent to the PANEL subunit of the AVRCP target.
<operation_id
specied in Table 3 8. Some Operation IDs can be replaced by mnemonics, see Table 3 8.
<button_state> represents “Button pushed” (=0) or “Button released” (=1)
If <button_state> is not specied, two PASS THROUGH commands, each with
button_state=0 and button_state=1 will be created and sent consecutively.
The “OK” response is sent immediately on receipt of AT+AVC command. On command
completion, an unsolicited message will be sent to the host in the form “AVPTC n
<bd_addr> <button_state>”. AVPTC means “AVrcp Pass Through Conrmation”.
Parameter n indicates the command status:
‘n’=0: successful, command conrmation received from target
‘n’=1: timeout, target has not sent conrmation within the specied maximum time
‘n’=2: all other unsuccessful outcomes
Parameters:
<operation_id
<button_state> (optional) : ‘0’ - Button pushed
‘1’ - Button released
Response: <cr,lf>OK<cr,lf> (immediately)
And: <cr,lf>AVPTC n <operation_id
(after command completion)
If status n indicates an unsuccessful outcome,<operation_id
are omitted.
> is the value for the actual remote control command. Valid values are
hex
> (mandatory): see Table 3 8
hex
>,<button_state>
hex
> <button_state><cr,lf>
hex
> and <button_state>
hex
3.2 AVRCP–Target(TG)
This section describes AT Commands and S registers when BT-MM+ is congured as an AVRCP
Target (S301=2). In this mode, BT-MM+ supports one subunit PANEL (see [5]).
3.2.1 IncomingAVRCPConnectionRequest
An incoming AVRCP connection request is accepted automatically if a valid link key for
the paging device exists. If no link key is available, Secure Simple Pairing (SSP, BT2.1)
or legacy pairing (BT2.0 or earlier) is carried out, depending on the Bluetooth Version
of the paging device.
After an AVRCP connection has been established, the module remains in AT command
mode. S Register 531 is ignored for AVRCP connections.
3.2.2 UNIT INFO Response
It is mandatory to respond to a UNIT INFO command if congured as AVRCP target.
Required response parameters are IEEE Company ID and a Unit Type.
The IEEE Company ID is a 24 bit integer which can be set via new S register 303.
In the current revision of BT-MM+ rmware, subunit “Panel” (=0x09) will be returned
always. Values of unit/subunit types are outlined in Table 3 9.
3.2.3 SUBUNITINFOResponse
It is mandatory to respond to a SUBUNIT INFO command if congured as AVRCP target.
Required response parameters are Subunit type and MaxSubUnitId.
Subunit type will always be returned as 0x09 (Panel).
MaxSubUnitId will always be returned as 0x00 (only one subunit exists, which is panel)
www.lairdtech.com
35
Laird Technologies
Page 36
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
www.lairdtech.com
36
3.2.4 PASSTHROUGHIndication
An incoming PASS THROUGH command will be indicated by an unsolicited message
AVPTI <subunit_id
For subunit_id
> <operation_id
hex
see Table 3 9. For operation_id
hex
> <button_state>
hex
see Table 3 8.
hex
<button_state>: ‘0’ is Button pushed
‘1’ is Button released
3.2.5 PASSTHROUGHResponse
AT+AVR<avrc_response_type
>
hex
If S register 310 = 0, a Pass Through (PT) response is required from the host.
The response is sent with:
AT+AVR<avrc_response_type
>
dec
Parameter:
<avrc_response_type
>: see Table 3 10, write-value.
dec
If S register 310 == 1, a Pass Through response is sent automatically with an
<avrc_response_type> congured by S register 311. In this case, the host is
not required to respond.
Table3-7:AVRCP-S-RegistersandAT-Commands
TASKAT-COMMAND / SREGISTERCOMMENT
Set AVRCP roleS301 [0..2]0 = disabled
Set AVRCP categoryS302 [0..4]0 = Feature disabled (default)
Set Company IdS303 [0..0xFFFFFF]IEEE Company ID, 24bit hexadecimal,Required for UNIT
Enable Unit Info Response S305 [0..1]default = 1
Enable Subunit Info Response S306 [0..1]default = 1
Congure PASS
THROUGH (PT) Response
Set automatic response
type
Advertise serviceS102256 = AVRCP, Error 47 if AVRCP role has not been set (see S301);
Initiate outgoing AVRCP
control connection
Close only AVRCP connection
Close all connectionsATH*Response:
Send a Unit Info requestAT+AVU
Send a Subunit Info
request
Send remote control com-
mand
Respond to incoming Pass
Through command
S310 [0..1]1 = Enable automatic PT-response, response type is read
S311 [0.. 7]This value is queried for automatic PT-Response, see Table 3-10
RING 0123456789012 110E Indication of AVRCP control connection request
CONNECT 0123456789012 AE 110E AVRCP control connection established‘0123456789012’ – bd_addr
NO CARRIER 110EAVRCP connection rejected or closed
NO CARRIERAll Connections closed
AVUR <unit_type
AVSRAV Subunit Info Response, sent in response to AT+AVS (SUBUNIT INFO
AVPTI <subunit_id
AVPTC n <operation_id
RING 0123456789012 110E Indication of AVRCP control connection request
> <company_id
hex
> <operation_id
hex
> <state>Conrmation of AT+AVC (Control Command Request)
hex
>AV Unit Info Response, sent in response to AT+AVU
hex
> <state>Indication of incoming Pass Through command
hex
of peer device ‘A’ - authenticated
‘E’ – encrypted
‘110E’ – UUID indicating AVRCP
(UNIT INFO Request),
<unit_type>: see Table 3 9
<company_id>: IEEE Company ID
Request), incomplete
<subunit_id
<operation_id
<state>: ‘0’ – Button pushed
‘1’ – Button released
n: ‘0’ – successful
‘1’ – timeout
‘2’ – not successful, other than timeout
>: subunit id
hex
>: see Table 3 8
hex
Laird Technologies
Page 39
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
SECURE SIMPLE PAIRING (SSP)
Secure Simple Pairing is supported on the BT-MM+ module. A set of S Registers provides conguration capabilities for SPP:
• Security Level – S320
• IO-Capability – S321
• Force man-in-the-middle-protection (MITM) – S322
• Disable legacy pairing – S323
For details see Table 3 1.
LINK KEY MANAGEMENT
On BT-MM+ link keys are managed by the AT rmware.
1.DedicatedBonding
In BT2.1 specication, “dedicated bonding” is dened as the exchange of link keys between two devices without the intention of establishing a connection immediately.
Dedicated bonding is initiated by “AT+BTW<BdAddr>” (initiation of pairing).
2.GeneralBonding
In BT2.1 specication, “general bonding” is dened as the exchange of link keys between two devices with the intention of establishing a connection immediately. This is the case if a device wants
to connection to another device without existing link key. Hence, pairing (authentication and exchange
of link keys) is initiated automatically prior to the connection.
General bonding is initiated by “ATD<BdAddr>”, “AT+APD<BdAddr>”, “AT+AVD<BdAddr>” if
there are no link keys for the peer device existing.
3.LegacyIssues(BT2.0)
There are some special cases if a legacy device (BT2.0 or earlier, e.g.BISM2) requests a connection
to a BT-MM+ (BT2.1) module.
General bonding does not work if initiated by the legacy device. Instead, the legacy device must
initiate dedicated bonding rst (for example on BISM2 the command “AT+BTW<BdAddr>” would
be used). After successful pairing, the connection can be initiated by the legacy device (for example
on BISM2 the “ATD<BdAddr>” command would be used).
www.lairdtech.com
39
Laird Technologies
Page 40
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
MISCELLANEOUS
1.ProleConnectionStatus
The connection status of a prole can be queried by an ATI-Command. This might be helpful in order
to decide whether to disconnect all connected proles (via ATH*) or a certain one. For details please
see Table 3-12.
Table3-12:ProleConnectionStatus
TASKAT-COMMANDCOMMENT
Get connection status of SPPATI600 = not connected
1 = connected
identical with ATI9
Get connection status of A2DPATI610 = not connected
1 = connected
Get connection status of AVRCPATI620 = not connected
1 = connected
2.DisconnectingProles
A connection to a prole can be released by “ATH<Prole-UUID>” or by using the prole specic disconnect command.
The response on a disconnect command is “NO CARRIER <proleUUID>”. If no connection existed
then the proleUUID is omitted.
If all connections are to be released, ATH* may be used. Please see Table 3-13.
Disconnect AVRCPATH110E or AT+AVHIf AVRCP connection released:
Disconnect all prolesATH*Response = “NO CARRIER
3.ProductionInfoString
A string with production information can be retrieved by “ATI200”.
response = “NO CARRIER 110D”;
If no A2DP connection has existed:
response = “NO CARRIER”
response = “NO CARRIER 110D”;
If no AVRCP connection has existed:
response = “NO CARRIER”
<ProleUUID>” for each previously
connected prole
www.lairdtech.com
40
Laird Technologies
Page 41
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
APPENDIx
BT-MM+ Unsolicited Messages
MESSAGECOMMENT
CONNECT 0123456789012,110D A2DP control connection established ‘0123456789012’ – bd_
NO CARRIER 110DA2DP connection rejected or closed (if S329==0)
CONNECT 0123456789012,110E AVRCP control connection established ‘0123456789012’ – bd_
NO CARRIER 110EAVRCP connection rejected or closed (if S329==0)
AVUR n <unit_id
AVSR <page
AVPTI <operation_id
<subunit_type
AVPTC n <operation_id
> <unit_type
hex
> <pagedata
dec
hex
>
hex
> <company_id
hex
>AV Subunit Info Response, sent in response to
hex
hex
> <button_state> <subunit_id
> <state>Conrmation of AT+AVC (Control Command Request)
hex
PAIR ? <BdAddr>Incoming pairing request from device with BdAddr
PAIR 0 <BdAddr>Succesfully paired with device with BdAddr
PAIR 1 <BdAddr>Pairing error
PASSKEY ? <BdAddr>Incoming passkey request (respond with at+btb012345)
PASSKEY N <BdAddr> 012345Passkey notication (if MITM protection is enabled)
addr of peer device ‘110D’ – Prole UUID indicating A2DP
addr of peer device ‘110E’ – Prole UUID indicating AVRCP
>AV Unit Info Response, sent in response to AT+AVU (UNIT INFO
Request),
<unit_id
<unit_type
<company_id>: IEEE Company ID
>: unit id
hex
>: see Table 3 9
hex
AT+AVS (SUBUNIT INFO Request),
Page data: 1st word of requested page, incomplete
>
Indication of incoming Pass Through command
hex
<operation_id
<button_state>: ‘0’ – pushed
>: see Table 3 8
hex
‘1’ – released
<subunit_id
<subunit_type
>: subunit id
hex
>: subunit type, see Table 3 9
hex
n: ‘0’ – successful
‘1’ – timeout
‘2’ – not successful, other than timeout
www.lairdtech.com
41
BT-MM+ Error Responses
ERRORDESCRIPTION
01Register not recognised
02Value for register is out of range
03Incoming call NOT pending
04No call to connect to. This error code has meaning for ATO only
05Syntax Error
06Empty String
06Device Class could not be stored
08Invalid Device Class Code
09Invalid Bluetooth Address
10Could not set Service or Friendly name
11PS Store Write
12PS Store Read
13Not Idle
14Incorrect Mode
15Already Scanning
16Pairing is already in progress
17Not USED
Laird Technologies
Page 42
BTM520/521
Bluetooth® Multimedia Plus Module
CONFIGURING
THE BTM520/521
ERRORDESCRIPTION
18Not USED
19Not USED
20Not safe to write to Non-volatile Store - Ongoing Bluetooth Connection
21Link Key Cache is Empty
22Link Key Database is Full
23Malloc returned NULL - Resource Issue
24Remote Address same as Local Address
25Connection Setup Fail, DSR Not asserted
26Unauthenticated licence
27Max Responses (See S Register 518) too high. Memory allocation error
28The length of Pin in AT+BTK is too long
29Invalid Ring count specied for S Register 0 or 100. If S0<>0 and S100<>0 then S0 must be < S100
30ADC Error
31Analogue Value cannot be read as it is set for output
32Analogue Value cannot be written as it is set for input
33S Register Value is invalid
34Both L and R modier cannot be specied in ATD command
35Invalid Major Device Class – valid value in range 0x00 to 0x1F inclusive
36Pairing in progress – Command cannot be actioned – try again later
37Invalid Sniff parameter specied. E.g. new Attempt value greater than MinInterval. Solution is to rst
increase MinInterval and re-enter the Attempt value.
38Get Remote Friendly name Failed
39Failed to change mode to Multipoint
407 Bit mode requires parity to be even or odd
41Unused
42 Unused
43Unused
44Unused
45Unused
46No A2DP role has been set (see S register 300)
47No AVRCP role has been set (see S register 301)
48No AVRCP category has been set (see S register 302)
49No AVRCP control connection
50No A2DP or AVRCP connection currently incoming
50No A2DP or AVRCP connection currently incoming
51Invalid operation ID (AVRCP)
52Wrong AVRCP role
53Command disabled by S-Register 310
54Production info string does not exist
55Audio resource error
56Invalid UUID
57Maximum gain level reached
58Minimum gain level reached
www.lairdtech.com
42
Laird Technologies
Page 43
BTM520/521
1
12
13
27
28
5440
39
34
RF OUT (See Note 1)
15.2
21.2
1x11
1x14
pin pitch
pin pitch
Pad Width 0.7 Typ
Pad Length 1.65 Typ
5.5
7
10.6
7.6
MODULE OUTLINE
(See note 2)
1
12
1327
28
5440
39
1
12
13
27
28
54
40
39
TOP VIEW
BOTTOM VIEW
(COMPONENT SIDE)
(SMT PADS)
E
D
34
34
RF OUT
RF OUT
SIDE VIEW
Description
54 pin BT Voice Module (8X6 Flash)
Size
20.0 x 14.0 x 2.4mm
Pitch1.0mm
Dimension Minimum TypicalMaximumNotes
D1
E1
e
G
H
A1
A2
A
b
A2.42.7
A10.80.91.0
A21.51.7
b0.60
D
13.8714.014.13
E19.8720.020.13
e1.0
D111.0
E114.0
F
1.50
G
3.00
PCB Thickness
RF Shield Height
Global pad width
Global pitch
2.3
H
0.85
Global length of pad to edge of board
Unitsmm
Pin Outs
RFShield
U1
U3
Orientation mark
on PCB and RF Shield
denotes pin 1
F
H
1.3
0.650.55
Pad Centre to Board edge
Pad Centre to Board edge
Bluetooth® Multimedia Plus Module
MECHANICAL
DRAWINGS
MECHANICAL DETAILS
43
www.lairdtech.com
RECOMMENDED PCB FOOTPRINT
(all dimensions in mm)
Laird Technologies
Page 44
BTM520/521
5
5
4
4
3
3
2
2
1
1
DD
CC
B
B
A
A
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
AGND
VCC_IO
VCC_IO
VCC_IO
VCC_IO
SPKR_A_P
SPKR_A_N
SPKR_B_N
SPKR_B_P
MIC_BIAS
MIC_A_P
MIC_A_N
MIC_B_N
MIC_B_P
PIO_5/BT_STATE_BT_PRIORITY
PIO_7/RF_ACTIVE
PIO_6/WLAN_ACT
PIO_0/BT_ACTIVE
MIC_A_N_DIFF
AGND
MIC_A_N_DIFF
Title
Size Document NumberRev
Date:Sheet
of
BTVMD-R-001-0404
Mini Dev Board - Comms
C
13Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheetof
BTVMD-R-001-0404
Mini Dev Board - Comms
C
13Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheetof
BTVMD-R-001-0404
Mini Dev Board - Comms
C
13Friday, October 31, 2008
Single ended Stereo
Headphone Output
Single-ended stereo input
J3
NF 3 way 2.5mm audio jackJ3NF 3 way 2.5mm audio jack
1
2
4
3
J1
3 way 2.5mm audio jackJ13 way 2.5mm audio jack
1
2
4
3
R38
NF 0R
R38
NF 0R
12
+
C35
NF 100u
+
C35
NF 100u
+
C32
NF 100u+C32
NF 100u
R4
39RR439R
12
R30
2K2
R30
2K2
12
SW1NFSW1
NF
132
4
C7
NF 15pFC7NF 15pF
12
SW2NFSW2
NF
13
24
R160RR16
0R
12
R25
NF 0R
R25
NF 0R
12
R20RR20R
1
2
+
C33
NF 100u
+
C33
NF 100u
R22
NF 0R
R22
NF 0R
12
J2
3 way 2.5mm audio jackJ23 way 2.5mm audio jack
1
2
4
3
C3
100uC3100u
1 2
SW3NFSW3
NF
132
4
R170RR17
0R
1
2
C14
15pF
C14
15pF
12
R10
1MR
R10
1MR
12
R150RR15
0R
12
R60RR6
0R
12
SW4NFSW4
NF
132
4
TP3T P3
1
C12
15pF
C12
15pF
12
R9
39RR939R
12
R290RR29
0R
12
R36
2K2
R36
2K2
12
R18
10K
R18
10K
12
R24
NF 0R
R24
NF 0R
1
2
C9
NF 15pFC9NF 15pF
12
L3
15nL315n
R37
7K5
R37
7K5
1
2
C5
100uC5100u
1 2
R23
NF 0R
R23
NF 0R
12
R140RR14
0R
12
R5
1MRR51MR
12
TP4T P4
1
R3
10KR310K
12
R10RR1
0R
1
2
R34
NF 0R
R34
NF 0R
12
C11
15pF
C11
15pF
12
J4
3 way 2.5mm audio jackJ43 way 2.5mm audio jack
1
2
4
3
C4
100nC4100n
12
R26
NF 0R
R26
NF 0R
12
R21
NF 0R
R21
NF 0R
12
C2
100nC2100n
12
R200RR20
0R
12
R70RR70R
1
2
R320RR32
0R
12
L1
15nL115n
R39
NF 0R
R39
NF 0R
12
TP1T P1
1
R28
NF 0R
R28
NF 0R
1
2
C13
15pF
C13
15pF
12
R35
7K5
R35
7K5
1
2
C6
100uC6100u
1 2
+
C34
NF 100u
+
C34
NF 100u
R33
NF 0R
R33
NF 0R
12
TP2T P2
1
R8
10KR810K
12
R13
10K
R13
10K
12
C1
100uC1100u
1
2
L4
15nL415n
R19
NF 0R
R19
NF 0R
12
R270RR27
0R
12
L2
15nL215n
R31
NF 0R
R31
NF 0R
12
C10
NF 15pF
C10
NF 15pF
12
C8
NF 15pFC8NF 15pF
12
Bluetooth® Multimedia Plus Module
MECHANICAL
DRAWINGS
www.lairdtech.com
44
Laird Technologies
Page 45
BTM520/521
5
5
4
4
3
3
2
2
1
1
DD
CC
B
B
A
A
AGND
AGND
VCC_IO
VCC_3V3
VCC_IO
VCC_3V3VCC_3V3
VCC_3V3
VCC_3V3
VCC_IOVCC_IO
VCC_3V3
VCC_IO
VCC_3V3
VCC_3V3
VCC_IO
VCC_IO
VCC_IO
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VCC_3V3
VDD_CONN
VCC_3V3
VCC_IO
USB_DSR
USB_DCD
USB_CTS
PIO_1/DCD
Module_TXUSB_RX
SPI_CLK_PC
SPI_CS_PC
SPI_MISO_PC
SPI_MOSI_PC
PCM_IN
PCM_CLK
PCM_SYNC
Module_RTS
Module_TX
RESET_
Module_RX
Module_CTS
PIO_3/RI
PIO_1/DCD
PIO_3/RIUSB_PIO_3/RI
PIO_2/DSR
PIO_5/DTR
Module_RTS
PCM_CLK
PCM_OUT
Module_CTS
PCM_SYNC
Module_RTS
SPKR_A_N
SPI_MOSI
LED EXT1
LED EXT0
SPKR_A_P
SPKR_B_P
PIO_0/BT_ACTIVE
SPKR_B_N
MIC_BIAS
ANT
MIC_B_P
MIC_A_N
MIC_A_P
MIC_B_N
PIO_7/RF_ACTIVE
USB_MOD_D+
PIO_6/WLAN_ACT
USB_MOD_D-
RESET_
SPI_MISO
SPI_CS
PIO_5/BT_STATE_BT_PRIORITY
PIO_5/DTR
PIO_2/DSR
PIO_3/RI
PIO_1/DCD
SPI_CLK
PCM_IN
Module_RX
Module_TX
SPI_CLK_PC
SPI_CS_PC
SPI_CS
SPI_CLK
SPI_MOSI_PC
SPI_MOSI
SPI_MISO_PC
SPI_MISO
AGND
LED EXT1
USB_MOD_D+
LED EXT0
USB_MOD_D-
USB_TX
Module_RX
Module_CTSUSB_RTS
USB_DTR
FTDI_EN
FTDI_EN
FTDI_EN
FTDI_EN
USB_PWREN
MIC_BIAS
SPKR_B_P
MIC_B_N
SPKR_A_P
MIC_B_P
MIC_A_N
MIC_A_P
SPKR_A_N
SPKR_B_N
PCM_OUT
AGND
PIO_2/DSR
PIO_5/DTR
PIO_2/DSR
PIO_3/RI
PIO_1/DCD
PIO_5/DTR
Title
Size Document NumberRev
Date:Sheet
of
BTVMD-R-001-0404
Mini Dev Board - Comms
C
23Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheetof
BTVMD-R-001-0404
Mini Dev Board - Comms
C
23Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheetof
BTVMD-R-001-0404
Mini Dev Board - Comms
C
23Friday, October 31, 2008
R51
10K
R51
10K
12
D1
HSMC-A100-Q00J1D1HSMC-A100-Q00J1
2
1
R41
10K
R41
10K
12
U1
NC7SZ125U1NC7SZ125
OE_
1
IN
2
GND
3
OUT
4
VCC
5
U4
CONN_SM_54U4CONN_SM_54
PIO_15/DTR
1
PIO_5/BT_STATE/BT_PRIORITY
2
PCM_IN3PCM_OUT4PCM_SYNC
5
PCM_CLK
6
VDD_USB10VDD_IO11MASTER_VIN
12
SPI_CS
14
SPI_MISO
15
SPI_CLK
16
SPI_MOSI
17
PIO_2/DSR
18
LED_EXT17LED_EXT0
8
PIO_0/BT_ACTIVE
21
GND2
22
AUDIO_GND
23
SPKR_A_N
24
SPKR_A_P
25
SPKR_B_N
26
SPKR_B_P
27
MIC_BIAS
28
BC05_RST
54
PIO_6/WLAN_ACTIVE
53
USB_D+
46
USB_D-
45
PIO_7/RF_ACTIVE
52
GND4
47
UART_RTS
48
UART_CTS
49
NC4
44
NC5
43
NC6
42
NC15
41
NC14
40
NC1339NC1238NC11
37
NC10
36
ANT
34
NC9
35
NC8
33
MIC_AN_C
32
MIC_AP_C
31
MIC_BN_C
30
MIC_BP_C
29
UART_RX
51
UART_TX
50
GND1
9
GND3
13
PIO_3/RI
19
PIO_1/DCD
20
R71
130R
R71
130R
12
R47
10K
R47
10K
12
R540RR54
0R
12
R65
10K
R65
10K
12
R660RR66
0R
1
2
JP4NFJP4
NF
1
2
345678
910
R63
10K
R63
10K
12
R40
10K
R40
10K
12
R57
10K
R57
10K
12
R680RR68
0R
1
2
C15
100n
C15
100n
12
R50
10K
R50
10K
12
C21
100n
C21
100n
12
R43
10K
R43
10K
12
R55
10K
R55
10K
12
D2
HSMC-A100-Q00J1D2HSMC-A100-Q00J1
2
1
U2
NC7SZ125U2NC7SZ125
OE_1IN2GND
3
OUT
4
VCC
5
R46
10K
R46
10K
12
R100
1K5
R100
1K5
12
R62
10K
R62
10K
12
TP5T P5
1
R690RR69
0R
1
2
R670RR67
0R
1
2
JP3NFJP3
NF
135
6
4
2
R60
10K
R60
10K
12
R52
10K
R52
10K
12
C19
100n
C19
100n
12
R59
10K
R59
10K
12
C17
100n
C17
100n
12
U3
NC7SZ125U3NC7SZ125
OE_
1
IN2GND
3
OUT
4
VCC
5
R450RR45
0R
12
R42
10K
R42
10K
12
JP2NFJP2
NF
1
3
56
4
2
JP1
NF Header 6X2
JP1
NF Header 6X2
12
34
56
789
10
1112
C18
100n
C18
100n
12
C16
100n
C16
100n
12
R58
10K
R58
10K
12
U5
74LCX244U574LCX244
OE1_
1
I0
2
O43I14O55I26O67I38O79GND
10
I7
11
O3
12
I6
13
O2
14
I5
15
O1
16
I4
17
O0
18
OE2_
19
VCC
20
R44
10K
R44
10K
12
R490RR49
0R
12
R64
10K
R64
10K
12
R61
10K
R61
10K
12
R56
10K
R56
10K
12
J5
HEADER 10 X 1J5HEADER 10 X 1
1
2
3456789
10
C20
100n
C20
100n
12
R480RR48
0R
12
R53
10K
R53
10K
12
TP6T P6
1
R70
130R
R70
130R
12
Bluetooth® Multimedia Plus Module
MECHANICAL
DRAWINGS
www.lairdtech.com
45
Laird Technologies
Page 46
BTM520/521
5
5
4
4
3
3
2
2
1
1
DD
CC
B
B
A
A
D-
50ohm Track50_ohm Track
D+
VDD_3V3_IO
VDD_USB
VDD_3V3_IO
VDD_CONN
VDD_USB
VCC_3V3
VCC_3V3
VCC_3V3
VDD_CONN
VDD_USB
VCC_3V3
VCC_3V3
USB-
USB+
USB_PWREN
USB_SLEEP
USB_RTS
USB_CTS
USB_RX
USB_TX
USB-
USB+
USB_PWREN
RESET_FTDI
USB_DTR
USB_DSR
USB_DCD
USB_PIO_3/RI
RESET_
ANT
USB_MOD_D+
USB_MOD_D-
Title
Size Document NumberRev
Date:Sheet
of
BTVMD-R-001-0404Mini_Dev_Power_Supplies
C
33Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheet
of
BTVMD-R-001-0404Mini_Dev_Power_Supplies
C
33Friday, October 31, 2008
Title
Size Document NumberRev
Date:Sheet
of
BTVMD-R-001-0404Mini_Dev_Power_Supplies
C
33Friday, October 31, 2008
M3
Mounting HoleM3Mounting Hole
J6
SMA_VertJ6SMA_Vert
1
2
3
4
5
C23
100n
C23
100n
12
TP12
TH_TEST_POINT
TP12
TH_TEST_POINT
1
C25
10N
C25
10N
12
R74
0.1R 0805
R74
0.1R 0805
1
2
C301nC30
1n
12
R85N/FR85N/F
1
2
R79
10K
R79
10K
12
R72
9K1
R72
9K1
12
D5
HSMG-A100-HO1J1D5HSMG-A100-HO1J1
21
R76
1K3
R76
1K3
12
C28NFC28
NF
12
M2
Mounting HoleM2Mounting Hole
R94 NF 0RR94 NF 0R
12
R86
10K
R86
10K
12
C24
100n
C24
100n
12
M1
Mounting HoleM1Mounting Hole
R84
10K
R84
10K
12
R73
110R
R73
110R
12
R900RR90
0R
12
L5
BLM18PG221SN1DL5BLM18PG221SN1D
12
FID2
Fiducial
FID2
Fiducial
D3
Diode_S1AD3Diode_S1A
12
R11
NF 9K1
R11
NF 9K1
12
CN1
DC Power jack_2.1mm
CN1
DC Power jack_2.1mm
1
2
3
R771KR77
1K
12
R91
NF 9K1
R91
NF 9K1
12
R81 0RR81 0R
1
2
U6
MCP1726-ADJE/MFU6MCP1726-ADJE/MF
Vin_11Vin_22/SHDN3GND
4
PWRGD
5
Cdelay
6
ADJ
7
Vout
8
GND
9
R88
4K7
R88
4K7
12
C27
100n
C27
100n
12
Q1
IRF5810Q1IRF5810
1
5
6
42
3
C22
2u2
C22
2u2
12
TP7T P7
1
R78
10K
R78
10K
1
2
R801KR80
1K
12
TP15TP15
FID1
Fiducial
FID1
Fiducial
TP11
TH_TEST_POINT
TP11
TH_TEST_POINT
1
R87
10K
R87
10K
12
OFF
SW5
3 position switch
OFF
SW5
3 position switch
2
1
3
JP5
-
USB B
JP5
-
USB B
Vcc
1
D-
2
D+
3
GND
4
556
6
TP8T P8
1
D6
BAT54CD6BAT54C
1
2
3
R75 10KR75 10K
1
2
R93 NF 0RR93 NF 0R
12
C29
100n
C29
100n
12
U8
FT232RU8FT232R
TXD
30
DTR#
31
RTS#
32
VCCIO
1
RXD2RI#
3
GND
4
DSR#6DCD#
7
CTS#
8
CBUS3
11
CBUS2
10
OSCO
28
OSCI
27
TEST
26
AGND
24
CBUS1
21
CBUS4
9
GND
20
VCC
19
RESET#
18
GND
17
3V3OUT
16
USBDM
15
USBDP
14
NC_5
5
NC_4
12
NC_6
13
CBUS0
22
NC_1
23
NC_2
25
NC_3
29
THPAD
33
R83
4.7K
R83
4.7K
12
SW6
BFS-1000
SW6
BFS-1000
1324
M4
Mounting HoleM4Mounting Hole
TP13TP13
R82 0RR82 0R
12
TP14TP14
R92
NF 9K1
R92
NF 9K1
12
C26
2u2
C26
2u2
12
U7
NC7SV17U7NC7SV17
NC1
1
IN
2
GND
3
OUT
4
VCC
5
C31
100n
C31
100n
12
Bluetooth® Multimedia Plus Module
MECHANICAL
DRAWINGS
46
www.lairdtech.com
Laird Technologies
Page 47
BTM520/521
Bluetooth® Multimedia Plus Module
ORDERING
INFORMATION
ORDERING INFORMATION
BTM520 Bluetooth® Multimedia Plus Module (external antenna)
BTM521 Bluetooth® Multimedia Plus Module with integrated antenna
DVK-BTM520 Development Board with BTM520 soldered in place
DVK-BTM521 Development Board with BTM521 soldered in place
This is a preliminary user manual. Please check with Laird Technologies for the latest information before
commencing a design. If in doubt, ask.
Refer to the schematic BTV-R-003.pdf for the Development Kit for examples of typical pin connections.
A pdf of the schematic can be downloaded from the product web page.
TM
Page 48
Laird Technologies is the world leader in the design and
manufacture of customized, performance-critical products for
wireless and other advanced electronics applications.
Laird Technologies partners with its customers to nd
solutions for applications in various industries such as:
The information contained in this manual and the accompanying software programs are copyrighted and all rights are reserved by Laird Technologies, Inc. Laird Technologies, Inc. reserves the right to make periodic
modications of this product without obligation to notify any person or entity of such revision. Copying, duplicating, selling, or otherwise distributing any part of this product or accompanying documentation/software
without the prior consent of an authorized representative of Laird Technologies,Inc. is strictly prohibited.
All brands and product names in this publication are registered trademarks or trademarks of their respective holders.
This material is preliminary
Information furnished by Laird Technologies in this specication is believed to be accurate. Devices sold by Laird Technologies are covered by the warranty and patent indemnication provisions appearing in its Terms
of Sale only. Laird Technologies makes no warranty, express, statutory, and implied or by description, regarding the information set forth herein. Laird Technologies reserves the right to change specications at any
time and without notice. Laird Technologies’ products are intended for use in normal commercial and industrial applications. Applications requiring unusual environmental requirements such as military, medical life-
support or life-sustaining equipment are specically not recommended without additional testing for such application.
Limited Warranty, Disclaimer, Limitation of Liability
For a period of one (1) year from the date of purchase by the OEM customer, Laird Technologies warrants the OEM transceiver against defects in materials and workmanship. Laird Technologies will not honor this
warranty (and this warranty will be automatically void) if there has been any (1) tampering, signs of tampering; 2) repair or attempt to repair by anyone other than an Laird Technologies authorized technician. This
warranty does not cover and Laird Technologies will not be liable for, any damage or failure caused by misuse, abuse, acts of God, accidents, electrical irregularity, or other causes beyond Laird Technologies’ control,
or claim by other than the original purchaser. In no event shall Laird Technologies be responsible or liable for any damages arising: From the use of product; From the loss of use, revenue or prot of the product; or
As a result of any event, circumstance, action, or abuse beyond the control of Laird Technologies, whether such damages be direct, indirect, consequential, special or otherwise and whether such damages are incurred
by the person to whom this warranty extends or third party. If, after inspection, Laird Technologies’ determines that there is a defect, Laird Technologies will repair or replace the OEM transceiver at their discretion. If
the product is replaced, it may be a new or refurbished product.
48
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.