FSC-BT910x General AT Command Set

[中文]

Description

This guide is provided for engineers to develop FSC-BT910x series Bluetooth modules.

Module Default Parameters

Name

<Model_Number>-XXXX
Example: FSC-BT9101-1234

LE-Name

<Model_Number>-LE-XXXX
Example: FSC-BT9101-LE-1234

PIN Code

0000

Secure Simple Pairing Mode

OFF

Service UUID

FFF0

Write UUID

FFF2

Notify UUID

FFF1

UART Baudrate

115200/8/N/1

AT Command Description

Specification Description

Applicable to the entire document

  • {} : Content included in {…} is optional

  • << : COMMAND sent by the host to the module

  • >> : Module responds to the host’s RESPONSE/EVENT

AT Command Format

AT+Command{=Param1{,Param2{,Param3...}}}<CR><LF>
  • All commands start with AT and end with <CR><LF>

  • <CR> represents carriage return, corresponding to HEX 0x0D

  • <LF> represents line feed, corresponding to HEX 0x0A

  • If the instruction contains parameters, the parameters should be separated by =

  • If the instruction contains parameters, the parameters should be separated by ,

  • If the command has a response, the response starts with <CR><LF> and ends with <CR><LF>

  • The module should always return the command execution result (returns OK on success, returns ERROR on failure)

Example: Read module Bluetooth name

Send: <<AT+NAME<CR><LF>
Response: >><CR><LF>+NAME=FSC-BT9101<CR><LF>
Response: >><CR><LF>OK<CR><LF>

Write unsupported Baud rate

Send: <<AT+BAUD=0<CR><LF>
Response: >><CR><LF>ERROR<CR><LF>

Event Format

<CR><LF>+Indication{=Param1{,Param2{,Param3...}}}<CR><LF>
  • All events start with <CR><LF> and end with <CR><LF>

  • If the event contains parameters, they should be placed after “=”

  • If the event contains multiple parameters, they should be separated by “,”

Example: Return current SPP connection status in command mode

Response: >><CR><LF>+SPPSTAT=3<CR><LF>

Command Table

General Commands

AT+HELP - Query firmware functions and command description

Command

AT+HELP

Response

<MODULE DEFAULT PARAMETER>
<COMMAND SUMMARY: DESCRIPTION: PROFILE CATEGORY>

Description

Use the help command to obtain basic summary information

AT - UART Communication Test

Command

AT

Response

OK

Description

Test UART communication between the host and the module after power-on or Baud rate change

Example:
<< AT
>> OK

AT+REBOOT - Software Reset

Command

AT+REBOOT

Response

OK

Description

The module will reboot

Example:
<< AT+REBOOT
>> OK

AT+RESTORE - Restore Factory Settings

Command

AT+RESTORE

Response

OK

Description

The module will restore factory settings

Example:
<< AT+RESTORE
>> OK

AT+BTEN - Read/Write Current Bluetooth Operating Mode

Command

AT+BTEN{=Param}

Param

Enable Bluetooth (0/1, default:0)
0: Disconnect all connections, disable discoverable/connectable
1: Enable discovery/connection

Response

+BTEN=Param

Description

Read/Write current Bluetooth operating mode

AT+NAME - Read/Write BR/EDR Bluetooth Name

Command

AT+NAME{=Param{,Param1}}

Param

BR/EDR Bluetooth Name (1~29 Bytes ASCII)

Param1

Enable MAC address suffix (0~2, default:0)
0: Disable suffix
1: Enable suffix “XXXX” (last 4 Bytes of MAC address)
2: Enable suffix “XXXXXX” (last 6 Bytes of MAC address)

Response

+NAME=Param

Param

Bluetooth Name

Description

Write local name if parameter existence, otherwise read current local name

Example:
Set BR/EDR Bluetooth name and disable suffix
<< AT+NAME=ABC,0
>> OK

Set BR/EDR Bluetooth name to “ABC” and automatically add address suffix
<< AT+NAME=ABC,1
>> OK

Read BR/EDR Bluetooth name
<< AT+NAME
>> +NAME=ABC-XXXX
>> OK

AT+LENAME - Read/Write BLE Bluetooth Name

Command

AT+LENAME{=Param{,Param1}}

Param

BLE Bluetooth Name (1~29 Bytes ASCII)

Param1

