0% found this document useful (0 votes)
107 views42 pages

HM Module Manual

The HM Bluetooth module datasheet summarizes Bluetooth modules that provide Bluetooth data transmission, remote control, and PIO data acquisition capabilities. Key features include supporting both master and slave roles, remote control without an additional MCU, and PIO data acquisition without an additional MCU. Models include the HM-10 and HM-11 which support Bluetooth 4.0 BLE and use TI CC2540 chips. Technical specifications for the HM-10 and HM-11 are provided, including schematics, size dimensions, package information, and device terminal functions.

Uploaded by

EZ Z
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views42 pages

HM Module Manual

The HM Bluetooth module datasheet summarizes Bluetooth modules that provide Bluetooth data transmission, remote control, and PIO data acquisition capabilities. Key features include supporting both master and slave roles, remote control without an additional MCU, and PIO data acquisition without an additional MCU. Models include the HM-10 and HM-11 which support Bluetooth 4.0 BLE and use TI CC2540 chips. Technical specifications for the HM-10 and HM-11 are provided, including schematics, size dimensions, package information, and device terminal functions.

Uploaded by

EZ Z
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

HM Bluetooth module datasheet

The most complete, most convenient, the most stable of

luetooth data transmission, remote control, PIO

acquisition module
---- Master and slave role in one
---- Remote control without other MCU
---- The PIO data acquisition without other MCU
13. Product parameters

Ø BT Version: Bluetooth Specification V4.0 BLE


Ø Send and receive no bytes limit.
Ø Working frequency: 2.4GHz ISM band
Ø Modulation method: GFSK(Gaussian Frequency Shift Keying)
Ø RF Power: -23dbm, -6dbm, 0dbm, 6dbm, can modify through AT
Command AT+POWE.
Ø Speed: Asynchronous: 1-6K Bytes
Synchronous: 1-6K Bytes
Ø Security: Authentication and encryption
Ø Service: Central & Peripheral UUID FFE0,FFE1
Ø Power: +3.3VDC 50mA
Ø Long range: Open space have 100 Meters with iphone4s
Ø Power: In sleep mode 60uA~1.5mA, Active mode 8.5mA.
Ø Working temperature:–5 ~ +65 Centigrade
Ø Size: HM- 10 26.9mm x 13mm x 2.2 mm; HM-11 18*13.5*2.2mm

-------------------------------------------------------Last Version V539 2015-03-08 4


HM Bluetooth module datasheet

2. Product overview

HM Bluetooth module use CSR BlueCore or TI CC2540, Master and slave


roles in one, transmission version and remote control version and PIO state
acquisition functions in one, Support the AT command modify module
parameters, Convenient and flexible.
Transmission version can be used to transmit data between two Bluetooth
devices.
Remote Control version can be used to Control PIO ports output high or
low level without any other MCU.
The PIO state acquisition version can be used to acquisition PIO ports
state without any other MUC. (Only support Bluetooth V2.1)
HM-01, HM-02, HM-03, HM-04, HM-05, HM-06, HM-07, HM-08, HM-09 is
Bluetooth V2.1 version. Use CSR Chip.
HM-10, HM-11, HM-12 is Bluetooth V4.0 BLE version. Use TI Chip.
HM-01, HM-02, HM-09, HM-10 have same size and same pins.
HM-05, HM-06, HM-07, HM-11 have same size and same pins.

-------------------------------------------------------Last Version V539 2015-03-08 5


HM Bluetooth module datasheet

3. Product model

Models VDD Size(mm) Flash Chip BT Version

HM-01 3.3V 26.9*13*2.2 8M BC417143 V2.1+EDR

HM-02 2.5-3.7V 26.9*13*2.2 6M BC3/BC4 V2.1

HM-03 2.5-3.7V 27.4*12.5*4.3 6M BC3/BC4 V2.1

HM-04 3.3V Not for sale

HM-05 2.5-3.7V 13.5*18.5*2.3 6M BC3/BC4 V2.1

HM-06 2.5-3.7V 13.5*18.5*2.3 6M BC3/BC4 V2.1

HM-07 2.5-3.7V 13.5*18.5*2.3 8M V2.1+EDR

HM-08 3.3V 26.9*13*2.5 8M Class 1 V2.1+EDR

HM-09 2.5-3.7V 26.9*13*2.2 8M V2.1+EDR

HM-10 2-3.7V 26.9*13*2.2 256Kb CC2540/1 V4.0 BLE

HM-11 2.5-3.7V 13.5*18.5*2.2 256Kb CC2540/1 V4.0 BLE

HM-12 2.7~3.7V 26.9*13*2.2 64KB CSR Dual mode

HM-13 2.7~3.7V 13.5*18.5*2.2 64KB CSR Dual mode

HM-14 2.7-3.7V 13*13 64KB CSR Dual mode

HM-15 5V 65*32*16 256KB CC2540 V4.0 BLE

HM-16 2-3.7V 26.9*13*2.2 256Kb CSR V4.1 BLE

HM-17 2.5-3.7V 13.5*18.5*2.2 256Kb CSR V4.1 BLE

-------------------------------------------------------Last Version V539 2015-03-08 6


HM Bluetooth module datasheet

4. Product certificate
Products have FCC-ID, CE, RoHS.

-------------------------------------------------------Last Version V539 2015-03-08 7


HM Bluetooth module datasheet

5. Product pictures

Not for sale

HM-01 HM-02 HM-03 HM-04 HM-05


BT 2.1 BT 2.1 BT 2.1 BT 2.1 BT 2.1

