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 |
AT+REBOOT - Software Reset
Command |
AT+REBOOT |
Response |
OK |
Description |
The module will reboot |
AT+RESTORE - Restore Factory Settings
Command |
AT+RESTORE |
Response |
OK |
Description |
The module will restore factory settings |
AT+BTEN - Read/Write Current Bluetooth Operating Mode
Command |
AT+BTEN{=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}} |
|
BR/EDR Bluetooth Name (1~29 Bytes ASCII) |
|
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 |
|
Bluetooth Name |
Description |
Write local name if parameter existence, otherwise read current local name |
AT+LENAME - Read/Write BLE Bluetooth Name
Command |
AT+LENAME{=Param{,Param1}} |
|
BLE Bluetooth Name (1~29 Bytes ASCII) |
|
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 |
|
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} |
|
Pairing PIN code (4~15 Bytes ASCII, default:0000) |
Response |
+PIN=Param |
Description |
The pairing PIN code is valid when +SSP=0 |
AT+PLIST - Read/Clear Paired Records
Command |
AT+PLIST{=Param} |
|
(0 / 1~8)
(0) Clear all paired records
(1~8) Clear the paired record with the specified index
|
Response1 |
+PLIST=Param, Param1 |
|
(1~8) Paired device index |
|
(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 |
AT+BAUD - Read/Write UART Baud rate
Command |
AT+BAUD{=Param} |
|
Baud rate (9600/19200/38400/57600/115200/
230400/460800/921600/256000/512000/1000000, default:115200)
|
Response |
+BAUD=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 |
AT+VER - Read Firmware Version
Command |
AT+VER |
Response |
+VER{=Param,Param1} |
|
Firmware version |
|
Module model |
AT+ADDR - Read BR/EDR Bluetooth MAC Address
Command |
AT+ADDR |
Response |
+ADDR=Param |
|
Module’s BR/EDR Bluetooth MAC address (12 Bytes ASCII) |
AT+LEADDR - Read BLE Bluetooth MAC Address
Command |
AT+LEADDR |
Response |
+LEADDR=Param |
|
Module’s BLE Bluetooth MAC address (12 Bytes ASCII) |
AT+COD: Read/Write Class Of Device
Command |
AT+COD=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} |
|
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} |
|
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} |
|
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} |
|
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} |
|
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} |
|
0: Disable command/transmission mode switch function
1: Enable command/transmission mode switch function
|
|
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}} |
|
Scan type (0~2)
0: Stop scan
1: Scan nearby BR/EDR devices
2: Scan nearby BLE devices
|
|
(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} |
|
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 |
AT+TXPOWER - Read/Write Transmit Power
Command |
AT+TXPOWER{=Param} |
|
Transmit power (0~6, default:3)
0: -12dBm
1: -8dBm
2: -4dBm
3: 0dBm
4: 4dBm
5: 8dBm
6: 10dBm
|
Response |
+TXPOWER=Param |
|
Transmit power |
Description |
Modify transmit power, requires restart to take effect after command setting |
AT+UARTCFG - Read/Write UART Configuration
Command |
AT+UARTCFG{=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 |
|
Configuration (0~5) |
Description |
Modify UART configuration (stop bits and parity bit) |
AT+LINKCFG - Automatic Search Link Configuration
Command |
AT+LINKCFG{=Param} |
|
Configuration (0~2,default:0)
0: Disable automatic search link
1: SPP automatic search link
2: BLE automatic search link
|
Description |
If this command is configured, the module will automatically search for links based on the configuration |
AT+RSSICFG - Read/Write RSSI Configuration
Command |
AT+RSSICFG{=Param{,Param1}} |
|
High RSSI value |
|
Low RSSI value |
Description |
PIN34 is pulled low when signal strength is greater than
ParamPIN34 is pulled high when signal strength is less than
Param1Level remains unchanged when signal strength is between
Param ~ Param1 |
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} |
|
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} |
|
Target device MAC address (12 Bytes ASCII) |
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}} |
|
Payload length (1~236) |
|
Payload (1~236 Bytes UTF8) |
Description |
If throughput mode is on, this command will be disabled |
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} |
|
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} |
|
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} |
|
Manufacturer defined broadcast data (data length not exceeding 26) |
Response |
+ADVDATA=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
|
AT+ADBLE - Enable/Disable AndroidBLE
Command |
AT+ADBLE{=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}} |
|
Service UUID (default:0000) |
|
Write UUID (default:0000) |
|
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}} |
|
Payload length (1~236) |
|
Payload (1~236 Bytes UTF8) |
Description |
If throughput mode is on, this command will be disabled |
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}} |
|
12-byte device address + 1-byte address type |
|
Communication service UUID |
|
Communication write characteristic UUID |
|
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
|
AT+LESEND - Send Data to Remote Device
Command |
AT+LESEND=Param1,Param2 |
|
Payload length (1~236) |
|
Payload (1~236 Bytes UTF8) |
Response |
OK |
Description |
If throughput mode is on, this command will be disabled |
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} |
|
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} |
|
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} |
|
HID report period in millisecond, default 10 ms |
AT+HIDSEND - Send Data Via HID
Command |
AT+HIDSEND{=Param{,Param1}} |
|
Report length |
|
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 |
Events Table
+SPPSTAT - SPP Status
Format |
+SPPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+SCAN - Scan Result
Format1 |
+SCAN={ : Start scanning |
Format2 |
+SCAN =Param,Param1,Param2,Param3,Param4,Param5 |
|
List index |
|
Address type (1 byte) |
|
Address (12 bytes) |
|
RSSI |
|
Device name length |
|
Device name |
Format3 |
+SCAN=} : Stop scanning |
+GATTSTAT - Connection Status Report
Indication |
+GATTSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
Description |
In command mode, when module connection status changes, actively reported via +GATTSTAT |
+LESTAT - Connection Status Report
Indication |
+LESTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
Description |
In AT Command mode, when module connection status changes, actively reported via +LESTAT |
+HIDSTAT - HID Status
Format |
+HIDSTAT=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