Enable MAC address suffix (0~2, default:0)
0: Disable suffix
1: Enable suffix “-XXXX” (last 4 Bytes of MAC address)
2: Enable suffix “-XXXXXX” (last 6 Bytes of MAC address)

Response

+LENAME=Param

Param

Bluetooth Name

Description

Set the BLE Bluetooth name, use the sub-parameter to display the address suffix

AT+PIN - Read/Write Pairing PIN code

Command

AT+PIN{=Param}

Param

Pairing PIN code (4~15 Bytes ASCII, default:0000)

Response

+PIN=Param

Description

The pairing PIN code is valid when +SSP=0

Example:
Read pairing PIN code
<< AT+PIN
>> +PIN=0000
>> OK

Change pairing PIN code to 1234
<< AT+PIN=1234
>> OK

AT+PLIST - Read/Clear Paired Records

Command

AT+PLIST{=Param}

Param

(0 / 1~8)
(0) Clear all paired records
(1~8) Clear the paired record with the specified index

Response1

+PLIST=Param, Param1

Param

(1~8) Paired device index

Param1

(MAC) MAC address of the paired device

Response2

+PLIST= Paired record query completed

Description

If a parameter exists, delete the corresponding pairing information; otherwise, only read the pairing list

Example: Read module’s paired records
<< AT+PLIST
>> +PLIST=1,1C5CF226D773
+PLIST=2,A0BC30075421
>> OK

Example: Clear all paired records of the module
<< AT+PLIST=0
>> OK

AT+BAUD - Read/Write UART Baud rate

Command

AT+BAUD{=Param}

Param

Baud rate (9600/19200/38400/57600/115200/
230400/460800/921600/256000/512000/1000000, default:115200)

Response

+BAUD=Param

Param

Baud rate

Description

The module will switch Baud rate immediately after receiving this command

Note

After sending the Baud rate setting command, please switch the serial port Baud rate to communicate with the module

Example:
Read UART Baud rate
<< AT+BAUD
>> +BAUD=115200
>> OK

Set UART Baud rate
<< AT+BAUD=230400
>> OK

AT+VER - Read Firmware Version

Command

AT+VER

Response

+VER{=Param,Param1}

Param

Firmware version

Param1

Module model

Example:
<< AT+VER
>> +VER=8.0.0,FSC-BT9101
>> OK

AT+ADDR - Read BR/EDR Bluetooth MAC Address

Command

AT+ADDR

Response

+ADDR=Param

Param

Module’s BR/EDR Bluetooth MAC address (12 Bytes ASCII)

Example:
<< AT+ADDR
>> +ADDR=DC0D30010203
>> OK

AT+LEADDR - Read BLE Bluetooth MAC Address

Command

AT+LEADDR

Response

+LEADDR=Param

Param

Module’s BLE Bluetooth MAC address (12 Bytes ASCII)

AT+COD: Read/Write Class Of Device

Command

AT+COD=Param

Param

Class of device (6 bytes ASCII, default:240404 Handsfree device)

Response

+COD=Param

Note

Restart the module to apply the change

Related configurations refer to COD.

AT+TPMODE - Enable/Disable Throughput Mode

Command

AT+TPMODE{=Param}

Param

Mode (0~1, default:0)
0: Command mode | 1: Throughput mode

Response

+TPMODE=Param

Description

When connected under SPP/GATT profile and throughput mode is on, AT commands will be disabled,
every byte received via UART will be sent to the remote end

AT+FLOWCTL - Enable/Disable UART Flow Control

Command

AT+FLOWCTL{=Param}

Param

Option (0~1, default:0)
0: Disable flow control | 1: Enable flow control

Response

+FLOWCTL=Param

Description

Enable/Disable UART flow control

AT+SSP - Enable/Disable Secure Simple Pairing

Command

AT+SSP{=Param}

Param

PROFILE mode (0~1, default:0)
0: Disable SSP | 1: Enable SSP

Response

+SSP=Param

Note

Requires restart to take effect

AT+MODE - Read/Write Bluetooth Profile

Command

AT+MODE{=Param}

Param

Pairing mode (0~4, default:4)
(0) NONE PROFILE
(1) SPP PROFILE
(2) HID PROFILE
(3) BLE PROFILE
(4) ALL PROFILE

Response

+MODE=Param