HM-06 HM-07 HM-09 HM-10 HM-11


BT 2.1 BT 2.1 BT 2.1 BLE 4.0 BLE 4.0

HM-12 HM-13 HM-15 BLE HMSensor iBeacon


Dual mode Dual mode USB Dongle
BLE 4.1 BLE 4.1
Testing Testing
Coming Coming
soon soon
HM-16 HM-17

-------------------------------------------------------Last Version V539 2015-03-08 8


HM Bluetooth module datasheet

6. Product technical specifications


This document only include Bluetooth BLE 4.0 document,

6.1 HM-10 Schematic

6.2 HM-10 Size

-------------------------------------------------------Last Version V539 2015-03-08 9


HM Bluetooth module datasheet

6.3 HM-10 package information

6.4 HM-10 Device Terminal Functions

No Name Description CC254X

1 UART_TX UART interface P1_6


2 UART_RX UART interface P1_7

3 UART_CTS UART interface P1_4

-------------------------------------------------------Last Version V539 2015-03-08 10


HM Bluetooth module datasheet

4 UART_RTS UART interface P1_5

5 NC NC
6 NC NC
7 NC NC P2_2
8 NC NC P2_1
9 NC NC P2_0

10 NC NC
11 RESETB Reset if low >100ms. RESET_N

12 VCC 3.3V
13 GND Ground
14 GND Ground
15 USB_D- USB interface PIN3

16 NC NC

17 NC NC
18 NC NC

19 NC NC
20 UB_D+ USB interface PIN2

21 GND Ground GND


22 GND Ground GND

23 PIO0 System Key P1_3

24 PIO1 System LED P1_2


25 PIO2 input/output pin. PWM output P1_1

26 PIO3 input/output pin/ADC P1_0


27 PIO4 input/output pin/ADC P0_7
28 PIO5 input/output pin/ADC P0_6
29 PIO6 input/output pin/ADC P0_5
30 PIO7 input/output pin/ADC P0_4

31 PIO8 input/output pin/ADC P0_3


32 PIO9 input/output pin/ADC P0_2

-------------------------------------------------------Last Version V539 2015-03-08 11


HM Bluetooth module datasheet

33 PIO10 input/output pin/ADC P0_1

34 PIO11 input/output pin/ P0_0


ADC/DS18B20/DHT11
6.5 HM-11 Size

6.6 HM-11 Package information

6.7 HM-11 Device Terminal Functions

No Name Description CC254X

1 UART_RTS UART interface P1_5

-------------------------------------------------------Last Version V539 2015-03-08 12


HM Bluetooth module datasheet

2 UART_TX UART interface P1_6

3 UART_CTS UART interface P1_4


4 UART_RX UART interface P1_7
5 NC NC P2_1
6 NC NC P2_2
7 NC NC PIN2

8 NC NC PIN3
9 VCC V3.3 VCC

10 NC NC or VCC
11 RESETB Reset if low <100ms RESET_N
12 GND Ground GND
13 PIO3 input/output pin P1_1

14 PIO2 input/output pin/PWM P1_0

15 PIO1 System LED P0_7


16 PIO0 System KEY P0_6
6.8 HM-15
HM-15 is based HM-10, a real USB interface.

6.9 HM-Sensor

-------------------------------------------------------Last Version V539 2015-03-08 13


HM Bluetooth module datasheet

-------------------------------------------------------Last Version V539 2015-03-08 14


HM Bluetooth module datasheet

7. System function
How to wake up module from sleep mode?
There are two ways to wake up module from sleep mode.
7.1 Send “I am iron man, I am iron man, I am iron man I am iron…..” string.
Yes, that is a joke, in sleep mode, you can send a long string (Length >
80 or more), that string can made module wake up, and you will receive
“OK+WAKE” string through UART. That string can’t include any AT commands.
7.2 Long press system KEY >=1000 ms.
After wake up module, you can send and receive AT commands.
How to let module into sleep mode?
In discoverable mode, send “AT+SLEEP” string through UART, if all is okay,
module will return “OK+SLEEP” string and into sleep mode.

-------------------------------------------------------Last Version V539 2015-03-08 15


HM Bluetooth module datasheet

System advert packet


In iOS cant get model MAC address directly. So we put MAC address
information into advert packet.
You can use CBAdvertisementDataManufactureDataKey property to get it,
string format like follow:
0x48, 0x4D, 0xB4, 0x99, 0x4C, 0xXX, 0xXX, 0xXX
0x48 and 0x4D is “HM” string.
0xB4: 0x99: 0x4C: 0xXX: 0xXX: 0xXX is BLE MAC Address.

-------------------------------------------------------Last Version V539 2015-03-08 16


HM Bluetooth module datasheet

System KEY function (PIO0)


Press if Low > 1000ms:
7.3.1 If Module is in sleep mode
Module will wake up immediately, if AT+NOTI value is “1”, module will
send “OK+WAKE” string through UART.
7.3.2 If Module has already connected to remote device
Module will disconnect from remote device.
7.3.3 If Module is standby mode
Module will reset to default configuration. Then restart.
System LED function (PIO1)
In sleep mode, LED has turned off.
If AT+PIO10 is setup
Unconnected status: Output High 500 ms, Low 500 ms
Connected status: Output High
If AT+PIO11 is setup
Unconnected status: Output Low.
Connected status: Output High.
System work Mode
A) Mode 0(Transmission mode):
When not connected, through the AT command configuration module,
connection, only for serial data transmission.
B) Mode 1(PIO acquisition mode):
When not connected, through the AT command configuration module,
connection, a) serial data transmission. b) Control of the PIO2,3 output
state(HM-11 has none). c) The acquisition of PIO4 ~ 11 input state(HM-11 only
PIO2,3).
C) Mode 2(Remote control mode):
When not connected, through the AT command configuration module,
connection, a) serial data transmission. b) Control of the PIO2~11 output
state(HM-11 only PIO2,3).
-------------------------------------------------------Last Version V539 2015-03-08 17
HM Bluetooth module datasheet

