AT Command Set. Laird Technologies BTM 411, BTM 410, PI4411B
Below you will find brief information for Bluetooth Data Module BTM 410, Bluetooth Data Module BTM 411. The BTM410 and BTM411 Bluetooth® modules from Laird Technologies have been designed to meet the needs of developers who wish to add robust, short range Bluetooth data connectivity to their products. They are based on the market leading Cambridge Silicon Radio BC04 chipset, providing exceptionally low power consumption with outstanding range. They support the latest Bluetooth® Version 2.1 Specification, providing the important advantage of Secure Simple Pairing, which improves security and enhances the ease of use for end customers.
Advertisement
Advertisement
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
AT COMMAND SET
Assumptions
The CSR (Cambridge Silicon Radio) Bluecore chipset in Laird Technologies devices is memory resource limited.
Therefore it is NOT proposed that there be full implementation of the AT protocol as seen in modems. The claim made for this device is that it will have a protocol similar to an AT modem. In fact, the protocol is similar enough so that existing source code written for modems, can be used with very little modi fi cation with a Laird
Technologies device.
Therefore the following assumptions are made:
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 fi
4. All Bluetooth Device Class codes are represented by a fi xed 6 digit hexadecimal string, case insensitive.
Commands
This section describes all available AT commands. Many commands require mandatory parameters and some take optional parameters. These parameters are either integer values, strings, Bluetooth addresses or device classes. The following convention is used when describing the various AT commands.
<bd_addr>
<devclass>
N
M
<string>
<uuid>
A 12 character Bluetooth address consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
A 6 character Bluetooth device class consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
A positive integer value.
An 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
A string delimited by double quotes. E.g. “Hello World”. The “ character MUST be supplied as delimiters.
A 4 character UUID number consisting of ASCII characters ‘0’ to ‘9’, ‘A’ to ‘F’ and ‘a’ to ‘f’.
1. ^^^ {Enter Local Command Mode}
When in data and connected mode, the host can force the device into a command and connected mode so that AT Commands can be issued to the device. The character in this escape sequence is
speci fi
speci fi
Section 5: Dropping Connections for more related information.
In modems this escape sequence is usually “+++”. “^^^” is speci fi ed to avoid confusion when the module is providing access to a modem.
2. !!! {Enter Remote Command Mode}
When in data and connected mode, the host can force the remote device into a command and connected mode so that AT Commands can be issued to the device remotely. The escape sequence guard time is speci fi ed by S Register 12 and is the same as per the ^^^ escape sequence. By default the guard time is set to 100 milliseconds. The remote device issues ATO as normal to return to data mode. (Refer to step 12)
For this command to be effective S Register 536 must be set to 1.
10 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
3. AT
Used to check the module is available.
4. 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 device.
Response: <cr,lf>CONNECT 123456789012<cr,lf>
5. ATD<U><Y><bd_addr>,<uuid> {Make Outgoing Connection}
Make a connection to device with Bluetooth address <bd_addr> and SPP pro fi le <uuid>. The <uuid> is an optional parameter which speci fi es the UUID of the pro fi le server to attach to, and if not supplied then the default UUID from S Register 101 is used. As this is a device which utilises the RFCOMM layer as described in the Bluetooth speci fi cation, it necessarily implies that only pro fi les based on
RFCOMM can be accessed.
If <U> is not speci fi ed, then authentication is as per register 500, otherwise the connection will
If <Y> is not speci fi ed, then encryption is as per register 501, otherwise the connection will have enabled.
The timeout is speci fi ed by S register 505.
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:-
In that case, issuing an ATZ to reset the device will reset the count to 0 and more connections possible.
The following RFCOMM based UUIDs are de fi ned in the Bluetooth Speci fi cation:-
PROFILE NAME
Serial Port
LAN Access Using PPP
Dialup Networking
IrMC Sync
OBEX Object Push
OBEX File Transfer
IrMC Sync Command
Headset
Cordless Telephony
Intercom
Fax
Audio Gateway
WAP
WAP_CLIENT
UUID
0x1101
0x1102
0x1103
0x1104
0x1105
0x1106
0x1107
0x1108
0x1109
0x1110
0x1111
0x1112
0x1113
0x1114
11 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
6. ATD<U><Y>L {Remake Connection}
Make a connection with the same device and service as that speci fi ed in the most recent ATD command. The <UY> modi
speci fi fi
ed AND a Bluetooth address.
fi er is
If both ‘L’ and ‘R’ modi fi ers are speci fi ed then an error will be returned.
Response: <cr,lf>CONNECT 123456789012 AE<cr,lf>
7. ATD<U><Y>R {Make Connection to peer speci fi ed in AT+BTR}
Make a SPP connection with the device address speci fi ed in the most recent AT+BTR command.
The service is as speci fi ed in S Register 101. The <UY> modi fi ers are optional. An error will be returned if the ‘R’ modi fi er is speci fi ed AND a Bluetooth address.
If both ‘R’ and ‘L’ modi fi ers are speci fi ed then an error will be returned.
Response: <cr,lf>CONNECT 123456789012 AE<cr,lf>
8. 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.
E0
E1
Disable echo.
Enable echo.
All other values of n will generate an error.
Or
9. ATH {Drop Connection}
Drop an existing connection or reject an incoming connection indicated by unsolicited messages.
10. ATIn {Information}
This will return the following information about the Laird Technologies device.
I6
I7
I4
I5
I8
I9
I2
I3
I0
I1
The product name/variant.
The CSR fi rmware build number.
The Laird Technologies fi rmware build number. For internal use only.
The Laird Technologies fi rmware revision.
A 12 digit hexadecimal number corresponding to the Bluetooth address of the device.
The manufacturer of this device.
The maximum size of trusted device database.
The manufacturer of the Bluetooth chipset.
The chipset format.
0 if not in a connect state and 1 if in a connect state.
12 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
I14
I15
I16
I20
I33
I42
I11
I12
I13
I101
I111
The 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 pro fi le <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
The last ERROR response number.
The Sniff status is returned as follows:-
Response: <cr,lf>a:b,c,d,e<cr,lf>OK<cr,lf>
Where ‘a’ = 0 when not online and 1 when online and Sniff has been enabled, ‘b’ is the Sniff Attempt parameter, ‘c’ is the Sniff timeout parameter, ‘d’ is the minimum sniff interval and ‘e’ is the maximum sniff interval. All parameters ‘b’, ’c’, ’d’ and ‘e’ are given as Bluetooth slots which are 625 microseconds long converted from values of S Registers 561, 562, 563 and 564 respectively.
The current boot mode (Only for fi rmware 1.18.0 and newer)
The maximum length of an AT command, including the terminating carriage return
(only for fi rmware 1.6.10 and newer)
The size of AT command input buffer
Returns the number of bytes pending to be sent in the rf buffer when a connection is up.
Version number of Multipoint application (Note: ATI is provided for compatibility in multipoint mode, other AT commands are not available).
State information. Where the response values are as follows:
13 = NotOpen
14 = OpenIdle
15 = Ringing
16 = OnlineCommand
172 to 177 = waiting for connectable and/or discoverable where the lowest signi fi cant digit equates to the value stored in S Register 512 or 555.
Note when n=16, ATI9 will return 1.
The RSSI value in dBm. If a connection does NOT exist then a value of -32786 is returned. A value of 0 means the RSSI is within the golden range this is quite a large band, therefore RSSI is not always a useful indicator. Use ATI111 instead which returns the bit error rate.
Returns LinkQual which in the CSR chipset is de fi ned as BER (bit error rate). This returns a value which is the number of bits in error out of 1 million. Hence a value of 0 is best, and larger values are worse.
As the value approaches 1000 (BER = 0.1%) it is an indication that the link is very bad and a large number of Bluetooth packets are being lost.
13 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
For recognised values of n. All other values of n will generate an error.
Or
11. 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
12. 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 speci fi ed 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.
14 www.lairdtech.com
REGISTER DEFAULT RANGE
S0 1 -1..15
S2
S12
S100
S101
S102
S103
S126
S127
S500
S501
S502
S503
0x5E
0
0
0
0
1
?
?
100
15
0x20..0x7E
40..5000
0..15
$1101
1
0..$ffff
1
1..7
0 .. 0xFFFF
0 .. 0xFFFF
0..1
0..1
0..1
0..1
COMMENT
Number of RING indication before automatically answering an incoming 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 ‘^’.
Escape sequence guard time in milliseconds, with a granularity of 20ms.
New values are rounded down to the nearest 20ms multiple
Number of RING indications before an auto disconnection is initiated. A value 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.
UUID of default SPP based pro fi le when not speci fi ed explicitly in the
ATD command.
De fi nes a set of bits masks for enabling pro fi le servers. Values can be ORed.
1 is the default and only value allowed for this module which enables Serial
Port Pro fi le
Boot Mode on cold boot.
Primer for changing to Multipoint mode
0x100 for At mode
0x200 for Multipoint mode
Other values are reserved
Authentication for outgoing connections. Set to 1 to Enable Authentication.
Encryption for outgoing connections. Set to 1 to Enable Encryption.
Authentication for incoming connections. Set to 1 to Enable Authentication.
Encryption for incoming connections. Set to 1 to Enable Encryption.
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
15 www.lairdtech.com
REGISTER DEFAULT RANGE
S504 0 0..1
S505 10
S506
S507
1
0
S508
S509
S510
S511
S512
640
320
640
320
1
S513
S514
1
10
2..120
0..1
0..2
10..2550
10..2550
10..2550
10..2550
0..7
0..1
1..60
COMMENT
Setting 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 con fi gured in cable replacement mode.
Minimum 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 speci fi ed in the ATD command, the “NO CARRIER” response will be immediate. See S register
560 for specifying disconnect max timeout.
Enable/Disable echoes. The ATEn command also affects this.
When 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
For the Go blue Activator variant this can only be set to 0.
Page Scan Interval in milliseconds. Minimum is 11.25ms so 10/11ms will give 11.25ms.
Page Scan Window in milliseconds. Minimum is 11.25ms so 10/11ms will give 11.25ms.
Inquiry Scan Interval in milliseconds. Minimum is 11.25ms so 10/11ms will give 11.25ms.
Inquiry Scan Window in milliseconds. Minimum is 11.25ms so 10/11ms will give 11.25ms.
Specify 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 traf fi c 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 traf fi c 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 traf fi c 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 speci fi es the time in seconds that the device will remain in the speci fi ed mode after power up. On timeout, the device will fall back to the mode speci fi ed in S Register 555.
S512 continued….
In some fi 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 con fi gured 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 de fi ned by S Reg 566 and if deasserted then S Reg 567.
Pairing Authentication, 1 = Enable
Pairing Timeout in seconds. This includes the time a host takes to supply the
PIN number when PIN? messages are indicated.
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S515
S516
S517
S518
S519
S520
S521
S522
S523
S524
S526
S530
0x001F00 0.. 0xFFFFFF
COMMENT
Default Device Class Code to be used with AT+BTO when it is not explicitly speci fi ed. When queried, the value is always printed as a hexadecimal number.
0
3
1
1
0x000000 0..0x2FFFFFF
20
8
500
9600
See
Comment
1000 100..15000
To change the device class of the module, after AT+BTO, use the command
AT+BTC.
Default Device Class fi lter to be used with AT+BTI when it is not explicitly speci fi ed. When queried the value is always printed as a hex number.
The seventh most signi fi cant digit, can be 0,1 or 2, and is used to specify the type of device class fi lter.
When 0, it speci fi es no fi ltering.
When 1, it speci fi es an AND mask and all 24 bits are relevant
1
1..2
0..2
1..3
2..61
0..255
When 2, it speci fi es a fi lter to look for devices with matching major device class which occupies a 5 bit fi eld from bits 8 to 12 inclusive (assuming numbering starts at bit 0). All other 19 bits MUST be set to 0.
Inquiry Length in units of seconds. This parameter is referenced by the
AT+BTI command
Maximum 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 fi 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 fi rmware build.
100..6000
When 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 speci fi ed in this register. This value is rounded down to the nearest 100ms
1200..115200 Change to a standard baud rate. The effect is immediate and in fact the OK will be sent at the new baud rate. Only one of the following baud rates are accepted: 1200,2400,4800,9600,19200,28800,38400,57600,115200.
1200..921600 Change baud rate to non-standard value. Laird Technologies’ modules support any baud rate. The only limitation is the integer arithmetic involved, which may adjust the applied rate slightly. If the internally computed baud rate is more than 2% offset from the desired input value, then an ERROR will be returned and the old baud rate will prevail. To inspect the actual baud rate, do ATS521?
S521 should only be used for non-standard baud rates. For standard baud rates use S520.
The effect is immediate and in fact the OK will be sent at the new baud rate.
In the event that a non-standard baud rate is requested, it is entirely possible that the host is not capable of generating such a baud rate. In this case the device cannot be communicated with. If this happens, there is a procedure to recover from this situation which is described in section titled
“Factory Default Mode”
1 = CTS/RTS hardware handshaking enabled
Number of Stop bits
Parity. 0=None, 1=Odd, 2=Even
This register speci fi es a 2 bit mask used to qualify how S Registers 520 to 524 are actioned.
When bit 0 is 1, the new comms parameter affects the UART immediately.
When bit 1 is 1, the new comms parameter is stored in non-volatile memory
So for example, to change comms parameters, but have them come into effect only after subsequent power cycles, then this register should be set to 2, and likewise to affect immediately and yet not have it persist over a power cycle, the value should be set to 1. Must be set before the baud rate change.
Reconnect delay when con fi gured as master in pure-cable-replacement mode. This value is rounded down to the nearest 100ms. See S Register
505 and 543 also
16 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S531 0 0..5
S532
S533
S534
S535
S536
S538
S539
S540
S541
S542
S543
S544
0
1
1
0
0
0
6
6
20
0
0
1
0..7
0..2
0..2
0..41
0..1
0..1
0..1
0 48..127
-50..6
-50..6
0..1
0..1
COMMENT
Speci fi es 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
If 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.
If 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.
When 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.
Link Supervision Timeout. If units go out of range, then a NO CARRIER message will be sent to the host after the time speci fi ed here
When 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.
If 1, then when a successful pairing occurs, it is automatically saved in the trusted device database – if it has room to store it.
When set to 1, in idle mode (S512=1), UART Rx characters are discarded if
DSR is deasserted.
Sets the MTU in L2CAP con fi guration negotiations. The value of 0 is a special value which is taken to mean that the current value should remain.
This sets the power level in dBm when inquiring or paging. Reading this register returns the value stored in non-volatile memory.
As 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.
If 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
Con fi gure the UART for either low latency or maximum throughput. A setting of 1 gives maximum throughput.
17 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S551 0x3211 0xFFFF
S552 0x0122 0x0FFF
S553 0x0201 0x0FFF
COMMENT
This register speci fi es 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 speci fi es the source for RTC
4..7 speci fi es the source for RTR
8..11 speci fi es the source for DV (i.e. DCD)
12..15 speci fi es 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 speci fi es 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.
This register speci fi es in each 4 bit nibble, how the DTR, DCD, RI output pins are controlled when in a Bluetooth connection
Nibble 0..3 speci fi es the source for DTR
4..7 speci fi es the source for DCD
8..11 speci fi es 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.
This register speci fi es in each 4 bit nibble, how the DTR,DCD,RI output pins are controlled when NOT in a Bluetooth connection
Nibble 0..3 speci fi es the source for DTR
4..7 speci fi es the source for DCD
8..11 speci fi es 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
18 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S554 0 0..900
19 www.lairdtech.com
S555 1
S556 0
S557
S558
32
0
S559 0
S560 15
S561
S562
S563
S564
S565
0
0
0
0
0
S566
S567
S568
1
1
1
1..7
0..3
0..3
15..120
7
7
7
4..900
0..1
0..1000
0..1000
0..1000
0..1000
1
COMMENT
If S Register 512>=2 and <=7 then this register speci fi es 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.
If S Register 554 is nonzero, then after the post reset window expires, the mode will revert to the mode speci fi ed 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 fi 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 con fi gured 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 de fi ned by S Reg 568 and if deasserted then S Reg 569.
Allows GPIO or ADC values to be read via the minor class fi eld in an inquiry response.
When this value is non-zero, bits2 to 7 contain information as follow:-
1 :- ADC1
2 :- ADC2
3 :- GPIO1 to GPIO6
Set to 0 to disable this feature.
This allows i/o information to be conveyed without a connection.
Speci fi ed in seconds, the update interval for the feature enabled via S Reg 556
When 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.
This speci fi es 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.
Disconnect timeout in seconds. This timer speci fi es how long to wait for con fi rmation from the peer device and/or the underlying stack that the connection has been successfully torn down. There can be instances where a con fi rmation 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 speci fi ed with 15 seconds intervals.
Sniff Attempt Time in units of milliseconds. 0 means disable.
See section “Power Consumption and Reset” in the user guide for more details.
Sniff timeout Time in units of milliseconds. 0 means disable.
See section “Power Consumption and Reset” in the user guide for more details.
Sniff Minimum Interval in units of milliseconds. 0 means disable.
See section “Power Consumption and Reset” in the user guide for more details.
Sniff Maximum Interval in units of milliseconds. See section
“Power Consumption and Reset” in the user guide for more details.
If set to 1, RI (Ring Indicate) line is con fi gured 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 de fi ned by
SRegs 566 to 569 inclusive.
If S565=1, and RI is asserted then this is the mode the device will start up in.
If S565=1, and RI is deasserted then this is the mode the device will start up in.
If S565=1, and RI is asserted then this is the mode the device will assume after the post-start-up timeout de fi ned in SReg 554 instead of mode de fi ned in SReg555
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S569 1 7
S583
S584
0
0
0 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a
S601
S610
S611
S620
S621
S622
S623
S624
S625
S626
S627
S628
S629
S631
S585
S586
S587
S588
S589
S590
S591
S592
S593
S600
S632
0xB
0
0
?
0
8
1
0
1000
0
0
0 n/a
0 .. 0x1F
0..1
0..7FFF
1
0..31
0..1
0..1
0..1
0..1
0..1
0..1
0..1
0..1
0..1
0..65535
0..1
0..9
100..5000
0..100
0..1
0..F
0..3
0..1FF
0..1
0..1
0..65535
0..65535
COMMENT
If S565=1, and RI is deasserted then this is the mode the device will assume after the post-start-up timeout de fi ned in SReg 554 instead of mode de fi ned in SReg555
This speci fi es the initial state of the following modem control lines sent to the peer
Bit 0 := RTC (DTR/DSR)
Bit 1 := RTR (RTS/CTS)
Bit 2 := IC (Ring Indicate RI)
Bit 3 := DV (DCD)
Bit 4 := FC (Reserved)
Enable/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.
GPIO pin set to 0 to disable the feature
Pulse period in milliseconds (rounded down to nearest multiple of 50)
Duty cycle in percent (rounded to the nearest multiple of 4)
After a disconnection, there will be a cold reset
Codec output gain
Codec input gain
Default GPIO output states when not in a connection. This is used when virtual digital i/o cable replacement mode is in operation
Set this to 1 to reduce the trusted device database to just 1 record when autosaving of pairing is enabled via S reg 538
Automatically append last 6 digits of local bluetooth address to the friendlyname which was set via AT+BTN or AT+BTF
Number of times this module has gone through a reset cycle. This feature is enabled by S Reg 601.
Writing any value to this register will initialise it to a certain value
If this is 1, then on reset S Reg 600 value will be incremented.
Set direction of digital I/O lines. This is a mask made up of 5 bits. Setting a bit to 1 makes that I/O line an output. GPIO1 is bit 0, GPIO2 is bit 1, up to bit 4 for GPIO5.
Set to 1 to invert the logic of GPIO outputs. For example, ATS621=1 will set the output pin to low and vice versa.
Read/Write to all 8 Digital lines in one atomic step. The value is returned as a 4 digit hexadecimal value with trailing 0s.
Read/Write to GPIO1
Read/Write to GPIO2
Read/Write to GPIO3
Read/Write to GPIO4
Read/Write to GPIO5
Read/Write to GPIO6 – Not available in Bism1
Read/Write to GPIO7 – Not available in Bism1
Read/Write to GPIO8 – Not available in Bism1
Read/Write to GPIO9 – Not available in Bism1
When GPIO1 is con fi gured as an input, low to high transitions are counted.
There is no software debouncing. External RC circuit may be required.
The counter wraps to 0 when it over fl ows beyond 65535.
When GPIO2 is con fi gured as an input, low to high transitions are counted.
There is no software debouncing. External RC circuit may be required.
The counter wraps to 0 when it over fl ows beyond 65535.
20 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
REGISTER DEFAULT RANGE
S641 n/a 0..65535
S642
S701
S702
S711
S712
S721
S722
S1001 to
S1010 n/a n/a n/a
0
0 n/a n/a
0..65535
0..65535
0..65535
0
0
0000..FFFF
0000..FFFF
0.. 2^32
COMMENT
As per 631, but the action of reading the value will reset the count to 0.
As per 632, but the action of reading the value will reset the count to 0.
Read/Write to Analogue Line 0, when reading value is returned in decimal
Read/Write to Analogue Line 1, when reading value is returned in decimal
Read/Write to Analogue Line 0, when reading value is returned in hexadecimal
Read/Write to Analogue Line 1, when reading value is returned in hexadecimal
Set direction of Analogue Line 0
Set direction of Analogue Line 1
10 General Purpose 32 bit Registers for use by host. These are stored in non-volatile memory.
13. 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>
14. 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
15. ATX<string> {Send Data in Local Command and Connected Mode}
This command is used to send data to the remote device when in local command and
The parameter <string> is any string not more than 24 characters long. If a non-visual character is to be sent then insert the escape sequence \hh where hh are two hexadecimal digits. The 3 character sequence \hh will be converted into a single byte before transmission to the peer.
Response: <cr,lf>OK<cr,lf>
16. ATY<string> {Send Data in Local Command and Connected Mode}
This command is similar to ATX in syntax and functionality, except that the string is only copied to the output rf buffer. Only when an empty string is presented will all pending data in the output rf
buffer
The parameter <string> is any string not more than 24 characters long. If a non-visual character is to be sent then insert the escape sequence \hh where hh are two hexadecimal digits. The 3 character sequence \hh will be converted into a single byte before transmission to the peer.
Response: <cr,lf>OK<cr,lf>
21 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
17. 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
speci fi
Response: <cr,lf>OK<cr,lf> and OK is returned after the RESET
18. 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 speci fi ed then a default value of 0 is assumed where the baud rate is
&F0 (Default)
&F1
&F2
&F3
&F4
&F5
Medium power consumption, UART baud rate unchanged.
Minimum power consumption, UART baud rate set to 9600.
Minimum power consumption, UART baud rate set to 38400.
Minimum power consumption, UART baud rate set to 115200.
Medium power consumption, UART baud rate set to 115200.
Maximum power consumption, UART baud rate set to 115200.
&F6 Maximum 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
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR
19. AT&F* {Clear Non-volatile Memory}
The AT&F* variant of the command installs values in S registers as per command AT&F4 and then all other user parameters in non-volatile memory are erased. This means that the trusted device database is cleared, and so are parameters related to the following commands:- AT+BTR,
AT+BTS.
22 www.lairdtech.com
Or
Response: <cr,lf>ERROR nn<cr,lf>
20. AT&F+ {Clear Non-volatile Memory}
This command erases all user parameters in non-volatile memory except S Registers 520 to 525.
This means that the trusted device database is cleared, and so are parameters related to the following commands:- AT+BTR, AT+BTN, AT+BTS.
Response: <cr,lf>OK<cr,lf>
Or
Response: <cr,lf>ERROR
21. 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
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
22. AT+BTAn {Control Audio Channel}
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 which will connect the PCM interfaces of the two peer devices. This means that if a codec is attached to the PCM pins, then 2-way audio can be established.
+BTA0
+BTA1
Switch off the channel.
Switch on the channel.
On receipt of the command, the following response immediately follows.
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
Or if the SCO failed to be established.
Response: <cr,lf>AUDIO
On the peer device, the host will asynchronously get ….
Response: <cr,lf>AUDIO
23. AT+BTC<devclass> {Set Device Class Code}
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 speci fi cation “Bluetooth Assigned Numbers”.
The 24 bits are made of 4 fi elds brie fl y described as follows (bit 0 corresponds to the least signi fi cant bit):-
Bits 0-1
Bits 2-7
Bits 8-12
Bits 13-23
Format Type. This fi eld currently only has a value of 00 (i.e. format type 1)
These 6 bits de fi ne the Minor Device Class and the value is interpreted differently based on the Major Device class stored in the next 5 bits.
These 5 bits de fi ne the Major Device Class as per Table 1.3 in
“Bluetooth Assigned Numbers”
This is an 11 bit fi eld used as a mask to de fi ne the Major Service Class, as per Table 1.2 in
“Bluetooth Assigned Number”
Laird Technologies devices do not map to any prede fi and so the default devclass as shipped is 001F00, which means no Major Service Class and “Unclassi fi
Major Device class.
Other examples of device class codes are follows:-
CODE (HEXADECIMAL) NAME
001F00
200404
Unclassi fi ed
Headset
MAJOR SERVICE
None
Audio
MAJOR DEVICE
Unclassi fi ed
Audio
MINOR DEVICE n/a
Headset
Response: <cr,lf>OK<cr,lf>
Or for an invalid <devclass> value (usually a value which is not 6 hexadecimal characters long).
Response: <cr,lf>ERROR
24. AT+BTC? {Read Device Class Code}
This command is used to read the current device class code.
Response: <cr,lf>123456
<cr,lf>OK<cr,lf>
23 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
25. AT+BTD<bd_addr> {Remove Trusted Device}
This command is used to remove the speci fi ed 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>
26. AT+BTD* {Remove All Trusted Devices}
This command is used to remove all devices from the list of trusted devices in the non-volatile database. No con fi
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>
27. AT+BTF=<string> {Set Friendly Name}
This sets the friendly name of this device as seen by other devices
Response: <cr,lf>OK<cr,lf>
28. AT+BTF<bd_addr> {Get Remote Friendly Name}
This command gets the remote friendly name of the peer speci fi
Response: <cr,lf><bd_addr>,”Friendly
<cr,lf>OK<cr,lf>
29. AT+BTG<bd_addr> {Enable Cautious Page Scanning ONLY}
Enable page scanning and wait for a connection from device with Bluetooth address <bd_addr>.
If the speci fi ed address is 000000000000 then incoming connections are accepted from any device, is as per AT+BTP without an address. Inquiry Scans are disabled.
This command also has variants which allow authentication and encryption to be explicitly speci fi ed. example:-
AT+BTGU123456789012
AT+BTGY123456789012
AT+BTGUY123456789012
AT+BTGYU123456789012
Response: <cr,lf>OK<cr,lf>
30. AT+BTG {Enable Promiscuous Page Scanning ONLY}
Enable page scanning only and wait for a connection from any device. Inquiry scans are disabled.
Authentication and Encryption is as per S registers 502 and 503.
Response: <cr,lf>OK<cr,lf>
31. AT+BTGU {Enable Promiscuous Page Scanning ONLY}
Enable page scanning only and wait for a connection from any device. Inquiry scans are disabled.
Authentication is enabled and encryption is disabled.
Response: <cr,lf>OK<cr,lf>
24 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
32. AT+BTGY {Enable Promiscuous Page Scanning ONLY}
Enable page scanning only and wait for a connection from any device. Inquiry scans disabled.
Authentication is disabled and encryption is enabled.
Response: <cr,lf>OK<cr,lf>
33. AT+BTGUY {Enable Promiscuous Page Scanning ONLY}
Enable page scanning only and wait for a connection from any device. Inquiry scans are disabled.
Authentication and encryption are both enabled. The order of U and Y is not signi fi cant.
Response: <cr,lf>OK<cr,lf>
34. 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 speci fi ed by S register 517 and max is speci ed by S
The <devclass> is an optional parameter where the value speci fi es either a 6 digit device class code or a 2 digit major device class. If it is not speci fi ed, then the value is taken from S register 516.
When <devclass> is 6 hexadecimal characters long, it speci fi es an AND mask which is used to fi inquiry responses. When <devclass> is 2 hexadecimal characters long, it forces the inquiry to fi 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
Response: <cr,lf>ERROR
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 fi 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
35. 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>
25 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
36. 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 ESPONSE’ note in the description for AT+BTI<devclass>.
The friendly name strings are in UTF-8 format as per the Bluetooth speci fi cation.
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 fi
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.
37. AT+BTK=<string> {Set Passkey}
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>
38. AT+BTM<bd_addr> {Set Incoming Peer Address}
This command is used to store a peer address for incoming connections in non-volatile memory.
A value of 000000000000 has the special meaning of invalid peer address.
When S register 512 = 3, 4, 6 or 7 then it will wait for an incoming connection from the peer speci fi ed. If the peer address is not 000000000000, then it waits for a connection from
the fi ed master, otherwise will connect to anyone.
Response: <cr,lf>OK<cr,lf>
39. AT+BTM {Delete Incoming Peer Address}
This command is used to delete the peer address previously stored using AT+BTR<bd_addr>.
Response: <cr,lf>OK<cr,lf>
40. AT+BTM? {Read Incoming Peer Address}
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.
Response: <cr,lf>00000000000
<cr,lf>OK<cr,lf>
41. AT+BTN=<string> {Set Friendly Name in Non-volatile Memory}
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.
Response: <cr,lf>OK<cr,lf>
26 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
42. AT+BTN? {Read Friendly Name from Non-volatile Memory}
Read the default friendly name from non-volatile memory.
Response: <cr,lf>”My
<cr,lf>OK<cr,lf>
43. AT+BTO<devclass> {Open and make Unit Detectable}
After power up and ATZ, this command is sent so that RFCOMM is initialised and opened and the service name as speci fi ed in AT+BTN is exposed via the SDP registry.
The <devclass> value speci fi fi xed length hexadecimal device class code. If it is not
speci fi
For this command to be effective, S Register 512 must be set to 0.
Response: <cr,lf>OK<cr,lf>
44. AT+BTP<bd_addr> {Enable Cautious Page/Inquiry Scanning}
Enable page scanning and wait for a connection from device with Bluetooth address <bd_addr>.
If the speci fi ed 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 also has variants which allow authentication and encryption to be explicitly speci fi ed. example:-
AT+BTPU123456789012
AT+BTPY123456789012
AT+BTPUY123456789012
AT+BTPYU123456789012
Response: <cr,lf>OK<cr,lf>
45. AT+BTP {Enable Promiscuous Page/Inquiry Scanning}
Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled.
Authentication and Encryption is as per S registers 502 and 503.
Response: <cr,lf>OK<cr,lf>
46. AT+BTPU {Enable Promiscuous Page/Inquiry Scanning}
Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled.
Authentication is enabled and encryption is disabled.
Response: <cr,lf>OK<cr,lf>
47. AT+BTPY {Enable Promiscuous Page/Inquiry Scanning}
Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled.
Authentication is disabled and encryption is enabled.
Response: <cr,lf>OK<cr,lf>
48. AT+BTPUY {Enable Promiscuous Page/Inquiry Scanning}
Enable page scanning and wait for a connection from any device. Inquiry scanning is also enabled.
Authentication and encryption are both enabled. The order of U and Y is not signi fi cant.
Response: <cr,lf>OK<cr,lf>
49. AT+BTQ {Enable Inquiry Scans ONLY}
When inquiry scan is enabled, it implies that this device will respond to inquiries from other devices.
Use AT+BTX to disable inquiries.
Response: <cr,lf>OK<cr,lf>
27 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
50. AT+BTR<bd_addr> {Set Outgoing Peer Address}
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
speci fi fi 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 fi 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 fi 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 con fi rms to the host of that fact by sending an “OK” response.
Response: <cr,lf>OK<cr,lf>
51. AT+BTR {Delete Outgoing Peer Address}
This command is used to delete the peer address previously stored using AT+BTR<bd_addr>.
Response: <cr,lf>OK<cr,lf>
52. AT+BTR? {Read Outgoing Peer Address}
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>
53. AT+BTS=<string> {Set Service Name}
This writes the name to non-volatile memory. It will be used after ATZ, power cycle or AT+BTO if it has not been issued yet. Use AT+BTS? to read it back from non-volatile memory. An empty string
(“”) will delete the string from non-volatile memory which will force the default service to be used.
Response: <cr,lf>OK<cr,lf>
If the service name cannot be set for any reason then an error response ERROR 11 is returned.
54. AT+BTS? {Read Service Name from Non-volatile Memory}
Reads the default service name from non-volatile memory.
Response:
<cr,lf>OK<cr,lf>
28 www.lairdtech.com
Laird Technologies
BTM410/411
Bluetooth ® AT Data Module
CONFIGURING
THE BTM410/411
55. AT+BTT {Add Trusted Device}
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>
56. AT+BTT? {List Trusted Device}
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
Response: <cr,lf>12346789012
<cr,lf>12345678913
<cr,lf>12345678914
<cr,lf>OK<cr,lf>
58. AT+BTW<bd_addr> {Initiate Pairing}
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 con fi
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 speci fi ed 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>
59. AT+BTW? {List Cached Trusted Device}
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>
60. AT+BTX {Disable Page/Inquiry Scanning}
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>
29 www.lairdtech.com
Laird Technologies
Download
Advertisement
Key features
Bluetooth® v2.1+EDR
Secure Simple Pairing support
External or internal antenna options
Comprehensive AT interface for simple programming
Bluetooth® END Product Qualified
Compact size
Low power operation
UART interface
Multi-point support
Frequently asked questions
The default baud rate is 9600 bps.
You can change the baud rate using the ATS520 command.
The maximum range is up to 50 meters in free space.
The maximum number of connections is 65525 connections in a single power up session.