AT+AUTOCONN - Set Bluetooth Power-on Reconnection

Command

AT+AUTOCONN{=Param}

Param

0: Disable auto-reconnection
1: Enable auto-reconnection

Response

+AUTOCONN=Param

Description

After power-on, the module will attempt to establish connections with devices in the paired list according to the set PROFILE

AT+PIOCFG - Enable/Disable IO Control Module

Command

AT+PIOCFG{=Param,Param1}

Param

0: Disable command/transmission mode switch function
1: Enable command/transmission mode switch function

Param1

0: Disable Bluetooth disconnect function
1: Enable Bluetooth disconnect function

Response

+PIOCFG=Param

Description

Use pins to control transmission mode and connection status

Note

Requires restart to take effect after changing status

AT+DSCA - Disconnect All Connections

Command

AT+DSCA

Description

Module disconnects all Bluetooth connections with remote devices, used in command mode

AT+SCAN - Scan Nearby Devices

Command

AT+SCAN{=Param{,Param1}}

Param

Scan type (0~2)
0: Stop scan
1: Scan nearby BR/EDR devices
2: Scan nearby BLE devices

Param1

(1~48) Scan period. unit:1.28s, default:12.8s

Description

Format description reference: +SCAN - Scan Result

AT+SECURITY - Enable/Disable Security Verification

Command

AT+SECURITY{=Param}

Param

Mode (0~1, default:0) 0: Security verification off 1: Security verification on

Response

+SECURITY=Param

Description

Enable/Disable security verification

Note

Requires restart to take effect

Example:
Enable security verification
<< AT+SECURITY=1
>> OK

Get security verification information
<< AT+SECURITY
>> +SECURITY=1
OK

AT+TXPOWER - Read/Write Transmit Power

Command

AT+TXPOWER{=Param}

Param

Transmit power (0~6, default:3)
0: -12dBm
1: -8dBm
2: -4dBm
3: 0dBm
4: 4dBm
5: 8dBm
6: 10dBm

Response

+TXPOWER=Param

Param

Transmit power

Description

Modify transmit power, requires restart to take effect after command setting

Example:
Read transmit power
<< AT+TXPOWER
>> +TXPOWER=3
>> OK

Set transmit power to 10dBm
<< AT+TXPOWER=6
>> OK

AT+UARTCFG - Read/Write UART Configuration

Command

AT+UARTCFG{=Param}

Param

Configuration (0~5,default:0)
bit0:
0 - 1 stop bit
1 - 2 stop bits
bit2~bit1:
00 - None
01 - Odd
10 - Even

Response

+UARTCFG=Param

Param

Configuration (0~5)

Description

Modify UART configuration (stop bits and parity bit)

Example:
Get current UART configuration
<< AT+UARTCFG=0
>> OK

Set UART odd parity
<< AT+UARTCFG=2
>> OK

AT+RSSICFG - Read/Write RSSI Configuration

Command

AT+RSSICFG{=Param{,Param1}}

Param

High RSSI value

Param1

Low RSSI value

Description

PIN34 is pulled low when signal strength is greater than Param
PIN34 is pulled high when signal strength is less than Param1
Level remains unchanged when signal strength is between Param ~ Param1
Example: Configure -30~-60 signal strength indication
<< AT+RSSICFG=30,60
>> OK

SPP Commands

AT+SPPSTAT - Read SPP Status

Command

AT+SPPSTAT

Response

+SPPSTAT=Param

Description

Format description reference: +SPPSTAT - SPP Status

AT+SPPCFG - Read/Write SPP Configuration

Command

AT+SPPCFG{=Param}

Param

Configuration (0~1, default:0)
0: Disable SPP dynamic registration
1: Enable SPP dynamic registration

Response

+SPPCFG=Param

Description

After enabling dynamic registration, the module will register the SPP service when connecting
and unregister the SPP service when disconnecting

AT+SPPCONN - Establish SPP Connection

Command

AT+SPPCONN{=Param}

Param

Target device MAC address (12 Bytes ASCII)

Example: Initiate connection to Bluetooth device with address 112233445566
<< AT+SPPCONN=112233445566
>> OK

AT+SPPDISC - Disconnect SPP Connection

Command

AT+SPPDISC

Description

Disconnect current SPP connection with remote device

AT+SPPSEND - Send Data Via SPP