8 AT Commands
Factory default setting:
Name: HMSoft; Baud: 9600, N, 8, 1; Pin code: 000000; Peripheral
Role; transmit mode.
AT Command format:
Uppercase AT command format. string format, without any other
symbol. (e.g. \r or \n).

On Transmit version: Only accept AT Command from UART interface when


Bluetooth device is not connected with remote device.
On Remote version: Can accept AT Command from UART interface when
Bluetooth Device is not connected with remote device, Also can accept AT
Command from remote Bluetooth device when connected that.
On PIO collection version: Only accept AT Command from UART interface
when Bluetooth device is not connected with remote device.

1. Test Command
-------------------------------------------------------Last Version V539 2015-03-08 18
HM Bluetooth module datasheet

Send Receive Parameter

AT OK None
OK+LOST
If Module is not connected to remote device will receive: “OK”
If Module has connected, module will disconnected from remote device, if “AT
+ NOTI” is setup to 1, will receive: “OK+LOST”
2. Query module address
Send Receive Parameter
AT+ADC[para1]? OK+GET:0.00 Para1: 3~B
map to PIO3~PIOB
HM-11 has no this function.
Added since V526.
3. Query module address

Send Receive Parameter

AT+ADDR? OK+ADDR:MAC Address None


3. Query/Set Advertising interval

Send Receive Parameter


AT+ADVI? OK+ Get:[Para] None

AT+ADVI[Para] OK+ Set:[Para] Para: 0 ~ F


0: 100ms
1: 152.5 ms
2: 211.25 ms
3: 318.75 ms
4: 417.5 ms
5: 546.25 ms
6: 760 ms
7: 852.5 ms
8: 1022.5 ms
9: 1285 ms

-------------------------------------------------------Last Version V539 2015-03-08 19


HM Bluetooth module datasheet

A: 2000ms
B: 3000ms
C: 4000ms
D: 5000ms
E: 6000ms
F: 7000ms
Default: 9
HMSoft Default: 0
HMSensor Default: 9

The maximum 1285ms recommendations form the IOS system. That is to


say, 1285ms is apple allowed, but in response to scan and connected all the
time will be long.
This command is added since V517 version.
V522 allow max value F.
4. Query/Set Advertising Type

Send Receive Parameter


AT+ADTY? OK+ Get:[Para] None

AT+ADTY[Para] OK+ Set:[Para] Para: 0 ~ 3


0: Advertising
ScanResponse,
Connectable
1: Only allow last device
connect in 1.28 seconds
2: Only allow Advertising
and ScanResponse.
3: Only allow Advertising
Default: 0

Added since V519


5. Query/Set ANCS switch

-------------------------------------------------------Last Version V539 2015-03-08 20


HM Bluetooth module datasheet

Send Receive Parameter

AT+ANCS? OK+ Get:[Para] None


AT+ANCS[Para] OK+ Set:[Para] Para: 0 ~ 1
0: Off
1: On
Default: 0
Note1: This command added in V524.
Note2: Please send AT+RESET to restart module if you set value 1.
Note3: Must execute AT+TYPE3 first.
6. Query/Set whitelist switch
Send Receive Parameter

AT+ALLO? OK+ Get:[Para] None


AT+ALLO[Para] OK+ Set:[Para] Para: 0 ~ 1
0: Off
1: On
Default: 0

Note1: This command added in V523.


Note2: WhiteList allow three mac address link to module. Please use AT+AD
command set whitelist mac address.
7. Query/Set whitelist mac address

Send Receive Parameter


AT+AD[para1]?? OK+ Get:[Para2] None

AT+ALLO[Para1][Para2] OK+ Set:[Para2] Para1: 1, 2, 3


Para2: MAC address
Para1 default: 0
Note1: This command added in V523.
E.g.
Send AT+ID1001122334455
Recv OK+Set:001122334455

-------------------------------------------------------Last Version V539 2015-03-08 21


HM Bluetooth module datasheet

8. Query/Set Module pin output state, After power supplied


Send Receive Parameter

AT+BEFC? OK+ Get:[Para] None

AT+BEFC[Para] OK+ Set:[Para] Para: 000~ 3FF


Default: 000
This command added in V527.
3FF == 001111111111, left to right side is map to PIO0~PIOB, PIO0 and
PIo1 is used by system. Only Pio2~PIOB pins is available.
e.g. Set PIO2~PIOB all output high after power supplied.
Send: AT+BEFC3FF
Recv:OK+Set:3FF
When next time power on, module PIO2~PIOB will output high.
Note: Query PIO pins current state please use AT+PIO?? Command.
Note: Please don’t use this command when “AT+MODE1” is setup.
9. Query/Set Module pin output state, After connection is established

Send Receive Parameter


AT+AFTC? OK+ Get:[Para] None

AT+AFTC[Para] OK+ Set:[Para] Para: 000~ 3FF


Default: 000

This command added in V527.


