Figure 2: UART messages when the module is not connected to the peer device ... 55
Figure 3: UART messages when the module opens a partition to write new image . 56
Figure 4: UART messages when the CRC of the received image does not match .... 58
Figure 5: UART messages showing a failure in image verification .......................... 59
1. Up to Version_0106, the device will indicate the input pairing request to use
and process it as per the Accept or Reject response from the user.
2. In Version_0107, this dependency is removed (like the LM048) and the
device will accept all the pairing requests. The device will indicate the success
or failure of the pairing procedure.
Th
Version:0107 – Recreated images for Ver_0107 – 20
June 2018
1. The images were recreated, the SPP_ESC_Sequence timeout is 2 seconds.
2. Other features are the same.
3. LM961 tested again with the LM154 test tool, passed the test successfully.
4. Added all production and OTA bin images.
Version:0108 – 29
th
June 2018
1. Version _0108 released for LM961/LM074 and LM068.
2. Bug fix – LM961/LM074/LM068 was not connecting to the WIN-PC after a
successful pairing. The RFCOMM-Serial-Over-Bluetooth ports were not being
created, and the error “device not supporting Serial service” was displayed on
the PC. This was resolved by adding the default SDP record from CSRExample-code.
3. Added production and OTA bin images for all devices.
Version:0109 – 19
th
Sept 2018
1. Version _0109 released for LM961/LM074 and LM068.
2. LED Blinking was modified to be similar to the LM048 LEDs. Blue LED Blinking
if Not connected. Yellow LED as LINK-Data-Transfer LED.
3. Escape sequence detection logic was also modified to be similar to the
LM048.
4. Added the feature to upgrade the device name using the last two bytes of the
BD-Address. Set as default True. Users can turn it OFF using the AT
command AT*UpdateName=ON/OFF.
5. The name of the LM068 adapter is 068SerialADTxx, xx are the last two bytes
of BD-address.
This document describes the functionality of the “SPP with GAP Central” application.
1. SPP with GAP Central application specific AT commands and information
2. All AT commands and default configurations on device
3. Over the Air Firmware Upgrade procedure
4. Secure simple pairing procedure
The LM074 is a dual mode module with the capability for simultaneous connections
to Bluetooth (v1.0 – v3.0), and Bluetooth low energy devices. LM Technologies
supports various firmware applications on the LM074 module enabling users to
develop their own applications with AT commands.
2. Functionality of SPP with GAP Central application
In the SPP with GAP Central application the LM074 can either be a SPP Master or
Slave; or dual mode with one SPP connection at a time. The SPP role supports
BOND, ACON, and features similar to those of LM Technologies’ legacy products such
as the LM048, LM072 and LM400,
For Bluetooth low energy, it will be in the GAP Central role and can establish
connections to up to five low energy peripherals simultaneously. Users can have a
maximum of six active connections with this application (five low energy and one
SPP). Data can be transferred between devices using AT commands.
For the Bluetooth low energy GAP Central role, the user can perform functions
normally performed by Android tablets or phones. A user can discover nearby
Bluetooth low energy peripherals, and up to ten devices will be reported. They can
then connect to any of those devices and read or write data on various services or
characteristics with the help of AT commands. The Bluetooth low energy connection
also supports whitelisting. If you add the paired devices to the whitelist it will only
report advertising packets from the devices added to the whitelist, or only connect to
devices on the whitelist.
This section describes the AT commands for the GAP Central role to initiate a
connection, pair, whitelist, or read/write data to a BLE peripheral device.
AT commands for the SPP role and generic device configuration are described in
section 4 “LM074 AT commands and Default configuration”.
Every command is terminated with “CR-LF”. The module will begin parsing the AT
command string after receiving the “CR-LF” sequence.
For every AT command issued by a user via UART the module responds with
OK/ERR.
If the user issues an incorrect AT command string (e.g. instead of "AT*Settings=?"
the user issues "AT*Setting=?"), or issues a correct AT command string but in an
invalid state (e.g. the user issues a connection command
"AT*CONN=001122334455" while the SPP-role is Slave), the module will respond
with ERR.
AT commands are used to enable or disable the GAP Central role of the module. By
default, this mode is disabled and the module only initiates the SPP functionality. To
enable GAP Central functions, use the AT command AT*ENBGAP=ON. The module
will perform a soft reset and initialize itself with both SPP and GAP Central functions
initialized. When the module has the GAP Central role disabled, for every AT
command of GAP Central functionality or settings, module will respond with “ERR”.
When the module is in the GAP Central role it supports BLE device discovery,
connection initiation, and reading/writing data. Users can use different AT commands
to read/write data on BLE peripherals or receive updates from BLE peripherals via
UART.
The SPP with GAP Central application enables the SPP and BLE connections. If the
module is in the slave role it is ready to accept an SPP connection at any moment. If
the user application only requires GAP Central roles, then set the SPP role as Master
and ACON as OFF. This means that module will only connect to a remote SPP device
when the connection is initiated by the LM074 module with an AT command.
If the user application requires a SPP connection with ACON ON and BLE connections
it’s possible that the LM074 might connect with a remote SPP master device while
reading/writing data on the BLE Peripheral, or while performing some other task.
This will be indicated to user with
“IND*:CONNECTED=001122334455”. If so the user should use the escape sequence
i.e. +++ to come out of SPP-Online-Connected mode and then issue the required AT
commands.
ii. To query settings use the command “AT*ENBGAP=?” \r\n
iii. Response to the query command will be “OK”/”ERR” and report
will be “REP*:GAP_ENABLE=ON” or “REP*:GAP_ENABLE=OFF”
iv. By default, this setting is OFF i.e. the GAP Central role is disabled.
The module is only initialized for the SPP functionality.
v. To enable the GAP Central role, use the command
“AT*ENBGAP=ON”.
vi. The module will respond with OK and display the message
“Module soft-Reset..” to indicate that the module is performing a
soft reset to enable the GAP Central role.
vii. After reset, the module shows the power on sequence
“SPP+GapCentral_Message_Loop”
viii. If the module currently has ENBGAP set to OFF, and command is
issued to turn it OFF, the module shows an ERR response.
Similarly, if the current setting is ON and the command is issued
to turn it ON, the module will output an ERR response.
ix. Response of the “AT*SETTINGS=?” query command depends on
the ENBGAP setting.
x. Response of the AT*SETTINGS=? Command displays the settings
x. If the user terminates the scanning process by issuing the
“AT*LEFIND=OFF” command, the module responds to it with an
OK/ERR message but it does not issue an end of report message.
xi. When the module finds a BLE advertising report, it does not show
the device in the report immediately, it waits for the advertising
packet in which BLE-Device-name is included.
a. If the module finds address and name same packet, it
displays both.
b. If the module finds address only it shows address and
waits for name.
c. When the module finds name of the device for which it
has reported address previously, it will show name in
report with the serial number as 0 to indicate this is not
new device but only name is appended for the device
already reported.
xii. If the LM074 has setting “AT*LESEC=OFF”, LM074 reports BLE
devices even if not present in its Whitelist. If setting is
“AT*LESEC=ON”, LM074 will only report advertising devices which
are in its whitelist.
xiii. In the discovery report, after the BD-address there is an indication
for “advertising Indication type” ranging from 0 to 5 as mentioned
below.
a. ble_adv_event_connectable_undirected = 0 =
Connectable Undirected Advert.
b. ble_adv_event_connectable_directed = 1 =
Connectable Directed Advert.
c. ble_adv_event_discoverable = 2 = Discoverable
advert.
d. ble_adv_event_non_connectable = 3 = Non-
connectable.
e. ble_adv_event_scan_response = 4 = Scan Response.
f. ble_adv_event_unknown = 5 = Unknown event type.
xiv. The LM074 SPP with GAP central application also supports SPP
connection. The module may establish a SPP connection while
performing LE discovery. When the module connects with the SPP
device, it enters in SPP-Data mode and shows data from the
remote device on UART. It treats data sent on local UART as data
to be sent to remote device. To access UART for commands and
responses, the user needs to use the escape sequence and then
continue with other AT commands.
x. Here report includes extra information for the connection details
as below.
a. 1030-00-5b0012 is BD address of the remote BLE device.
b. -0 with the address mentions Address type of remote BLE
device.
c. TYPED_BDADDR_PUBLIC is noted as 0,
TYPED_BDADDR_RANDOM is noted as 1.
d. 1 indicates Connection ID given by LM074 module (refer to
BLEconn=? report).
e. 0080 mentions CID given by BLE stack (hex value 0x0080).
f. 0017 is MTU i. e. Maximum Transfer Unit for this BLE
connection (hex value 0x0017).
g. 0008 is Connection configuration flag (hex value 0x0008)
xi. User should take note of MTU mentioned in connection report,
while reading and writing data on this device, using one command
(rdcahval/wrworesp etc) up to MTU number of bytes can be
sent/received. If user need to read/write more than MTU number
of bytes, it needs two commands.
d. After module completes the pairing procedure successfully,
module adds this device to its whitelist.
e. Pairing procedure runs at the background and can show the
status of pairing at any time. e.g. above report shows the
pairing report has displayed while showing Service-scan
report.
xiii. If LEAutoScan server setting is ON then, module starts scanning
services supported on the remote device and displays the report.
If LEAutoScan server setting is OFF, module waits for commands
from user to scan the services (FINDSERV).
3.5.4 “AT*LEDROP”\r\n
i. Execution only command
ii. Command is used to disconnect the BLE connection. Command
requires peer devices BT address.
iii. BLE connection disconnection command format:
“AT*LEDROP=1030005b0012”\r\n
iv. Response for BLE drop connection will be OK if the module is
connected to the BLE device with the same address provided in
Drop command.
v. Response for BLE drop connection will be ERR if the module is not
connected with any BLE device or BD address mentioned in the AT
command is not same as the connected BLE device.
vi. Module shows a report for the disconnection command e.g.
at*ledrop=1030005b0012at*ledrop=1030005b0012
OK
REP*:BLE_DIS_CONN:=1030-00-5b0012,2 err_code:0000
vii. Error code 0000 mentions the device has terminated connection
gracefully i.e. either device started disconnection procedure.
viii. Number 2 near the BD address mentions the BLE Connection ID
(refereed to BLEconn=? response).
ix. If disconnection is started by remote device or due to link loss the
indication for disconnection is shown as below with the reason
code.
“REP*:BLE_DIS_CONN:=1030-00-5b0012,2 err_code:0019”
viii. For report above, the row “=1: 2a00 : 0003 : 02 : 0002 [ Rd ]”
indicates “1” as serial number, “2a00” as 16 bit characteristic
UUID, “0003” is characteristic handle, “02” is properties value and
“0002” is declaration value for that characteristic.
ix. For details on Characteristic value and Declaration values refer
indicates the characteristic has 128 bit UUID, but here only lower
32 bits are displayed. “0019” is characteristic handle. “14” is
properties value, this characteristic has two properties as WR-cmd
and CCFG. “0018” is declaration value for that characteristic.
xi. User needs to use characteristic-Handle to read or write data on
ii. This command is used to read data from the BLE device for the
characteristic which has properties as read “Rd” i.e. 0x02.
iii. The command format is “AT*RDCHARVAL=conn-ID, char-Handle”.
iv. e.g. “at*rdcharval=1,0003” command is used to read data from 1
connected device, for characteristic 0003.
v. The module shall output an OK response if the CID and the Char-
handle is correct.
vi. After the module gives OK response to read command, module
shows data received from remote device as a report.
vii. E.g. “REP*:RDCHARVAL=1:Rcvd_Bytes:0010 LM Serial Server” is
a report of read data for characteristic 0003.
viii. Report shows connection ID as 1, Received bytes as 0x10 i.e. 16
bytes, and the actual bytes are “LM Serial Server”.
ix. If module receives an error response it is reported to user with the
error code.
x. Users can refer to error codes as mentioned in the appendix
section.
at*rdcharval=1,000cat*rdcharval=1,000c
OK
REP*:RDCHARVAL=0001:Err_code:02
xi. Below show some reference reports for read command.
at*rdcharval=1,0003at*rdcharval=1,0003
OK
REP*:RDCHARVAL=1:Rcvd_Bytes:0010
LM Serial Server
at*rdcharval=1,0005at*rdcharval=1,0005
OK
REP*:RDCHARVAL=1:Rcvd_Bytes:0002
at*rdcharval=1,000aat*rdcharval=1,000a
OK
REP*:RDCHARVAL=1:Rcvd_Bytes:0016
CSR-GATT-SERVER-MODEL-
at*rdcharval=1,000cat*rdcharval=1,000c
OK
REP*:RDCHARVAL=0001:Err_code:02
xii. Above screenshots are taken on Hercules software on Windows
PC, it does not show non-printable characters in received
ix. Above screen shots are taken on Hercules software on Windows
PC, it does not show non printable characters in received
response. If user analyse the RX line on Oscilloscope or protocol
analyser, all bytes can be seen.
3.7.3 “AT*RDLONGCHAR”\r\n
i. Execution only command
ii. When the Characteristic Value is longer than can be sent in a
single Read Response message, user can use this command to
read that value in one command.
iii. Read data from BLE device for the characteristic which has
properties as “Rd” i.e. 0x02.
iv. Command format is “AT*RdLongChar=conn-ID, char-Handle”.
v. Commands which support “rdcharval” can also be read by this
command.
vi. Response to the command shows bytes received, offset of current
data with respect to the whole data, and MoreToCome (MTC) flag
if there is next data packet expected on the same characteristic
read.
vii. Refer following read examples for more detail.
ii. This command gives feedback to server/peripheral for notification
indication from server/peripheral.
iii. This command is used to acknowledge the sever that client(BLE-
Central) has received characteristic value Indication, and
server(BLE-Peripheral) may send another indication.
iv. Command format is “at*INDRESP=Conn-ID”.
st
v. e.g. “AT*INDRESP=1” gives indication response for 1
connected
BLE device for receiving notification indication.
vi. OK/ERR response is given by LM074 after checking the Connection
ID and Connection status.
vii. After OK response is given Response is forwarded to remote
device by BLE-Stack.
viii. No feedback form BLE-Stack is provided to this command.
3.8.3 “AT*WRWORESP”\r\n
i. Execution only command
ii. This command is used to send data to BLE device for the
characteristic which has properties as “Wr_cmd” i.e. 0x04.
iii. Command format is “AT*WRWORESP=conn-ID, char-Handle,
length, actual-bytes ”.
iv. e.g. “at*wrworesp=1,0019,10,12345abcdef!()12” command is
st
used to send data to 1
No of bytes to write are 0x10 i.e. 16 and actual bytes are
1,2,3,4,5,a,b,c,d,e,f,!,(,),1,2.
v. As shown in the example command number of bytes to transmit is
hex value.
vi. As shown in the example command, actual data bytes are not
separated by a comma. When the value 0x31 is sent i.e. ASCII 1
is sent, the data buffer is copied and sent to remote device
transparently.
vii. Note : The actual data bytes to be sent shall not have “\r\n” as
the data itself because it is the terminating string for AT command
parser.
viii. For command “AT*WRWORESP=conn-ID, char-Handle, length,
actual-bytes” module gives OK response if all the following
conditions are true:
a. connection ID is correct (if module is connected to 3 devices
and CID mentions 4, then it is invalid)
b. Characteristic handle has WR_cmd properties
c. Value of “length” field is less than 21 i.e. (0x15).
d. Actual data bytes are same as value of “length” field.
9,10,12345abcdef!()12
OK
REP*:WRWORESP=1:0019:Success
3.8.4 “AT*WRCHARVAL”\r\n
i. Execution only command
ii. This command is used to send data to BLE device for the
characteristic which has properties as “Wr_req” i.e. 0x08.
iii. Command format is “AT*WRCHARVAL=conn-ID, char-Handle,
length, actual-bytes”.
iv. e.g. “at*WRCHARVAL=1,0019,10,12345abcdef!()12” command is
used to send data to 1
No of bytes to write are 16 (0x10) and actual bytes are
12345abcdef!()12.
v. As shown in the example command, no of bytes to transmit is hex
value
vi. As shown in the example command, actual data bytes are not
separated by comma. When the value 0x31 is sent i.e. ASCII 1 is
sent, the data buffer is copied and sent to remote device
transparently.
vii. Note : The actual data bytes to be sent should not have “\r\n” as
the data itself because it is the terminating string for AT command
parser.
viii. For command “AT*WRWORESP=conn-ID, char-Handle, length,
actual-bytes” module gives OK response if all the following
conditions are true:
a. connection ID is correct (if module is connected to 3 devices
and CID mentions 4, then it is invalid)
b. Characteristic handle has Wr_req properties
c. Value of “length” field is less than 21 i.e. (0x15).
d. Actual data bytes are same as value of “length” field.
ix. After module responds to this command as “OK”, module sends
xi. Above report shows the WRCharval command is successful only on
characteristic 0005 and 0007.
xii. If the WrCharVal command fails in execution, then the error code
reported by BLE-stack is reported to user in failure report. E.g.
Err_code:fd , Err_code:0e, Err_code:0d
xiii. Refer Appendix section for more details on error code.
3.8.5 “AT*SIWRWORESP”\r\n
i. Execution only command
ii. This command is used to send data to BLE device for the
characteristic which has properties as “Si_Wrt” i.e. 0x40.
iii. Command format is “AT*WRCHARVAL=conn-ID, char-Handle,
length, actual-bytes”.
iv. e.g. “at*WRCHARVAL=1,0019,10,12345abcdef!()12” command is
used to send data to 1st connected device, on characteristic 0019.
No of bytes to write are 16 (0x10) and actual bytes are
12345abcdef!()12.
v. As shown in the example command, no of bytes to transmit is hex
value
vi. As shown in the example command, actual data bytes are not
separated by comma. When the value 0x31 is sent i.e. ASCII 1 is
sent, the data buffer is copied and sent to remote device
transparently.
vii. Note : The actual data bytes to be sent should not have “\r\n” as
the data itself because it is the terminating string for AT command
parser.
viii. For command “AT*WRWORESP=conn-ID, char-Handle, length,
actual-bytes” module gives OK response if all the following
conditions are true:
a. connection ID is correct (if module is connected to 3 devices
and CID mentions 4, then it is invalid)
b. Characteristic handle has Wr_req properties
c. Value of “length” field is less than 21 i.e. (0x15).
d. Actual data bytes are same as value of “length” field.
ix. After module responds to this command as OK, module sends the
Characteristic from which data is received is 0x0019, the actual
received bytes are 0x0014, and then the actual bytes as
“dataFromBLEDev123456”.
v. The module can receive a maximum of 20 bytes i.e. 0x14 bytes in
one notification packet.
vi. If the remote device sends more than 20 bytes in one packet then
the module shows two notification indication messages. E.g. if the
remote device sends the string “dataFromBLEDev123456789”, the
module shows “dataFromBLEDev123456” first and then “789”.
This section describes the AT command structure for the LM074 module.
Serial terminals (such as Hercules, HyperTerminal, Tera Term or Putty) can be
used for serial communication with the LM074.
Every command is terminated with “CR-LF”. The module will begin parsing the
AT command strings after receiving “CR-LF” sequence.
AT Commands are case insensitive e.g. “At*Resp=On”, “at*resp=on” and
“AT*RESP=ON” are all valid.
AT command types:
1. Query only commands - Commands to query Module state, firmware
version number etc.
2. Query and Set commands - Commands to query the setting and
modify Module setting e.g. discoverability, Role, Baud, etc.
3. Execution only command – commands to perform specific action e.g.
start discovery for Bluetooth devices, start connection procedure, start
upgrade procedure etc.
The LM074 outputs messages to the user through the serial port for indications
like connection/pairing request, result of connection/pair procedure, result of
Bluetooth devices discovery, disconnection indication etc.
After the indication message is displayed, the LM074 waits for inputs from the
user to execute further action. For example, after incoming pairing indications,
enter accept/reject pair response or after indication for PASSKEY_cfm, provide
yes/no confirmation for the passkey etc.
The module responds to each AT command as “OK”\r\n or “ERR”\r\n. After
this response the module takes requested action or it will output report to the
user on UART. If module does not receive “AT” as a start of new command,
the module may not respond to this command even if it is terminated with
“\r\n” (e.g. instead of “AT*NAME=?”, user issues “A*name=?”). Module will
neglect the received string and is ready to receive new AT command and to
process it.
When the module does not receive any command on UART for more than 30
seconds, the module enters deep sleep mode. The module can come out of
this mode on UART activity or BT activity. If the user enters AT commands
while the module is in deep sleep, the module may lose the first character of
an AT command, e.g. for command “AT*NAME=?”, module may show the echo
as “t*name=?” or “Ñname=?” i.e. some garbage character at start. The
module will not respond to AT commands such as ERR/OK, but it ignores this
data and waits for a new AT command to process.
AT commands expects the BT address in the string. In this document
“0126f357215” is considered a reference BT address, whereas 0012 is nap, 6f
is uap and 357215 is lap in the BT address. Users should use the BT address of
their devices.
4.1AT commands
The table below shows all the AT commands that are supported on the
LM074 module and the default settings wherever applicable.
4.1.1 General settings AT commands:
4.1.2 UART settings AT commands:
Note: CTS, RTS, DTR, DSR, MODEM commands are not applicable for
LM074 module.
REP*:RESP=ON
at*name=?at*name=?
OK
REP*:NAME=068LM_SPP_0104
x. Below is the sequence of messages when ECHO is OFF and RESP
is ON.
at*echo=offat*echo=off
OK
at*echo=?OK
REP*:ECHO=OFF
at*resp=?OK
REP*:RESP=ON
at*name=?OK
REP*:NAME=068LM_SPP_0104
xi. Below is the sequence of messages when ECHO and RESP are
both off. The module will show only reports for the query
commands. The module will not show any indication messages for
connect or disconnect. This is to ensure backwards compatibility
with LM048/LM058/LM072 module firmware.
iii. Report for “AT*SETTINGS=?” command is multiple line, at the end
of the report a message “REP*:SETTINGS=END” is delivered.
iv. Module settings query report varies according to DPIN setting. If
DPIN is OFF i.e. supporting to BT2.0, Module PIN is displayed. If
DPI is ON, i.e. support to BT2.1, then settings for IO-capability,
MITM are displayed.
LM068/LM074 uses RTS/CTS
and DTR/DSR in loopback mode
3
Remote
When LM068/LM074 is
connected to remote device,
LM068/LM074 sends RTS /DTR
line status to remote device and
receives CTS/DSR line status
from remote device
4.3.9 “AT*MODEM”\r\n:
i. Query and set command
ii. MODEM query command: “AT*MODEM=?”\r\n
iii. MODEM query report: “REP*:MODEM=NONE” (module uses
default MODEM settings as “none”)
iv. MODEM set command: “AT*MODEM=LOCAL” or
ii. User issues this command to delete the device from its paired list.
iii. DEL command: “AT*del=00126f357215”\r\n
iv. “OK” response will be provided if the string entered has valid BT
address. Module deletes the device from its pairing list.
v. “Err” response will be provided if invalid BT address, invalid length
of address is provided.
vi. If device is deleted form the pairing list, Module will follow pairing
procedure before getting connected with the device.
4.4.6 “AT*PASSKEY”\r\n
i. Execution only command.
ii. When the module has DPIN=ON, MITM=ON and IOTYPE as
Keyboard Only, in pairing procedure module gives indication
“IND*:PASSK=?”.
iii. User shall provide the pass key in following format:
“AT*PASSKEY=1234”\r\n .
iv. Any integer within the range uint32 is considered as valid Passkey.
4.4.7 “AT*PASSCFM”\r\n
i. Execution only command.
ii. When the module has DPIN=ON, MITM=ON and IOTYPE as
DISPLAY confirmation Yes/No, in pairing procedure module gives
indication “IND*:PASSK=xxxxxx”.
iii. User shall provide the confirmation for pass key in following
format: “at*passcfm=00126f357215,Yes”\r\n or
“at*passcfm=00126f357215,no”\r\n
4.4.8 “AT*STOPPAIR”\r\n
i. Execution only command.
ii. Used to stop the pairing procedure for a device.
iii.
Once the module starts pairing procedure, the stack completes the
procedure within maximum 90 seconds. User can stop the pairing
procedure within this time.
iv. Issue command to stop the pairing procedure with the BT address
of the peer device e.g. “AT*stoppair=00126f357215”
iv. Pairlist report can be multiple line, to indicate end of the report
“REP*:PAIRLIST=END” is displayed at end.
4.5 SPP Related commands:
4.5.1 “AT*FIND”\r\n
i. Execution only command.
ii. Used to start the discovery of Bluetooth devices nearby.
iii. Start discovery command format is “AT*FIND=ON”\r\n
iv. Stop discovery of Bluetooth devices by command
“AT*FIND=Off”\r\n.
v. Module shows discovered devices with their name and addresses.
Each device is reported as soon as it is discovered.
vi. Report for each device is sent with new line. To indicate the end
of the discovery report, “REP*:FIND=END” message is shown.
vii. If module did not get reply to nam query of remote device it will
display NULL in name string (e.g. row 3 in below report).
iv. When the module is in Dual mode, it can accept incoming SPP
connection as well as initiate outgoing SPP connection whereas
module cannot accept or initiate new connection when it is already
connected to any remote device. E.g. if module has established
an outgoing connection, then after terminating the outgoing
connection it can accept incoming connection.
v. In slave-only role
1. BOND=Valid-BD-address. (e.g. BOND=0012-6f-
357215)
x Module will accept connection request only from bonded
device. Connection requests from other devices will be
rejected by module.
2. BOND=0000-00-000000.
x Module will accept connection request from ay device.
vi. In master-only role, Refer ACON and BOND command for more
details.
vii. In any role (dual, Slave only or Master only role) module can
support only one connection at an instance.
4.5.3 “AT*ACON”\r\n
i. Query and set command.
ii. This setting is applicable for Master only role.
iii. Auto connect query command: “AT*ACON=?”\r\n
iv. Auto connect query report: “REP*:ACON=OFF”
v. Command to set ACON as ON is “AT*ACON=ON”\r\n
vi. When the module is in Master-only role and ACON setting is ON,
1. BOND=Valid-BD-address. (e.g. BOND=0012-6f-
357215)
x If device has valid address for BOND, it keeps issuing
connection request to that device till the connection is
established.
2. BOND=0000-00-000000.
x If device has BOND address as Zero, it will start
discovery of nearby Bluetooth devices and issues
connection request to first found device.
vii. When module is in Master-only role and ACON setting is OFF,
module will wait for AT command from user to initiate the
connection request (module will not accept any incoming
connection request).
ii. Set command: “AT*BOND=00126f357215”\r\n. Device will
establish connection only with remote device having BD address
as 00126f357215.
iii. Set command: “AT*BOND=000000000000”\r\n. Device will
establish connection with any device.
iv.
v. This setting is applicable for Master-only, slave-only role. When
Bond Address setting holds a valid Bluetooth address then
LM068/LM074/LM074 will establish connection only with that
device.
vi. LM068/LM074/LM074 can be paired with maximum 8 devices and
stores the device addresses in its permanent memory (this is
called as TDL-Trusted_Devices_List or PDL-Paired_Devices_List)
whereas it can be bonded to only one device at a time whose
address is mentioned in BOND command setting.
vii. Bond device address query command: “AT*BOND=?”\r\n.
viii. Default settings is: “REP*:BOND=0000-00-000000”.
ix. Setting for default bond device address is Zero i.e. device is not
bonded to any remote device and can accept or issue connection
request to any remote device.
x. Command to set ACON as ON is “AT*ACON=ON”\r\n.
xi. When the module is in Master only role and ACON setting is ON,
module performs the discovery of nearby devices and tries to
connect with the first found device for SPP connection.
4.5.5 “AT*CONN”\r\n
i. Execution only command.
ii. Supported in SPP Master-only and Dual mode.
iii. If module is MASTER role and ACON setting is ON, the module will
always respond to this command as “ERR” as it only issues a
connection request to BOND device, or it performs discovery on its
own and attempts to connect to first device found.
iv. User can start to initiate outgoing SPP connection.
v. Outgoing connection command: “AT*conn=00126f357215”\r\n
vi. “OK” response will be provided if the string entered has valid BT
address, module is not connected to any device.
vii. “Err” response will be provided if invalid BT address, invalid length
of address is provided or if the module is already in connected
state.
viii. After module gives OK response to at+conn command, it starts
the connection procedure. Result of connection procedure is
indicated as indication message.
1. “IND*:CONN_FAILURE=00126f357215” message is shown
to indicate the failure in connection with BD address 00126f-357215.
2. “IND*:CONNECTED=00126f357215” message is shown to
indicate the SPP connection is successfully established and
the devices are in connected state.
3. Once the devices are connected, LM951/LM074 is in SPP-connected-online-data mode. Every string entered by
host on UART is treated as data and is transmitted to
connected device.
4. User can come out of this mode by entering the Escape
sequence.
4.5.6 Escape sequence “+++”
i. Execution only command/sequence.
ii. Supported only in SPP-connected-online-data mode.
iii. User issues this command to enter in SPP-connected-online-
command mode.
iv. If the user issues escape sequence in SPP-connected-online-data
when LED D10 is Blinking, OK response is given by module and
module enters in SPP-connected-online-command mode.
v. Once the module enters in SPP-connected-online-command mode,
any strings entered on UART are considered as AT commands and
are processed by module (still the module is in connected state).
vi. In SPP-connected-online-command mode, users can query/update
module settings and start the disconnection by issuing at*drop
command.
4.5.7 “AT*AUTO”\r\n
i. Execution only command/sequence.
ii. Supported only in SPP-connected-online-command mode.
iii. User issues this command to enter back in SPP-connected-
online-data mode.
iv. After entering in SPP-connected-online-data mode, any data
entered on UART is transmitted to the remote device over
Bluetooth.
4.5.8 “AT*DROP”\r\n
i. Execution only command.
ii. Supported in all SPP roles (dual, master-only or slave-only).
iii. User issues this command in SPP-connected-online-command
mode to terminate the existing SPP connection (applicable for
existing incoming or outgoing SPP connection).
This section describes the procedure to perform an over the air firmware
upgrade for the LM074 module.
Users can use serial terminals like Hercules, HyperTerminal, Tera term or Putty
etc. for serial communication with LM074 module.
In this document, the term “new image” refers to the firmware image to which
the LM074 will be upgraded to.
The LM074 receives the new image from a peer device which is connected to
itself with Bluetooth.
The LM074 can receive new images over SPP profile only. The module does not
support other Bluetooth profiles to receive a new image.
5.1 Pre-requisites for Firmware upgrade:
5.1.1 New Firmware image:
i. New Firmware image is provided as “xxxxxxx.bin” file to user.
ii. User shall store this image on PC/Laptop/device used to connect
to the LM074 module for OTA upgrade.
iii. LM074 module can be upgraded with the image provided by LM
Technologies only.
5.1.2 Peer Bluetooth device requirements:
i. Peer Bluetooth device should support sending file over SPP profile
(some mobile applications may not support this).
ii. LM technologies has tested LM048/LM058 or LM074 module to
send the new image with Hercules utility from windows PC.
iii. Peer device should support pairing requirements.
iv. LM074 will connect only with Paired device hence receives image
only from paired device.
5.1.3 Pairing and Authentication of Peer device:
i. LM074 can pair with remote device with fixed PIN.
ii. LM074 can pair with remote device with dynamic PIN and MITM
protection enabled.
iii. For detailed pairing procedure of LM074 with AT commands,
i. LM074 can be SPP master (initiate connection with remote device)
or SPP Slave (Accept connection request from remote device).
5.2Firmware upgrade procedure Flow chart:
The flow chart below illustrates the firmware upgrade procedure, highlighting
messages when the upgrade operation is successful.
The comments show the failure points as FP1 to FP5.
The cause of failure points and actions to overcome them are discussed in the
subsequent section.
Note: During the upgrade procedure, after the module displays the message
“Ready to receive OTA file”, if the user fails to send the image to the LM074
module, the module/user cannot terminate the OTA mode. The user has to
provide power-on/off cycle to come out of OTA upgrade mode. Another way to
come out of this mode; the remote connected device has to send at-least 200
bytes of data. The module will treat this data as an upgrade image but due to
failure it will reboot itself with existing firmware.
The following section describes the possible failure points while
performing an Over the Air firmware upgrade. It also covers possible
reasons for errors what a user can do to correct them.
5.3.1 Failure point 1:
i. After entering the escape sequence “+++”, the module should
respond as OK and enter in Online-connected-command-mode.
ii. If module does not respond as “OK” (it will not reply as “ERR” in
this state), module is still in “online-connected-data-mode” and
sends data to remote device.
iii. PIO-xx is toggled or LED D10 starts blinking to show the module is
ready to accept the escape sequence.
iv. User should enter escape sequence immediately after the D10 led
starts blinking.
v. If module does not reply as “OK”, user should wait till module is
ready to receive next escape sequence.
vi. Module is ready to process firmware upgrade even if there are
multiple attempts of failure to enter in Online-connected-
command-mode.
vii. User cannot process further steps if module does not enter in
online-connected-command-mode.
Note: If the Current firmware on the LM074 module is a Bridge
application or GAP-Central-Only, then after SPP connection the LM074
enters into Command mode. Then there is no need to enter the Escape
sequence. The user can directly issue the “AT*upgrade” command.
5.3.2 Failure point 2:
i. Once the module enters into the Online-connected-command-
mode, the user should provide the firmware upgrade password
through AT commands.
ii. If the user provides the correct firmware upgrade password, the
module responds to the command as “OK” and displays the
message “Ready to receive OTA file”
iii. The module replies as “ERR”
a. If the user enters a wrong password for upgrade command,
module responds as ERR.
b. Firmware upgrade password is dependent on current
firmware version of the module.
c. E.g. if the current firmware version on the module is “1.50”,
the firmware upgrade password will be
“AT*upgrade=LMUPDATEV150”.
d. In the “AT*upgrade” command the string after “=” is case
sensitive and should be entered in all uppercase (for letters).
6. Simple Secure Pairing between LM074 and remote
device
This section describes the indication messages given by the LM074 module
during the pairing procedure. It also covers the AT commands that a user will
need to provide as per the settings of DPIN, MITM and IOTYPE.``
The LM074 uses BT2.1 security supporting the dynamic PIN, but is also
compatible with BT2.0 devices which shares fixed PIN during the pairing
procedure.
6.1Pairing of LM074(BT2.1) with BT2.0 devices
Here the BT2.0 device is treated as LM Technologies’ LM048 device, with
firmware version 6.57. When the LM074 has DPIN as DPIN=OFF, it is
compatible with BT2.0 devices. When DPIN=OFF, the module does not
care about MITM, IOTYPE settings.
When DPIN is OFF, module uses PIN during the pairing procedure with
remote devices. Default PIN is 1234, users can change this to numeric
only, Alpha only or alphanumeric.
As per Bluetooth standards, maximum of 16 characters are allowed in PIN
setting.
6.1.1 If LM074 has setting DPIN=OFF
i. When the pairing procedure is started on the LM074, it will show
the indication message with the BD-Address of remote device e.g
“IND*:PAIR=00126f357215”.
ii. The user shall provide accept/reject response to this indication as
“AT*PAIR=00126f357215,accept” or
“AT*PAIR=00126f357215,reject”.
iii. LM074 uses its fixed PIN.
iv. If the fixed PIN of LM074 is same as the other device pairing is
successful.
v. After completing the pairing procedure, the LM074 indicates the
status of pairing to user e.g. “IND*:PAIR=OK,00126f357215” or
“IND*:PAIR=FAIL,00126f357215” .
vi. If the fixed PIN of LM074 is not same as other device pairing fails.
6.2Pairing of LM074 (BT2.1) with BT2.1 devices
Here the BT2.0 device is treated as LM Technologies’ LM048 device with
firmware version 6.19. The passkey used during the pairing procedure is
dependent on the IO-type setting on the LM074.
If IO-type is keyboard only, the LM074 will expect the passkey from the
user and use it internally for the pairing procedure.
When the IO-type is display only, the LM074 will display the passkey and
the user should use the same passkey on the remote device to complete
the pairing procedure.
When IO-type is Display with yes/no confirmation, the LM074 displays
passkey and expects confirmation from the user whether the passkey for
remote device is the same.
When the IO-type is NO-INOUT i.e. no input no output then it depends on
the peer device whether the pairing will be successful or not. If the IOtype is No-input-no-output, MITM should be off otherwise the LM074 will
never be able to pair with a remote device.
If the LM074 and remote device has IO-type as No-input-no-output and
MITM as off then devices may pair successfully by “just works” pairing
type.
6.2.1 LM074 has settings DPIN=on, MITM=on, IOtype=Keyboard-only
i. After the LM074 indicates Pairing as “IND*:PAIR,00126f357215”
and the user accepts the Pairing request with
“AT*PAIR=00126f357215, accept”, the LM074 starts the pairing
procedure.
ii. IO-type as Keyboard only indicates that user can provide Passkey
for pairing using AT commands.
iii. The bluetooth stack will use this passkey for completing the
pairing procedure with the remote device.
iv. During the pairing procedure, the LM074 displays the message
“IND*:PASSK=?”. This indicates that the LM074 requires a
Passkey from the user.
v. The user should respond to this with “at*passkey=1234”. i.e. the
passkey for the remote device is 1234. It can be any integer in
range of 32bit value.
vi. After completing the pairing procedure, the LM074 indicates the
status of pairing to the user e.g. “IND*:PAIR=OK,00126f357215”
or “IND*:PAIR=FAIL,00126f357215” .
6.2.2 LM074 has settings DPIN=on, MITM=on, IOtype=display only
i. After the LM074 shows indication of Pairing
“IND*:PAIR,00126f357215” and user accepts the Pairing request
with “AT*PAIR=00126f357215, accept”, LM074 starts pairing
procedure.
ii. When the LM074 starts the pairing procedure with a remote
device and has IO-capability as Display only, LM074 shows the
Passkey for remote device as message “IND*:PASSKEY=311303”
here number 311303 is for reference only and should vary for
every device.
iii. IO-type as Display only indicates that the Passkey generated by
the Bluetooth stack for pairing is only displayed by the LM074.
iv. The user should ensure that the other device uses the passkey
provided by the LM074 module in above indication.
v. If the remote device uses the passkey displayed by the LM074
then the pairing procedure should be completed successfully.
vi. After the pairing procedure is completed, the LM074 indicates this
as “IND*:PAIR=OK,00126f357215” . 00126f357215 is the
reference BD address and LM074 will show the remote devices
BD-Address.
6.2.3 LM074 has settings DPIN=on, MITM=on, IOtype=Display Y/N
i. After the LM074 indicates Pairing as “IND*:PAIR,00126f357215”
and the user accepts the pairing request with
“AT*PAIR=00126f357215, accept”, the LM074 starts the pairing
procedure.
ii. When the LM074 starts the Pairing procedure with the remote
device and has IO-capability as Display_YN i.e. Display passkey
and Confirmation is required as Yes or No, LM074 shows the
Passkey for remote device and expects the confirmation from user
as yes or No.
iii. The passkey is displayed by the LM074 module as
“IND*:PASSKEY=756830”.
iv. User shall provide confirmation with the AT command as
“at*passcfm=00126f357215,Yes” or
“at*passcfm=00126f357215,No”.
v. The remote device should be set as IO-type as display-only or
display-YN otherwise pairing will not be possible.
6.2.4 LM074 has settings DPIN=on, MITM=on, IO-type=noInput-no-output
i. Pairing with the remote device may or may not be successful and
depends on MITM and IO-type settings of remote device.
ii. If the remote device also has the same settings, then pairing may
6.2.5 LM074 has settings DPIN=on, MITM=off, IO-type=noInput-no-output
i. Pairing with the remote device might be successful if the remote
device also has DPIN=on, MITM=off and IO-type as no one.
ii. If the remote device has MITM=on or IO type other than no input
no output, the LM074 cannot pair with that device.
7. LED Indication
7.1 Power on LED sequence
1. All LEDs blink fast during power on for 3 seconds. User can notice all
LEDs blinking approximately 6 to 7 times.
2. The module shows power on LED sequence after AT*Reset=1 and
AT*Reset=2 commands.
LM074 SPP with GAP Central Application v1.1
7.2 LED0
1. LED0 (RED LED on LM068) is constantly ON to indicate that the
module/adapter is powered and active for AT commands, Bluetooth
discovery, audio functionality.
2. If LED0 is not ON, module/adapter may not be powered correctly or
not initialised.
3. The state of LED0 is irrespective of Bluetooth connection or pairing
state.
7.3 LED1
1. LED1 (Yellow LED on adapter) indicates the data transfer in the SPP
connected state.
2. When the module/adapter is not connected to the remote SPP device,
LED1 should be OFF.
3. When the module/adapter connects to a remote SPP device, LED1 is
ON for the duration of the module/adapter receiving data or sending
data to the remote device.
4. LED1 should be off when there is no active data transfer on the
Bluetooth connection.
1. LED2 (Blue LED) shall be constantly ON when the module/adapter is
connected to the remote device over a SPP connection.
2. LED2 will be constantly ON when it is connected to a remote device
while its role is slave or master.
3.
Slave-mode:
1. When the module/adapter is in slave mode, LED2 will keep blinking
fast until the module/adapter enters into Connected state or Pairing
mode.
Master-mode:
1. When the module/adapter is not connected to a remote device and is
in master mode, LED2 will blink slowly until the module/adapter
enters into Pairing state or Connected state.
7.5 Pairing State
1. When the module/adapter is in pairing mode, LED-1 and LED2 will
keep blinking fast until pairing is completed.
6. If the service-UUID is 128-bit, it is completely mentioned in the report
of FindServ e.g. “00005500-d102-11e1-9b23-00025b00a5a5”
7. If the characteristic has 128-bit UUID then only first 32 bits are shown
e.g.
8. “00005501” is shown whereas the actual 128-bit UUID is “00005501D10211E1-9B230002-5B00a5a5” here the remaining bits are same as
that of the 128-bit Service UUID shown above.
8.4 GATT_Status_code
The BLE stack outputs an error if the required operation fails. The table below
lists the possible error codes with a description.
This product is a Dual-modular transmitter policy independent of any host. Not applicable.
2.4 Limited module procedures
This product is a S Dual-modular transmitter. It is not a limited module. Not applicable.
2.5 Trace antenna designs
This product has an Integral antenna. Not applicable.
2.6 RF exposure considerations
This equipment complies with the FCC RF radiation exposure limits set forth for an
uncontrolled environment. This equipment should be installed and operated with a
minimum distance of 20cm between the radiator and any part of your body.
2.7 Antennas
This product has an Integral antenna. Not applicable.
2.8 Label and compliance information
Remind end customers to add "Contain FCC ID: VVXLM074"
2.9 Information on test modes and additional testing
requirements
Contact LM Technologies Ltd. will provide stand-alone modular transmitter test
mode. Additional testing and certification may be necessary when multiple modules
are used in a host.
2.10 Additional testing, Part 15 Subpart B disclaimer
To ensure compliance with all non-transmitter functions the host manufacturer is
responsible for ensuring compliance with the modu le(s) installed and fully
operational. For example, if a host was previously authorized as an unintentional
radiator under the Supplier’s Declaration of Conformity procedure without a
transmitter certified module and a module is added, the host manufacturer is
responsible for ensuring that the after the module is installed and operational the
host continues to be compliant with the Part 15B unintentional radiator
requirements. Since this may depend on the details of how the module is integrated
with the host, LM Technologies Ltd. shall provide guidance to the host manufacturer
for compliance with the Part 15B requirements.
FCC Warning
This device complies with Part 15 of the FCC Rules. Operation is subject to the following two
conditions:
(1) This device may not cause harmful interference, and (2) this device must accept any
interference received, including interference that may cause undesired operation.
NOTE 1: Any changes or modifications to this unit not expressly approved by the party
responsible for compliance could void the user's authority to operate the equipment.
FCC Radiation Exposure Statement:
This equipment complies with FCC radiation exposure limits set forth for an uncontrolled
environment. End users must follow the specific operating instructions for satisfying RF exposure
compliance.
This module certified that complies with RF exposure requirement under mobile or fixed
condition, this module is to be installed only in mobile or fixed applications.
A mobile device is defined as a transmitting device designed to be used in other than fixed
locations and to generally be used in such a way that a separation distance of at least 20
centimeters is normally maintained between the transmitter's radiating structure(s) and the body of
the user or nearby persons. Transmitting devices designed to be used by consumers or workers that
can be easily re-located, such as wireless devices associated with a personal computer, are
considered to be mobile devices if they meet the 20 centimeter separation requirement.
A fixed device is defined as a device is physically secured at one location and is not able to be
easily moved to another location.
Note 2: Any modifications made to the module will void the Grant of Certification, this module is
limited to OEM installation only and must not be sold to end-users, end-user has no manual
instructions to remove or install the device, only software or operating procedure shall be placed
in the end-user operating manual of final products.
Note 3: Additional testing and certification may be necessary when multiple modules are used.
Note 4: The module may be operated only with the antenna with which it is authorized. Any
antenna that is of the same type and of equal or less directional gain as an antenna that is
authorized with the intentional radiator may be marketed with, and used with, that intentional
radiator.
Note 5: To ensure compliance with all non-transmitter functions the host manufacturer is
responsible for ensuring compliance with the module(s) installed and fully operational. For
example, if a host was previously authorized as an unintentional radiator under the Supplier’s
Declaration of Conformity procedure without a transmitter certified module and a module is added,
the host manufacturer is responsible for ensuring that the after the module is installed and
operational the host continues to be compliant with the Part 15B unintentional radiator
requirements. Since this may depend on the details of how the module is integrated with the host,
LM Technologies Ltd. shall provide guidance to the host manufacturer for compliance with the
Part 15B requirements.
Note 6: FCC ID label on the final system must be labeled with “Contains FCC ID: VVXLM074”
or “Contains transmitter module FCC ID: VVXLM074”.
Note 7: For all products market in US, OEM has to limit the operation channels in CH1 to CH11
for 2.4G band by supplied firmware programming tool. OEM shall not supply any tool or info to
the end-user regarding to Regulatory Domain change.
IC WARNING
This device contains licence-exempt transmitter(s) that comply with Innovation, Science and
Economic Development Canada’s licence-exempt RSS(s). Operation is subject to the following
two conditions:
(1) This device may not cause interference.
(2) This device must accept any interference, including interference that may cause undesired
operation of the device.
L’émetteur/récepteur exempt de licence contenu dans le présent appareil est conforme aux CNR
d’Innovation, Sciences et Développement économique Canada applicables aux appareils radio
exempts de licence. L’exploitation est autorisée aux deux conditions suivantes:
1. L’appareil ne doit pas produire de brouillage;
2. L’appareil doit accepter tout brouillage radioélectrique subi, même si le brouillage est
susceptible d’en compromettre le fonctionnement.
This radio transmitter [enter the device’s ISED certification number] has been approved by
Innovation, Science and Economic Development Canada to operate with the antenna types listed
below, with the maximum permi ssible gain indicated. Antenna ty pes not included in this list that
have a gain greater than the maximum gain indicated for any type listed are strictly prohibited for
use with this device.
No. Antenna Type Gain Impedance
1Externaluniqueness Antenna2dBi50ohm
1 Internal uniqueness Antenna 2dBi 50ohm
IC Radiation Exposure Statement:
This device and its antenna(s) must not be co-located with any other transmitters except in
accordance with IC multi-transmitter product procedures. Referring to the multi-transmitter policy,
multiple-transmitter(s) and module(s) can be operated simultaneously without reassessment
permissive change.
Cet appareil et son antenne (s) ne doit pas être co-localisés ou fonctionnement en association avec
une autre antenne ou transmetteur.
This equipment complies with IC RSS-102 radiation exposure limits set forth for an uncontrolled
environment. This equipment should be installed and operated with minimum distance 20cm
between the radiator & your body.
Cet équipement est conforme aux limites d'exposition aux rayonnements IC établies pour un
environnement non contrôlé. Cet équipement doit être installé et utilisé avec un minimum de
20cm de distance entre la source de rayonnement et votre corps.
This module is limited to OEM installation only and must not be sold to end-users, end-user has
no manual instructions to remove or install the device, only software or operating procedure shall
be placed in the end-user operating manual of final products. Additional testing and certification
may be necessary when multiple modules are used.
Any changes or modifications not expressly approved by the manufacturer could void the user's
authority to operate this equipment.
The final end product must be labeled in a visible area with the following " Contains IC:
10531A-LM074 ".
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.