Command

AT+SPPSEND{=Param{,Param1}}

Param

Payload length (1~236)

Param1

Payload (1~236 Bytes UTF8)

Description

If throughput mode is on, this command will be disabled

Example: Send data “1234567890” to remote device via SPP
<< AT+SPPSEND=10,1234567890
>> OK

GATT Commands

AT+GATTSTAT - Read GATT Status

Command

AT+GATTSTAT

Response

+GATTSTAT=Param

Description

Format description reference: +GATTSTAT - Connection Status Report

AT+ADVADDR - Enable/Disable Broadcast Address

Command

AT+ADVADDR{=Param}

Param

Mode (0~1, default:1) 0: Disable broadcast address 1: Enable broadcast address

Response

+ADVADDR=Param

Description

Enable/Disable broadcast address

AT+IBEACON - Enable/Disable iBeacon Broadcast

Command

AT+IBEACON{=Param}

Param

Mode (0~1, default:0) 0: Disable iBeacon broadcast 1: Enable iBeacon broadcast

Response

+IBEACON=Param

Description

Enable/Disable iBeacon broadcast

AT+ADVDATA - Read/Write BLE Broadcast 0xFF Data

Command

AT+ADVDATA{=Param}

Param

Manufacturer defined broadcast data (data length not exceeding 26)

Response

+ADVDATA=Param

Param

Tag is broadcast data of 0xFF

Description

The manufacturer’s custom broadcast data tag is 0xFF

Note

To enable module broadcast custom data, set AT+IBEACON=1 first, then set custom broadcast data
Example:
Read manufacturer custom broadcast data content, \x is HEX data
<< AT+ADVDATA
>> +ADVDATA=\x03\x01\x02
>> OK

Write manufacturer custom broadcast data content, \x is HEX data
<< AT+ADVDATA=\x03\x01\x02
>> OK

AT+ADBLE - Enable/Disable AndroidBLE

Command

AT+ADBLE{=Param}

Param

Mode (0~1, default:1) 0: Disable AndroidBLE 1: Enable AndroidBLE

Response

+ADBLE=Param

Description

When Enable on, SPP and BLE will have two different addresses
When Disable, SPP and BLE will share the same address

AT+UUIDCFG - Read/Write UUID

Command

AT+UUIDCFG{=Param{,Param1}{,Param2}}

Param

Service UUID (default:0000)

Param1

Write UUID (default:0000)

Param2

Notify UUID (default: 0000)

Response

+UUIDCFG=Param,Param1,Param2

Description

Custom data transmission reset UUID, supports 32/128 bit UUID.
Default parameters:
Service UUID = 0xFFF0
Write UUID = 0XFFF2
Notify UUID = 0XFFF1

AT+GATTSEND - Send Data Via GATT

Command

AT+GATTSEND{=Param{,Param1}}

Param

Payload length (1~236)

Param1

Payload (1~236 Bytes UTF8)

Description

If throughput mode is on, this command will be disabled

Example: Send data “1234567890” to remote device via GATT
<< AT+GATTSEND=10,1234567890
>> OK

AT+LESTAT - Read LE Status

Command

AT+LESTAT

Response

+LESTAT=Param

Description

Format description reference: +LESTAT - Connection Status Report

AT+LECCONN - Initiate Connection to Specified Address

Command

AT+LECCONN{=Param{,Param1}{,Param2}{,Param3}}

Param

12-byte device address + 1-byte address type

Param1

Communication service UUID

Param2

Communication write characteristic UUID

Param3

Communication notify characteristic UUID

Response

OK

Description

Initiate connection to specified device, parameters consist of 12 bytes (device address) and 1 byte
(address type). Generally, address type is “0” or “1”.
Address type acquisition method:
Use the second parameter returned by AT+SCAN scan, example:
+SCAN=0,0,DC0D30001ED4,-65,10,FSC-BT946
Connection command:
AT+LECCONN=DC0D30001ED40
Example:
Connect to specified device, 0 is address type
<< AT+LECCONN=DC0D3000039E0
>> OK

Initiate connection to specified address, use FFF0, FFF2, FFF1 for communication
<< AT+LECCONN=DC0D3000039E0,FFF0,FFF2,FFF1
>> OK

AT+LESEND - Send Data to Remote Device

Command

AT+LESEND=Param1,Param2