3FF == 001111111111, Left to right side is map to PIO0~PIOB, PIO0 and
PIo1 is used by system. Only Pio2~PIOB pins is available.
e.g. Set PIO2~PIOB all output high when connection is established.
Send: AT+AFTC3FF
Recv: OK+Set:3FF
When Bluetooth connection is established, module PIO2~PIOB will output
high.
Note: Query PIO pins current state please use “AT+PIO??” command.
Note: Please don’t use this command when “AT+MODE1” is setup.

-------------------------------------------------------Last Version V539 2015-03-08 22


HM Bluetooth module datasheet

10. Query/Set battery monitor switch


Send Receive Parameter

AT+BATC? OK+ Get:[Para] None

AT+BATC[Para] OK+ Set:[Para] Para: 0 ~ 1


0: Off
1: On
Default: 0
This command added in V520
11. Query battery information

Send Receive Parameter


AT+BATT? OK+BATT:[Para] Para: 000~100

There has three ways to get battery information:


a. Before establishing a connection, Send “AT+BATT?” through UART.
b. After established a connection, In Mode 1 or 2, remote side send
“AT+BATT?”
Battery information has included in scan response data package, one hour
update once. You can use Android or IOS discovery module, when module has
been discovered, you can get it from scan result array.
Data format is 0x02, 0x16, 0x00, 0xB0, [FLAG], [temperature], [ humidity],
[battery].
Android:
Included in OnLeScan function result array, you can see it direct.
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {

@Override

public void onLeScan(final BluetoothDevice device, int rssi,

byte[] scanRecord) {

......<Other code>......

String sBatt = ""; //Battery

String sTemp = ""; //Temperature

-------------------------------------------------------Last Version V539 2015-03-08 23


HM Bluetooth module datasheet

String sHumi = ""; //Humidity

for(int i = 0; i < scanRecord.length; i++)

if(i + 7 < scanRecord.length)

//Since V522

if(scanRecord[i] == 0x07 && scanRecord[i + 1] == 0x16

&& scanRecord[I + 2] == 0x00 && scanRecord[I + 3] == 0xB0)

if(scanRecord[i + 7] > 0)

sBatt = String.valueOf(scanRecord[i + 7]);

if(scanRecord[i + 5] > 0)

sTemp = String.valueOf(scanRecord[i + 5]);

if(scanRecord[i + 6] > 0)

sHumi = String.valueOf(scanRecord[i + 6]);

......<Other code>......

};

iOS:
c. Included in LeScan function result NSDictionary struct, service id is
0xB000.
12. Query/Set Bit format
Send Receive Parameter

AT+BIT7? OK+Get:[para1] Para1: bit7 switch.

-------------------------------------------------------Last Version V539 2015-03-08 24


HM Bluetooth module datasheet

AT+BIT7[para1] OK+Set:[para1] 0-----Not compatible


1-----Compatible
Default: 0

This command is used only for compatible uses 7 data bits, 2 stop bit device.
13. Query/Set baud rate
Send Receive Parameter
AT+BAUD? OK+Get:[para1] Para1: Baud rate No.
AT+BAUD[para1] OK+Set:[para1] 0---------9600
1---------19200
2---------38400
3---------57600
4---------115200
5---------4800
6---------2400
7---------1200
8---------230400
Default: 0(9600)

e.g.
Query baud:
Send: AT+BAUD?
Receive: OK+Get:0
Setup baud:
Send: AT+BAUD1
Receive: OK+Set:1
Note: If setup to Value 7, After next power on, module will not support any
AT Commands, until PIO0 is pressed, Module will change Baud to 9600.
14. Query/Set Minimum Link Layer connection interval
Send Receive Parameter
AT+COMI? OK+Get:[P1] P1: 0 ~ 9

-------------------------------------------------------Last Version V539 2015-03-08 25


HM Bluetooth module datasheet

AT+COMI[P1] OK+Set:[P1] Default: 3(20ms)

P1 Value: 0: 7.5ms; 1: 10ms; 2: 15ms; 3: 20ms; 4: 25ms; 5: 30ms; 6: 35ms; 7:


40ms; 8: 45ms; 9: 4000ms
Note: This command is added since V538
15. Query/Set Maximum Link Layer connection interval
Send Receive Parameter
AT+COMA? OK+Get:[P1] P1: 0 ~ 9
AT+COMA[P1] OK+Set:[P1] Default: 7(40ms)

P1 Value: 0: 7.5ms; 1: 10ms; 2: 15ms; 3: 20ms; 4: 25ms; 5: 30ms; 6: 35ms; 7:


40ms; 8: 45ms; 9: 4000ms
Note: This command is added since V538
16. Query/Set Link Layer connection slave latency
Send Receive Parameter

AT+COLA? OK+Get:[P1] P1: 0 ~ 4

AT+COLA[P1] OK+Set:[P1] Default: 0

Note: This command is added since V538


17. Query/Set Maximum Link Layer connection interval
Send Receive Parameter

AT+COMA? OK+Get:[P1] P1: 0 ~ 6


AT+COMA[P1] OK+Set:[P1] Default: 6(6000ms)

P1 Value: 0: 100ms; 1: 1000ms; 2: 2000ms; 3: 3000ms; 4: 4000ms; 5:


5000ms; 6: 6000ms;
Note: This command is added since V538
18. Query/Set The Switch of update connection parameter
Send Receive Parameter
AT+COUP? OK+Get:[P1] P1: 0 ~ 1
AT+COUP[P1] OK+Set:[P1] 0: Don’t update

1: Update
Default: 1(update)

-------------------------------------------------------Last Version V539 2015-03-08 26


HM Bluetooth module datasheet

This command is only use when module is in slave role.


Note: This command is added since V538
19. Query/Set Characteristic
Send Receive Parameter

AT+CHAR? OK+Get:[para1] Para1: 0x0001~0xFFFE


AT+CHAR[para1] OK+Set:[para1] Default: 0xFFE1

e.g. change characteristic value to 0xAAA0


Send: AT+CHAR0xAAA0
Recv: OK+Set:0xAAA0
20. Clear Last Connected device address
Send Receive Parameter

AT+CLEAR OK+CLEAR None


Notice: Only Central role is used.
21. Try connect to last succeeded device

Send Receive Parameter


AT+CONNL OK+CONN[Para1] Para1: L, E, F, N
L: Connecting
E: Connect error
F: Connect Fail
N: No Address

Notice: Only Central role is used. Must set up AT+IMME1 and AT+ROLE1
first.
If remote device has already connected to other device or shut down,
“OK+CONNF” will received after about 10 seconds.
22. Try connect an address
Send Receive Parameter
AT+CO[P0][P1] OK+CO[P0][P0][P2] P0: N, 1
N: Normal Address
1: Dual module Addr

-------------------------------------------------------Last Version V539 2015-03-08 27


HM Bluetooth module datasheet

P1: Address
Like: 0017EA090909
P2: A, E, F
A: Connecting
E: Connect error
F: Connect Fail

Notice: Only central role is used. Must set up AT+IMME1 and AT+ROLE1
first.
If remote device has already connected to other device or shut down,
“OK+CONNF” will received after about 10 Seconds.
e.g.
Try to connect an device which MAC address is 00:17:EA:09:09:09
Send: AT+CON0017EA090909
May receive a reply:
OK+CONNA ========= Accept request, connecting
OK+CONNE ========= Connect error
OK+CONN ========= Connected, if AT+NOTI1 is setup
OK+CONNF ========= Connect Failed, After 10 seconds
23. Query PIO04~PIO11 input(output) state

Send Receive Parameter


AT+COL?? OK+ Col:[Para1] Para1: 0x00~0xFF

Para1 is a byte, has 8 bits, bit 7 ~ bit 0 is map to the PIO4 ~ PIO11.
This command is added since V515 version.
24. Query/Set PIO collection rate
Send Receive Parameter

AT+CYC?? OK+ Get:[para1] Para1: 00~99


AT+CYC[para1] OK+ Set:[para1] Unit: seconds
Default: 10
In mode 1, when PIO state is change, module will send OK+Col:[xx] to

-------------------------------------------------------Last Version V539 2015-03-08 28


HM Bluetooth module datasheet

UART or remote side. This command is set send interval.


This command is added since V515 version.
25. Start a device discovery scan
Send Receive Parameter

AT+DISC? OK+DIS[P0][P1] P0: C,0, 1, 2


C: Common string
0~2: Address type
P1: S, E, [MAC String]
S: Start discovery
E: End discovery
MAC String :
Device MAC string
Please set AT+ROLE1 and AT+IMME1 first.
e.g.
Send: AT+DISC?
Recv: OK+DISCS
Recv: OK+DIS[P0]:123456789012 (discovered device address information)
If AT+SHOW1 is setup, you will receive then Name information as follow
Recv: OK+NAME: xxx
After send Name value, will send two extra “\r\n” value ASCII byte
Recv: OK+DIS[P0]:234567890123
Recv: OK+NAME: xxx
After send Name value, will send two extra “\r\n” value ASCII byte
…..(Before V535 max results is 6, Since V535 not limit)
Recv: OK+DISCE
Connect use array index:
Connect to a discovered device: AT+CONN0, AT+CONN1……AT+CONN5
Connect use MAC string: AT+CON[MAC String]
26. Start a iBeacon device discovery scan

-------------------------------------------------------Last Version V539 2015-03-08 29


HM Bluetooth module datasheet

Send Receive Parameter

AT+DISI? OK+DISC[P0:P1:P2:P3:P4] P0: Factory ID


P1: iBeacon UUID
P2: Major Value
Minor Value
Measured Power
P3: MAC
P4: RSSI
Please set AT+ROLE1 and AT+IMME1 first.
e.g.
Send: AT+DISC?
Recv: OK+DISCS (Scan start)
Recv: OK+DIS[P0:P1:P2:P3:P4] (if have one device)
Recv: OK+DIS[P0:P1:P2:P3] (if have two devices)
………..
Recv: OK+DISCE (Scan end)
P0 length is 8; P1 length is 32; P2 length is 10; P3 length is 12, P4 length is 4
P2 include Major Value (length 4);
Minor Value (length 4);
Measured Power (length 2)

If the device not enable iBeacon function, P0, P1, P2 will use ‘0’ fill.

Note: Added since V539


27. Connect to an Discovery device
Send Receive Parameter

AT+CONN[para1] OK+CONN[para2] Para1: 0~5


Para2: E, F, 0~5
E: Link error
F: Link failed
0~5: Try to connect

-------------------------------------------------------Last Version V539 2015-03-08 30


HM Bluetooth module datasheet

This command is use after execute AT+DISC?


This command will clear all discovery data.
28. Query/Set iBeacon deploy mode
Send Receive Parameter

AT+DELO[para1] OK+DELO[para1] Para1: 1, 2


1: Allowed to broadcast
and scanning
2: Only allow broadcast
After receive OK+DELO[para1], module will reset after 500ms.
This command will let module into non-connectable status until next power on.
29. Remove bond information

Send Receive Parameter


AT+ERASE OK+ERASE

Note: Added in V524 version.


30. Set advertising data FLAG byte

Send Receive Parameter

AT+FLAG[P1] OK+ Set:[P1] P1: 0~FF (one byte)


Note: This command added in V530. Please ref to AT+BATT? Command.
31. Query/Set filter of HM modules
Send Receive Parameter

AT+FILT? OK+ Get:[para1] Para1: 0, 1


AT+FILT[para1] OK+ Set:[para1] 0: Will find all BLE modules
1: Only find HM Modules
Default: 1
Note: This command is removed since V530
32. Query/Set flow control switch

Send Receive Parameter


AT+FIOW? OK+ Get:[para1] Para1: 0, 1
AT+FIOW[para1] OK+ Set:[para1] 0: Off

-------------------------------------------------------Last Version V539 2015-03-08 31


HM Bluetooth module datasheet

1: On
Default: 0

33. Query/Set module RX gain


Send Receive Parameter
AT+GAIN? OK+ Get:[P1] P1: 0, 1
AT+GAIN[P1] OK+ Set:[P1] 0: No RX gain
1: Open RX gain
Default: 0
Note: This command is added since V535
34. System Help Information
Send Receive Parameter

AT+HELP? Help Information None


35. Query/Set Module work type
Send Receive Parameter

AT+IMME? OK+ Get:[para1] Para1: 0, 1


AT+IMME[para1] OK+ Set:[para1] 1: When module is powered
on, only respond the AT
Command, don’t do anything.
Until AT + START, AT+CON,
AT+CONNL commands is
received.
0: When power on, module
will start work immediately
Default: 0

This command is only used for Central role.


36. Query/Set Module iBeacon switch

Send Receive Parameter


AT+IBEA? OK+Get:[para1] Para1: 0, 1
AT+IBEA[para1] OK+Set:[para1] 0: Turn off iBeacon

-------------------------------------------------------Last Version V539 2015-03-08 32


HM Bluetooth module datasheet

1: Turn on iBeacon
Default: 0

iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935.


This command is added since V517 version.
37. Query/Set iBeacon UUID
Send Receive Parameter
AT+IBE0? OK+Get:[para1] Para1: 00000001~
AT+IBE0[para1] OK+Set:[para1] FFFFFFFE
Default: 74278BDA
iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935.
This command can change red color string in iBeacon UUID.
This command is added since V520 version.
e.g.: Send: AT+IBE012345678 change iBeacon UUID red color string to
“12345678”
38. Query/Set iBeacon UUID

Send Receive Parameter


AT+IBE1? OK+Get:[para1] Para1: 00000001~

AT+IBE1[para1] OK+Set:[para1] FFFFFFFE


Default: B6444520

iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935.


This command can change red color string in iBeacon UUID.
This command is added since V520 version.
e.g.: Send: AT+IBE112345678 change iBeacon UUID red color string to
“12345678”
39. Query/Set iBeacon UUID
Send Receive Parameter

AT+IBE2? OK+Get:[para1] Para1: 00000001~


AT+IBE2[para1] OK+Set:[para1] FFFFFFFE
Default: 8F0C720E

-------------------------------------------------------Last Version V539 2015-03-08 33


HM Bluetooth module datasheet

iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935.


This command can change red color string in iBeacon UUID.
This command is added since V520 version.
e.g.: Send: AT+IBE112345678 change iBeacon UUID red color string to
“12345678”
40. Query/Set iBeacon UUID
Send Receive Parameter

AT+IBE3? OK+Get:[para1] Para1: 00000001~


AT+IBE3[para1] OK+Set:[para1] FFFFFFFE
Default: AF059935
iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935.
This command can change red color string in iBeacon UUID.
This command is added since V520 version.
e.g.: Send: AT+IBE112345678 change iBeacon UUID red color string to
“12345678”
41. Query/Set Module iBeacon Marjor version
Send Receive Parameter

AT+MARJ? OK+Get:[para1] Para1: 0x0001, 0xFFFE


AT+MARJ[para1] OK+Set:[para1] Default: 0xFFE0

E.g. Change marjor version to 0x0102


Send: AT+MARJ0x0102, if all is okay, module will send back OK+Set:
0x0102
This command is added since V517 version.
42. Query/Set Module iBeacon minor

Send Receive Parameter


AT+MINO? OK+Get:[para1] Para1: 0x0001, 0xFFFE

AT+MINO[para1] OK+Set:[para1] Default: 0xFFE1

This command is added since V517 version.


43. Query/Set Module iBeacon Measured power

-------------------------------------------------------Last Version V539 2015-03-08 34


HM Bluetooth module datasheet

Send Receive Parameter

AT+MEAS? OK+Get:[para1] Para1: 0x0001, 0xFFFE


AT+MEAS[para1] OK+Set:[para1] Default: 0xFFE1

This command is added since V519 version.


44. Query/Set Module Work Mode
Send Receive Parameter
AT+MODE? OK+Get:[para1] Para1: 0, 1, 2
AT+MODE[para1] OK+Set:[para1] 0: Transmission Mode
1: PIO collection Mode +
Mode 0
2: Remote Control Mode
+ Mode 0
Default: 0
Mode 0:
Before establishing a connection, you can use the AT command
configuration module through UART.
After established a connection, you can send data to remote side from
each other.
Mode 1:
Before establishing a connection, you can use the AT command
configuration module through UART.
After established a connection, you can send data to remote side. Remote
side can do fellows:
Send AT command configuration module.
Collect PIO04 to the PIO11 pins input state of HM-10.
Collect PIO03 pins input state of HM-11.
Remote control PIO2, PIO3 pins output state of HM-10.
Remote control PIO2 pin output state of HM-11.
Send data to module UART port (not include any AT command and per

-------------------------------------------------------Last Version V539 2015-03-08 35


HM Bluetooth module datasheet

package must less than 20 bytes).


Mode 2:
Before establishing a connection, you can use the AT command
configuration module through UART.
After established a connection, you can send data to remote side. Remote
side can do fellows:
Send AT command configuration module.
Remote control PIO2 to PIO11 pins output state of HM-10.
Remote control PIO2, PIO3 pins output state of HM-11.
Send data to module UART port (not include any AT command and per
package must less than 20 bytes).
45. Query/Set Notify information

Send Receive Parameter

AT+NOTI? OK+Get:[para1] Para1: 0, 1


AT+NOTI[para1] OK+Set:[para1] 0: Don’t Notify
1: Notify
Default: 0

If this value is set to 1, when link ESTABLISHED or LOSTED module will


send OK+CONN or OK+LOST string through UART.
46. Query/Set notify mode
Send Receive Parameter

Q: AT+NOTP? OK+ Get[P1] P1: 0, 1; default: 0


Q: AT+NOTP[P1] OK+ Set[P1] 0: without address
1: with address
This command must work with “AT+NOTI1”, if this switch is open, when
the module connect to disconnect, the prompt string will include the remote
address.
OK+CONN:001122334455 String “001122334455” is the MAC address
string

-------------------------------------------------------Last Version V539 2015-03-08 36


HM Bluetooth module datasheet

Added since V534


47. Query/Set Module name
Send Receive Parameter

AT+NAME? OK+NAME[para1] Para1: module name,


Max length is 12.
AT+NAME[para1] OK+Set[para1]
Default: HMSoft
e.g.
change module name to bill_gates
Send: AT+NAMEbill_gates
Receive: OK+SetName:bill_gates
48. Query/Set output driver power

Send Receive Parameter


Query: AT+PCTL? OK+Get:[para1] None

Set: AT+PCTL[para1] OK+Set:[para1] Para1: 0,1


0:Normal power output
1:Max power output
Default: 1

Noted: Added in V527


49. Query/Set Parity bit
Send Receive Parameter

Query: AT+PARI? OK+Get:[para1] None


Set: AT+PARI[para1] OK+Set:[para1] Para1: 0,1,2
0:None
1:EVEN
2:ODD
Default: 0 (None)

50. Query/Set PIO1 output status (System LED)


Send Receive Parameter

AT+PIO1? OK+Get:[para1] Para1: 0, 1

-------------------------------------------------------Last Version V539 2015-03-08 37


HM Bluetooth module datasheet

AT+ PIO1 [para1] OK+Set:[para1] 0: Unconnected Output


500ms High 500ms Low,
Connected output High.
1: Unconnected output
Low, Connected output
High.
Default: 0

51. Query/Set PIO pins output high or low (Only this time, when module next
power on, this value is not be used)

Send Receive Parameter


AT+PIO[para1]? OK+PIO:[para1][para2] Para1: 2~B, ?

AT+PIO[para1][para2] OK+PIO:[para1][para2] Para2: 0, 1, ?


HM-11 only has 4 pins.
Para1 is which PIO pin
you want to Query/Set
Value:
2,3,4,5,6,7,8,9,A,B.
Para2 is Query or setup
value.
“0” is low and “1” is high
and “?” is query

e.g.
Query PIO2
Send: AT+PIO2?
Setup PIO2 output high
Send: AT+PIO21
Receive: OK+PIO21
HM-10 HMSensor version: para1 value is 2~A
HM-10 HMSoft version: para1 value is 2~B

-------------------------------------------------------Last Version V539 2015-03-08 38


HM Bluetooth module datasheet

HM-11 HMSensor version: para1 value is 2


HM-11 HMSoft version: para1 value is 2, 3
V525 added PIO2 PWM function, Para2 value is 0~9
0: output low
1: output high
2: output 100ms PWM
3: output 200ms PWM
……
9: output 800ms PWM
V527 added AT+PIO?? Format query all pins output state.
52. Query/Set Pin Code
Send Receive Parameter

AT+PASS? OK+Get:[para1] Para1 is Pin Code,

AT+PIN[para1] OK+Set:[para1] 000000~999999


Default: 000000

e.g.
Query Pin Code
Send: AT+PIN?
Receive: OK+PIN:000000
Setup Pin Code 008888
Send: AT+PIN008888
Receive: OK+Set:008888
53. Query/Set Module Power

Send Receive Parameter


AT+POWE? OK+Get:[para1] None

AT+ POWE [para1] OK+Set:[para1] Para: 0 ~ 3


0: -23dbm
1: -6dbm
2: 0dbm

-------------------------------------------------------Last Version V539 2015-03-08 39


HM Bluetooth module datasheet

3: 6dbm
Default: 2

54. Query/Set Module sleep type


Send Receive Parameter
AT+PWRM? OK+Get:[para1] None

AT+PWRM[para1] OK+Set:[para1] Para1: 0~1


0:Auto sleep
1:don’t auto sleep
Default: 1
Only support peripheral role.
55. Query/Set reliable advertising mode

Send Receive Parameter

AT+RELI? OK+ Get:[para1] Para1: 0, 1


AT+RELI[para1] OK+ Set:[para1] 0: Normal advertising
1: Reliable advertising
Default: 0

Note: This command is added since V530


56. Restore all setup value to factory setup

Send Receive Parameter


AT+RENEW OK+RENEW None

57. Restart module


Send Receive Parameter
AT+RESET OK+RESET None

58. Query/Set Master and Slaver Role


Send Receive Parameter

AT+ROLE? OK+Get:[para1] Para1: 0, 1


AT+ROLE[para1] OK+Set:[para1] 0: Peripheral
1: Central
Default: 0

-------------------------------------------------------Last Version V539 2015-03-08 40


HM Bluetooth module datasheet

59. Query RSSI Value


Send Receive Parameter

AT+RSSI? OK+RSSI:[para1] None

Require: AT+MODE value > 0


This command only used by Remote device query when connected.
60. Query Last Connected Device Address
Send Receive Parameter
AT+RADD? OK+RADD:MAC Address None
61. Query/Set Module Sensor work interval

Send Receive Parameter

AT+RAT?? OK+Get:[para1] Para1: 00~99


AT+RAT[para1] OK+Set:[para1] 0:Save when connected
1:Don’t Save
Default: 0
Unit: minute
Note: This command is only use for HMSensor
62. Query/Set Stop bit
Send Receive Parameter

AT+STOP? OK+Get:[para1] None


AT+STOP[para1] OK+Set:[para1] Para1:0, 1
0: One stop bit
1: Two stop bit
Default: 0 (One stop bit)
63. Work immediately
Send Receive Parameter
AT+START OK+START None
This command is only used when AT+IMME1 is setup.
64. Query Module into sleep mode
Send Receive Parameter

-------------------------------------------------------Last Version V539 2015-03-08 41


HM Bluetooth module datasheet

AT+SLEEP OK+SLEEP None

Only support Peripheral role.


65. Query/Set Module save connected address parameter
Send Receive Parameter
AT+SAVE? OK+Get:[para1] None

AT+SAVE[para1] OK+Set:[para1] Para1: 0~1


0:Save when connected
1:Don’t Save
Default: 0
66. Query/Set sensor type on module PIO11(HM-11 is PIO3)
Send Receive Parameter

AT+SENS? OK+Get:[para1] Para1: 0, 1, 2

AT+SENS[para1] OK+Set:[para1] 0: None


1: DHT11
2: DS18B20
Default: 0

Note: This command is use for HMSensor.


67. Query/Set discovery parameter

Send Receive Parameter


AT+SHOW? OK+Get:[para1] None

AT+SHOW[para1] OK+Set:[para1] Para1: 0~1

0:Don’t show name

1:Show name
Default: 0

Please execute AT+FILT0 first.


If AT+SHOW1 is setup, AT+DISC? Command will show you name information
included into scan result package.
68. Query/Set Module Sensor Temperature and humidity(if has a sensor)

Send Receive Parameter

-------------------------------------------------------Last Version V539 2015-03-08 42


HM Bluetooth module datasheet

AT+TEHU? OK+Get:[para1][para2] Para1: 000~120


Para2: 000~100

Note: This command is use for HMSensor.


This value is added into scan response data package.
Data format is 0x02, 0x16, 0x00, 0xB0, [reserved], [temperature], [ humidity],
[battery].
Android:
Included in OnLeScan function result array, you can see it direct.
iOS:
Included in LeScan function result NSDictionary struct, service id is
0xB000.
69. Query DS18B20 Sensor or IC temperature
Send Receive Parameter
AT+TEMP? OK+Get:[para1] Para1:
000.000~255.000

Note1: if not setup AT+SENS value, will get IC temperature.


Note2: Added in V523 version, Modified at V526.
70. Query/Set module connect remote device timeout value
Send Receive Parameter

AT+TCON? OK+TCON:[para1] None

AT+TCON[para1] OK+Set:[para1] Para1 is timeout value.


when time is up module
will not connect this
address anymore, then
enter search mode.
Para1 allowed value:
000000~999999
Unit is ms.
Default:

-------------------------------------------------------Last Version V539 2015-03-08 43


HM Bluetooth module datasheet

000000 Connect forever

This value is only used for Central Role, when module has Last Connected
address.
71. Query/Set Module Bond Mode
Send Receive Parameter
AT+TYPE? OK+Get:[para1] None
AT+TYPE[para1] OK+Set:[para1] Para1: 0~2
0:Not need PIN Code
1:Auth not need PIN
2:Auth with PIN
3:Auth and bond
Default: 0
Important: If your module version is less than V515, please don’t use
this command. Under android 4.3 AT+TYPE1 is same to AT+TYPE2.
Note1: Value 3 is added in V524.
72. Query/Set service UUID
Send Receive Parameter

AT+UUID? OK+Get:[para1] Para1: 0x0001~0xFFFE

AT+UUID[para1] OK+Set:[para1] Default: 0xFFE0

e.g. Change UUID value to 0xAAA0


Send: AT+UUID0xAAA0
Recv: OK+Set:0xAAA0
73. Query/Set UART sleep type

Send Receive Parameter


AT+UART? OK+Get:[para1] Para1: 0~1
AT+UART[para1] OK+Set:[para1] 0: When module into
sleep mode, you can
wake up module through
UART.

-------------------------------------------------------Last Version V539 2015-03-08 44


HM Bluetooth module datasheet

1: When module into


sleep mode, shutdown
UART too.
Default: 0xFFE0

Note: This command is only use for HMSensor.


74. Query Software Version
Send Receive Parameter
AT+VERR? Version Information None
AT+VERS?

-------------------------------------------------------Last Version V539 2015-03-08 45

You might also like