Param1

Payload length (1~236)

Param2

Payload (1~236 Bytes UTF8)

Response

OK

Description

If throughput mode is on, this command will be disabled

Example:
Send data “1234567890” to remote BLE device
<< AT+LESEND=10,1234567890
>> OK

HID Commands

AT+HIDSTAT - Read HID Status

Command

AT+HIDSTAT

Response

+HIDSTAT=Param

Description

Format description reference: +HIDSTAT - HID Status

AT+HIDCONN - Establish HID Connection

Command

AT+HIDCONN{=Param}

Param

Target device MAC address (12 Bytes ASCII)

AT+HIDDISC - Disconnect HID Connection

Command

AT+HIDDISC

Description

Disconnect current HID connection with remote device

AT+HIDOSK - Show/Hide Keyboard

Command

AT+HIDOSK

Description

Show/Hide Keyboard (IOS Only)

AT+HIDMODE - Read/Write HID Mode

Command

AT+HIDMODE{=Param}

Param

HID keyboard input mode (0~1), default 1
(0) HEX key code
(1) ASCII key code (English)

Note

The module can support various keyboard languages through specific firmware, such as:
TURKEY SPAIN PORTUGAL FRANCE GERMANY ITALY CZECH JAPAN

AT+HIDDLY - Read/Write HID Transmission Interval

Command

AT+HIDDLY{=Param}

Param

HID report period in millisecond, default 10 ms

AT+HIDSEND - Send Data Via HID

Command

AT+HIDSEND{=Param{,Param1}}

Param

Report length

Param1

Report payload

Note

For special key code:
0x0D -> ENTER
0x08 -> BACKSPACE
0x09 -> TAB
0x20 -> SPACE

Description

If throughput mode is on, this command will be disabled

Example: Send character ‘A’ to remote device (on AT+HIDMODE=1)
>> AT+HIDSEND=1,A
<< OK
Example: Send character ‘A’ to remote device (on AT+HIDMODE=0)
<< AT+HIDSEND=4, xA1 x01 x00 x04
>> OK
Note: Data is HEX, corresponding actual data as follows:
41 54 2B 48 49 44 53 45 4E 44 3D 34 2C A1 01 00 04 0d 0a
Where:
A1 : report start
01 : page id 1
00 : modifier
04 : key code
The module will automatically send key release events

Events Table

+SPPSTAT - SPP Status

Format

+SPPSTAT=Param

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected

+SCAN - Scan Result

Format1

+SCAN={ : Start scanning

Format2

+SCAN =Param,Param1,Param2,Param3,Param4,Param5

Param

List index

Param1

Address type (1 byte)

Param2

Address (12 bytes)

Param3

RSSI

Param4

Device name length

Param5

Device name

Format3

+SCAN=} : Stop scanning

Example:
Scan devices
<< AT+SCAN=1
>> +SCAN={
>> +SCAN=0,1,70CFC9A98840,-43,24,LE-Bose QuietControl 30
>> +SCAN=1,1,DC0D30001ED4,-65,10,WEWQ-45AE
>> +SCAN=}

+GATTSTAT - Connection Status Report

Indication

+GATTSTAT=Param

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected

Description

In command mode, when module connection status changes, actively reported via +GATTSTAT

Example:
Connection successful
>> +GATTSTAT=3

+LESTAT - Connection Status Report

Indication

+LESTAT=Param

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected

Description

In AT Command mode, when module connection status changes, actively reported via +LESTAT

Example:
Connection successful
>> +LESTAT=3

+HIDSTAT - HID Status

Format

+HIDSTAT=Param

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected

Application and Development

Please refer to:

This guide is intended to provide technical support and resource references for the product development and mass production based on FSC-BT910x series modules. It includes hardware design references, functional description, quick development kits, quick start, obtain firmware version, typical application development examples, and firmware upgrade methods, etc.

Contact Information

Shenzhen Feasycom Co.,Ltd.

Address : Rm 508, Building, Fenghuang Zhigu, NO.50, Tiezai Road, Xixiang, Baoan Dist, Shenzhen, 518100, China.

Telphone : 86-755-23062695

Sales Service : sales@feasycom.com

Support : support@feasycom.com

Home Page : www.feasycom.com

Support Forum : forum.feasycom.com

Appendix

PDF Download

PDF Download