FSC-BTAUD-QCC AT Command Set
Introduction
Description
This design guide is applicable to engineers developing the following series of Bluetooth modules: audio receiving modules: FSC-BT1038x , FSC-BT1058-RX , FSC-BT1104QI , FSC-BT1026X and audio transmitting modules: FSC-BT1035 , FSC-BT6038 , FSC-BT1058-TX, among which BT1058 can support receiving and transmitting respectively.
Module default configuration
Name |
MODUAL_NAME-XXXX |
LE-Name |
MODUAL_NAME-LE-XXXX |
Secure Simple Pairing Mode |
On |
UART Baudrate |
115200/8/N/1 |
Note |
MODUAL_NAME is the name of the current module |
Command Description
Terms
Applicable to the entire document
{} : Content within {} and {…} is optional.
<< : The host SEND COMMAND to the module
>> : The module RESPONSE/EVENT to the host
Command Format
All commands start with AT, end with <CR><LF>.
<CR> means “carriage return”, corresponds to hex value 0x0D.
<LF> means “line feed”, corresponds to hex value 0x0A.
If Command has Parameter, Parameter follows behind ‘=’.
If Command has multiple Parameters, Parameter must be separated by ‘,’.
If Command has Response, Response starts with <CR><LF>, ends with <CR><LF>.
Module will always report command’s execution result by using OK for success or ERROR for failure.
Event Format
All Events start with <CR><LF>, end with <CR><LF>.
If Event has Parameter, Parameter follow behind ‘=’.
If Event has multiple Parameters, Parameter must be separated by ‘,’.
Use command AT+SEP to replace default separator for conflict prevention.
Commands Table
General Commands
AT+HELP - Firmware Function/Command Summary
Command |
AT+HELP |
Response |
<FIRMWARE FUNCTION: audio_transceiver>
<ENABLE PROFILES:LINKS: ON/OFF>
|SPP|:1
|GATTS|:1
|GATTC|:0
|HFP-AG|:1
|A2DP-SRC|:1
|AVRCP-TG|:1
<COMMAND SUMMARY:DESCRIPTION:PROFILE CATEGORY>
AT+BTEN:Bluetooth On/Off:|GENERAL|
AT+PROFILE:Get/Set Profile:|GENERAL|
AT+STAT:Get All Profile State:|GENERAL|
…
AT+ECHO:Enable/Disable AT Command Echo:|GENERAL|
OK
|
Description |
Using help command to get the basic summary information |
AT+VER - Get Firmware Version
Command |
AT+VER |
Response |
+VER=Param1,Param2,Param3 |
|
Module type |
|
Firmware version |
|
Data of production |
AT+BAUD - Get/Set Uart Baudrate
Command |
AT+BAUD{=Param} |
|
9600/19200/38400/57600/115200(default)/230400/460800/921600
/1000000/1382400/1500000/2000000
|
Response |
+BAUD=Param |
|
Return the current baud rate |
Description |
Module will change baudrate to target value immediately |
AT+I2SCFG - Get/Set I2S Settings
Command |
AT+I2SCFG{=Param} |
|
Expressed in decimal bit fields, with each bit representing |
|
0:disable; 1:enable |
|
0:master; 1:slave |
|
0:FS=48000Hz; 1:FS=44100Hz |
|
0:left justified; 1:right justified |
|
0:data 1 bit delay; 1:data no delay |
|
00: bit depth=16bits
01: bit depth=24bits
10: bit depth=32bits
|
Response |
+I2SCFG=Param |
Note |
When the BT1038 series I2S is set to slave mode,
the I2S master must continuously provide a clock; otherwise, the module will panic.
|
Example:usual configuration and description:
1 |
I2S Master; Sample rate=48000Hz; Resolution=16bits; Bit clock= 48000*16*2ch=1.536Mhz |
3 |
I2S Slave; Sample rate=48000Hz; Resolution=16bits; Bit clock= 48000*16*2ch=1.536Mhz |
65 |
I2S Master; Sample rate=48000Hz; Resolution=32bits; Bit clock= 48000*32*2ch=3.072Mhz |
67 |
I2S Slave; Sample rate=48000Hz; Resolution=32bits; Bit clock= 48000*32*2ch=3.072Mhz |
AT+SPDIFCFG - SPDIF format configuration
Command |
AT+SPDIFCFG{=Param} |
|
0 - Disable audio output in SPIDF format
1 - Enable audio output in SPDIF format
|
Description |
The output pin is pin15, and it will take effect after a restart.
If the audio output is SPDIF, the I2S configuration will be invalidated.
|
Note |
Some modules do not support SPDIF output |
AT+MICGAIN - Get/Set Analog Input Gain
Command |
AT+MICGAIN{=Param} |
|
Microphone input gain
+: Increase gain
-: Decrease gain
|
Response |
+MICGAIN=Param |
Description |
Param:
FSC-BT1035 : 0~15, default:10
FSC-BT6038 : 0~10, default:5
FSC-BT1058-TX : 0~10, default:5
|
Note |
Only supported by audio transmitting modules
In USB input mode, the parameter can only be “+” or “-”; This command is invalid when using I2S/SPDIF input
|
AT+SPKVOL - Get/Set Analog Output Volume
Command |
AT+SPKVOL{=Param} |
|
Volume (‘+’ / ‘-’/ 0-15, default:15) |
Description |
Adjust output volume, adjust A2DP volume during music playback,
Adjust HFP volume during calls, and support volume adjustment in LEA mode
|
AT+REBOOT - Soft Reboot
Command |
AT+REBOOT |
Response |
OK |
Description |
The module will reboot |
AT+RESTORE - Restore Factory Settings
Command |
AT+RESTORE |
Response |
OK |
Description |
Module restore all factory settings then reboot |
AT+BTEN - Bluetooth On/Off
Command |
AT+BTEN{=Param} |
|
0-Power off 1-Power on |
Note |
This command is not saved upon power loss |
AT+LECFG - Get/Set LE Random MAC Address
Command |
AT+LECFG{=Param} |
|
0 - Disable; 1 - Enable |
Response |
+LECFG=Param |
AT+PROFILE - Bluetooth Profile Configuration
Command |
AT+PROFILE{=Param} |
|
Expressed in decimal bit fields, with each bit representing |
|
SPP (Serial Port Profile) |
|
GATT Server (Generic Attribute Profile) |
|
GATT Client (Generic Attribute Profile) |
|
HFP-HF (Hands-Free Profile Handsfree) |
|
HFP-AG (Hands-Free Profile Audio Gateway) |
|
A2DP Sink (Advanced Audio Distribution Profile) |
|
A2DP Source (Advanced Audio Distribution Profile) |
|
AVRCP Controller (Audio/Video remote controller Profile) |
|
AVRCP Target (Audio/Video remote controller Profile) |
|
HID Keyboard (Human Interface Profile) |
|
PBAP Server (Phonebook Access Profile) |
|
Map Server (Message Access Profile) |
|
Bis Sink (Le audio broadcast sink) |
|
Bis Source (Le audio broadcast source) |
|
Cis Sink (Le audio unicast sink) |
|
Cis Source (Le audio unicast source) |
Response |
+PROFILE=Param |
Description |
It is not possible to enable bothGATT Server & Client, HFP Sink & Source,
A2DP Sink & Source,AVRCP Controller & Target
If the Profile configuration is changed, the module will automatically restart.
|
Note |
Not supported by audio transmitting modules:GATT Server、 HFP-HF、 A2DP Sink、AVRCP Controller、HID Keyboard、PBAP;
Not supported by audio receiving modules:GATT Client、 HFP-AG、 A2DP Source、AVRCP Target;
FSC-BT1026X 、 FSC-BT1035 Not supported le audio
|
AT+AUTOCONN - Set the number of Bluetooth power-on reconnection attempts
Command |
AT+AUTOCONN{=Param} |
|
(0~15, default:3)
(0) Turn Off
(1-15) Turn on and reconnect times
|
Response |
+AUTOCONN=Param |
Description |
After being powered on, the module will attempt to establish a connection with the last connected device, retrying for Param times. |
AT+STAT - Read profile status
Command |
AT+STAT |
Response |
+STAT=Param1, Param2, Param3… |
|
DEVSTAT |
|
SPPSTAT |
|
GATTSTAT |
|
HFPSTAT |
|
A2DPSTAT |
|
AVRCPSTAT |
|
HIDSTAT |
|
PBSTAT |
|
BISSTAT |
|
CISSTAT |
Note |
FSC-BT1035 does not support LE-Audio |
AT+DEVSTAT - Read device status
Command |
AT+DEVSTAT |
Response |
+DEVSTAT=Param |
|
Expressed in decimal bit fields |
|
0: Power Off; 1: Power On |
|
0: BR/EDR Not Discoverable; 1: BR/EDR Discoverable |
|
0: BLE Not Advertising; 1: BLE Advertising |
|
0: BR/EDR Not Scanning; 1: BR/EDR Scanning |
|
0: BLE Not Scanning; 1: BLE Scanning |
Example : Common combinations and descriptions
0 |
Device power off |
1 |
Device power on |
3 |
Device power on, BR/EDR Discoverable |
5 |
Device power on, BR/EDR Not Discoverable, BLE Advertising |
7 |
Device power on, BR/EDR Discoverable, BLE Advertising |
13 |
Device power on, BR/EDR Not Discoverable, BLE Advertising, Scanning nearby BR/EDR devices |
AT+ADDR - Get BR/EDR MAC Address
Command |
AT+ADDR |
Response |
+ADDR=Param |
|
Module’s BR/EDR MAC address (12 Bytes ASCII) |
AT+LEADDR - Get BLE MAC Address
Command |
AT+LEADDR |
Response |
+LEADDR=Param |
|
Module’s LE MAC address (12 Bytes ASCII) |
AT+NAME - Get/Set BR/EDR Local Name
Command |
AT+NAME{=Param1{,Param2}} |
|
BR/EDR local name(1~31 Bytes ASCII) |
|
MAC address suffix(0/1,default:1)
0: Disable suffix
1: Enable suffix “-XXXX” (lower 4 bytes of MAC address) after local name
|
|
+NAME=Param |
Description |
Write local name if parameter exist, otherwise read current local name |
AT+LENAME - Get/Set BLE Local Name
Command |
AT+LENAME{=Param1{,Param2}} |
|
BLE local name(1~25 Bytes ASCII) |
|
MAC address suffix(0/1,default:1)
0: 0-Disable suffix
1-Enable suffix “-XXXX” (lower 4 bytes of MAC address) after local name
|
Description |
When Param1 is absent, it defaults to reading the Bluetooth name; when Param1 is present, it is used to set the Bluetooth name.
|
AT+PIN - Get/Set BR/EDR Pin Code
Command |
AT+PIN{=Param} |
|
Pin code(4~15 Bytes ASCII, default:0000) |
Response |
+PIN=Param |
Description |
The PIN code is only valid in the legacy pairing mode, refer to AT+SSP |
Note |
FSC-BT1038x , FSC-BT1104QI do not support this command |
AT+SSP - Get/Set BR/EDR Pairing Mode
Command |
AT+SSP{=Param} |
|
Pairing mode (0~2, default:0)
(0) Legacy pairing, use pin code for pairing
(1) Secure simple pairing, display yes/no in pairing
(2) Secure simple pairing, display pairing code and yes/no in pairing
|
Response |
+SSP=Param |
Note |
Need reoot |
AT+COD - Get/Set Device Class
Command |
AT+COD{=Param} |
|
Device Type(6 bytes ASCII, default:240404 Handsfree device) |
Response |
+COD=Param |
For related configuration, please refer to COD.
AT+PAIR: Get/Set BR/EDR/BLE Visibility
Command |
AT+PAIR{=Param} |
|
Mode(0-1)
0: Leave BR/EDR/BLE discoverable mode (stop advertising/broadcasting)
1: Enter BR/EDR/BLE discoverable mode (start advertising/broadcasting)
|
Description |
If no device (BR/EDR or BLE) is connected, the module will always be discoverable;
If connected to a remote device, the module will not be discoverable unless it receives this command.
|
AT+SCAN - Scan Nearby Devices
Command |
AT+SCAN=Param1{,Param2,{Param3}} |
|
Mode(0-3)
0: Stop scan
1: Scan nearby BR/EDR devices
2: Scan nearby BLE devices
3: Scan nearby BLE-BIS devices
|
|
Scan timeout(1-255 unit:seconds/1.28 seconds),defalut:10 |
|
Name filtering (only valid when Param1=3) |
Note |
The scan timeout varies between different modules, depending on the specific module. |
Description |
Format description reference +SCAN - Scan content format |
AT+PLIST - Get/Delete Paired List
Command |
AT+PLIST{=Param} |
|
(0/1~8/12 Bytes MAC address)
(0) Clear all paired records
(1~8) Clear the paired records of the specified index
(MAC) Clear pairing records at the specified address
|
Response1 |
+PLIST=Param1,Param2{,Param3} |
|
(1~8) Paired device index |
|
(MAC)MAC address of the paired device |
|
(UTF8)Bluetooth name of the paired device |
Response2 |
+PLIST=E Pairing record query completed |
Note |
If the parameter is omitted, all pairing records will be listed.
Only connection records of BR/EDR devices are supported; LE is not supported temporarily.
|
AT+DSCA - Disconnect all connections
Command |
AT+DSCA |
Description |
The module disconnects all Bluetooth connections with remote devices(ED/BR,GATT,LEA). |
AT+AUDROUTE - Audio Routing Management
Command |
AT+AUDROUTE{=Param} |
|
0 Stop audio routing
1 The module transmits audio stream to HP1/HP2 (A2DP playback mode)
2 Voice call between the module and HP1 (HFP SCO)
3 Voice call between the module and HP2 (HFP SCO)
4 Voice call between HFP1 and HP2 (HFP SCO, intercom mode)
5 The module initiates voice call (HFP SCO) to HP1/HP2
6 The module transmits audio stream to HP1 (A2DP playback mode)
7 The module transmits audio stream to HP2 (A2DP playback mode)
|
Note |
Only supported by audio transmitting modules. HP1 and HP2 refer to Bluetooth peer headphones, and the modules in this document only support HP1 (0/1/2)
Some firmware uses AT+HFPAUDIO to establish voice calls and AT+A2DPAUDIO to transmit audio streams
|
AT+TPMODE - Turn on/off transparent transmission mode
Command |
AT+TPMODE{=Param} |
|
Mode (0~1, default 0) 0: Command mode 1: Transparent transmission mode |
Response |
+TPMODE=Param |
Description |
When connected under the SPP/GATT protocol and with transparent transmission mode enabled, AT commands will be disabled.
Each byte received through UART will be sent to the remote end.
|
AT+AUXCFG - Query/configure input mode
Command |
AT+AUXCFG{=Param} |
|
mode(0-4,default:0)
0: BT mode
1: LineIn mode
2: Spdif mode
3: I2S mode
4: USB mode
|
Description |
This commandis used to configure the input mode of the module. |
Note |
FSC-BT1035 The order of Param parameters is different:
0: USB mode
1:LineIn mode
2:Spdif mode
3:I2S mode
|
AT+RSSI - Get the signal value of connected devices
Command |
AT+RSSI=Param |
|
(12-byte ASCII) MAC address of the target device |
Response |
+RSSI=Param1,Param2 |
|
(12-byte ASCII) MAC address of the target device |
|
Connection signal strength value of the target device (0: Unavailable) |
Note |
Only supported by audio transmitting modules |
AT+LINKCFG - Query/Configure Auto Connection
Command |
AT+LINKCFG{=Param1{,Param2}} |
|
0: On 1: Off (default:0) |
|
0: COD filtering function disabled 1: COD filtering function enabled (default:1) |
Description |
If auto connection is enabled, the module will continuously scan nearby devices after startup (Param2=1),
then attempt to connect to the device with the optimal signal strength.
|
Note |
Only supported by audio transmitting modules. |
AT+MICMUTE - Mute MIC
Command |
AT+MICMUTE=Param |
|
0-unmute 1-mute |
Description |
Mute the local microphone during a call |
Note |
Only supported by audio receiving modules |
AT+SPKMUTE - Mute Speaker
Command |
AT+SPKMUTE=Param |
|
0-unmute 1-mute |
Description |
Mute the local speaker during audio playback |
Note |
Only supported by audio receiving modules |
AT+GAMEMODE - Enable/Disable Game Mode
Format |
AT+GAMEMODE=Param |
|
0: Disable Game Mode
1: Enable Game Mode
|
Note |
Audio receiving modules FSC-BT1038x, FSC-BT1104QI do not support this command
Audio transmitting modules do not support this command
|
HFP Commands
AT+HFPSTAT - Read HFP State
Command |
AT+HFPSTAT |
Response |
+HFPSTAT=Param |
Description |
Format description reference: +HFPSTAT - HFP State |
AT+HFPCONN - Establish HFP Connection
Command |
AT+HFPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Reconnect to last HFP device if parameter not exist |
Note |
Both audio transmitting and receiving modules support this command |
AT+HFPDISC - Release HFP Connection
Command |
AT+HFPDISC |
Description |
Release current HFP connection with remote device |
AT+HFPRING - Simulate Incoming Call
Command |
AT+HFPRING=Param |
|
Phone number (1~25 Bytes ASCII) |
Description |
Simulate an incoming call from the number “Param” |
Note |
Only supported by audio transmitting modules |
AT+HFPDIAL - Dial/Redial Phone Number
Command |
AT+HFPDIAL{=Param} |
|
Phone number (1~25 Bytes ASCII) |
Description |
Dial specific number if parameter exist, otherwise redial |
AT+HFPDTMF - Send DTMF code
Command |
AT+HFPDTMF{=Param} |
|
DTMF (0~9/#/*) |
AT+HFPANSW - Pick Up Incoming Call
Command |
AT+HFPANSW |
Description |
Pick Up Incoming Call |
AT+HFPCHUP - Reject/Hung up Call
Command |
AT+HFPCHUP |
Description |
Reject/Hung up Call |
AT+HFPNREC - Enable/Disable AGHFP Echo Cancellation Algorithm
Command |
AT+HFPNREC{=Param} |
|
default:1
0: Disable Ag-hfp cvc
1: Enable Ag-hfp cvc
|
Response |
+HFPNREC=Param |
Note |
Only supported by audio transmitting modules |
AT+HFPWBS - Enable/Disable WBS Function
Command |
AT+HFPWBS{=Param} |
|
default:1
0: Disable Ag-hfp codec negotiation
1: Enable Ag-hfp codec negotiation
|
Response |
+HFPWBS=Param |
Note |
Only supported by audio transmitting modules.
Enabling WBS enables 16K call by default, and the setting takes effect after restart.
|
AT+HFPADTS - Transfer Voice Audio Between Local and Remote Device
Command |
AT+HFPADTS=Param |
|
0: Transfer voice audio from module to remote device
1: Transfer voice audio from remote device to module
|
Description |
Transfer voice audio between module and remote device by default if no parameter set |
Note |
Only supported by audio receiving modules |
AT+HFPVR - Start/Stop Voice Recognition of Remote Device
Command |
AT+HFPVR=Param |
|
0-Stop 1-Start |
Description |
Start/Stop Voice Recognition of Remote Device (such as Siri for iOS devices) |
Note |
Only supported by audio receiving modules |
AT+HFPSCO - SHFP SCO Configuration
Command |
AT+HFPSCO=Param |
|
0-default
1-always to HF
2-always to AG
|
Note |
Only supported by audio receiving modules |
AT+HFPBATT - Send device battery level
Command |
AT+HFPBATT=Param |
|
level(0-9) |
Note |
Only supported by audio receiving modules |
A2DP/AVRCP Commands
AT+A2DPSTAT - Read A2DP State
Command |
AT+A2DPSTAT |
Response |
+A2DPSTAT=Param |
Description |
Format description reference +A2DPSTAT - A2DP State |
AT+A2DPCONN - Establish A2DP Connection
Command |
AT+A2DPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Reconnect to last A2DP device if parameter not exist |
Note |
Both audio transmitting and receiving modules are supported |
AT+A2DPDISC - Release A2DP Connection
Command |
AT+A2DPDISC |
Description |
Release current A2DP connection with remote device |
AT+A2DPCFG - Read/Write A2DP Configuration
Command |
AT+A2DPCFG=Param |
|
A base-10 representation of a bit field, for each bit |
|
0: Disable AAC Codec 1: Enable AAC Codec |
|
0: Disable APTX Codec 1: Enable APTX Codec |
|
0: Disable APTX-LL Codec 1: Enable APTX-LL Codec |
|
0: Disable APTX-HD Codec 1: Enable APTX-HD Codec |
|
0: Disable APTX-AD Codec 1: Enable APTX-AD Codec |
|
0: Disable LDAC Codec 1: Enable LDAC Codec |
Note |
Param=0:Enable SBC |
AT+A2DPDEC - Read A2DP Decoder
Command |
AT+A2DPDEC |
Response |
+A2DPDEC=Param |
|
See the table below |
Note |
Only supported by audio receiving modules |
AT+A2DPENC - Query A2DP Encoding
Command |
AT+A2DPENC |
Response |
+A2DPENC=Param |
|
1:SBC 2:APTX 3:APTX-HD 4:APTX-LL 5:APTX-AD |
Note |
Only supported by audio transmitting modules |
AT+AVRCPCONN - Establish AVRCP Connection
Command |
AT+AVRCPCONN{=Param} |
|
MAC address of the target device (12 Bytes ASCII) |
Description |
If the parameter is not present, reconnect to the last AVRCP device |
Note |
Both audio transmitting and receiving modules are supported, and A2DP connection is required first |
AT+AVRCPDISC - Release AVRCP Connection
Command |
AT+AVRCPDISC |
Description |
Terminate the current AVRCP connection with the remote device |
Note |
This command only initiates a disconnection request, and the actual status queried shall be determined based on the actual result |
AT+AVRCPSTAT - Read AVRCP State
Command |
AT+AVRCPSTAT |
Response |
+AVRCPSTAT=Param |
Description |
Format description reference:ref:REF104 |
AT+AVRCPCFG - Get/Set AVRCP Configuration
Command |
AT+AVRCPCFG{=Param} |
|
A base-10 representation of a bit field, default:9, for each bit: |
|
Auto get track ID3 information (title, artist, album).0:disable 1:enable default:1 |
|
Auto get track play progress if value > 0. 0:disable default:5(second) |
|
Auto get volume change value. 0:disable 1:enable default:1 |
Note |
Only supported by audio receiving modules |
AT+ABSVOL - Query/Configure Remote Absolute Volume
Command |
AT+AT+ABSVOL{=Param} |
|
Set remote volume (0~127)
+: Volume increases
-: Volume decrease
|
Response |
AT+ABSVOL=Param |
Note |
This command must be sent after the AVRCP connection is established, and the remote device must support the absolute volume control function |
Note |
Only supported by audio transmitting modules |
AT+PLAYPAUSE - Track Play/Pause
Command |
AT+PLAYPAUSE |
Description |
Send play or pause command to the remote media player according to the current play status (play when paused, pause when playing), supporting classic Bluetooth play/pause and BIS play/pause |
Note |
Only supported by audio receiving modules |
AT+PLAY - Track Play
Command |
AT+PLAY |
Description |
Send play command to the remote media player, supporting classic Bluetooth playback and BIS playback |
Note |
Only supported by audio receiving modules |
AT+PAUSE - Track Pause
Command |
AT+PAUSE |
Description |
Send pause command to the remote media player, supporting classic Bluetooth pause and BIS pause |
Note |
Only supported by audio receiving modules |
AT+STOP - Track Stop
Command |
AT+STOP |
Description |
Send play stop command to the remote media player, only supporting classic Bluetooth playback stop |
Note |
Only supported by audio receiving modules |
AT+FORWARD - Track Forward
Command |
AT+FORWARD |
Description |
Send forward command to remote media player |
Note |
Only supported by audio receiving modules |
AT+BACKWARD - Track Backward
Command |
AT+BACKWARD |
Description |
Send backward command to remote media player |
Note |
Only supported by audio receiving modules |
AT+FFWD - Track FastForward
Command |
AT+FFWD=Param |
|
0-Fast Forward Release, 1-Fast Forward Press |
Description |
Send fast forward command to remote media player |
Note |
Only supported by audio receiving modules |
AT+RWD - Track Rewind
Command |
AT+RWD=Param |
|
0-Rewind Release, 1-Rewind Press |
Description |
Send rewind command to remote media player |
Note |
Only supported by audio receiving modules |
PBAP Commands
AT+PBSTAT - Read PBAP state
Command |
AT+PBSTAT |
Response |
+PBATAT=Param |
Description |
Format description reference +PBSTAT - PBAP State |
Note |
Only supported by audio receiving modules |
AT+PBCONN - Establish PBAP Connection
Command |
AT+PBCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Module will use current HFP device’ MAC address if parameter not exist.
Default firmware support: When sending AT+PBDOWN, it automatically connects to PBAP.
|
Note |
Only supported by audio receiving modules. Please enable the permission for accessing contacts on the mobile phone side. |
AT+PBDISC - Release PBAP Connection
Command |
AT+PBDISC |
Description |
Release current PBAP connection with remote device |
Note |
Only supported by audio receiving modules |
AT+PBDOWN - Download Phonebook
Command |
AT+PBDOWN=Param1{,Param2} |
|
Phonebook type(0-5)
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
(5) All call log
|
|
Max items (1~65535, default:3000 for phonebook; 50 for call log) |
Description |
For some phones (e.g. iPhone), the contact download permission must be turned on in phone’s Bluetooth settting.
Please refer to the application scenarios Phonebook Download
|
Note |
Only supported by audio receiving modules |
SPP Commands
AT+SPPSTAT - Read SPP State
Command |
AT+SPPSTAT |
Response |
+SPPATAT=Param |
Description |
Format description reference +SPPSTAT - SPP State |
AT+SPPCONN - Establish SPP Connection
Command |
AT+SPPCONN{=Param} |
|
MAC address of target device (12 Bytes ASCII) |
Description |
Establish an SPP connection with a remote device |
Note |
Both audio transmitting and receiving modules are supported |
AT+SPPDISC - Release SPP Connection
Command |
AT+SPPDISC |
Description |
Release current SPP connection with remote device |
AT+SPPSEND - Send Data Via SPP
Command |
AT+SPPSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes) |
Description |
If throughput mode is on, this command is de-active |
GATT Commands
AT+GATTSTAT - Read GATT State
Command |
AT+GATTSTAT |
Response |
+GATTATAT=Param |
Description |
Format description reference +GATTSTAT - GATT State |
AT+GATTDISC - Release GATT Connection
Command |
AT+GATTDISC |
Description |
Release current GATT connection with remote device |
AT+GATTSEND - Send Data Via GATT
Command |
AT+GATTSEND=Param1,Param2 |
|
Payload length (1~492) |
|
Payload (1~492 Bytes) |
Description |
If throughput mode is on, this command is de-active |
BIS指令
AT+BISSTAT - Read BIS State
Command |
AT+BISSTAT |
Response |
+BISATAT=Param |
Description |
Format description reference +BISSTAT - BIS State |
AT+BISCONN - BIS Synchronize Broadcast Source
Command |
AT+BISCONN=Param1{,Param2,Param3} |
|
MAC address |
|
Broadcast advertising_sid |
|
Broadcast broadcast_id |
Description |
Synchronize the BIS broadcast source. If Param2 and Param3 are omitted, initiate scanning first, then initiate connection if the MAC address matches |
Note |
Obtain advertising_sid and broadcast_id with reference to “AT+SCAN=3”
BIS pause and playback refer to “AT+PLAYPAUSE”
This command is not supported by audio transmitting modules
|
AT+BISDISC - BIS Remove Broadcast Source
Command |
AT+BISDISC{=Param} |
|
Address code |
Description |
Remove the BIS broadcast source according to the MAC address, remove all BIS sources if the address is omitted |
Note |
This command is not supported by audio transmitting modules |
CIS Commands
AT+CISSTAT - Read CIS State
Command |
AT+CISSTAT |
Response |
+CISSTAT=Param |
Description |
Format description reference:ref:REF110 |
AT+CISCONN - Establish CIS Connection
Command |
AT+CISCONN=Param1{,Param2} |
|
MAC address of the target device (12-byte ASCII string) |
|
(0) Public address
(1) Random address
|
Note |
This command is only valid in the mono audio broadcast mode |
AT+CISDISC - Disconnect CIS Connection
Command |
AT+CISDISC |
Note |
This command only initiates a disconnection request
The actual status queried shall be determined based on the actual result
This command is only valid in the mono audio broadcast mode
|
Events Table
General Events
+PAIRED - Pair Result
Format |
+PAIRED=Param |
|
MAC address (12 Bytes ASCII) of current pairing device |
+SCAN - Scan content format
Format1 |
+SCAN=Param1,Param2,…,Param6{,Param7,Param8} |
|
index |
|
Device address type(0-2)
(0) LE public address
(1) LE random address
(2) BR/EDR address
|
|
MAC address (12 Bytes ASCII) |
|
RSSI (-127 ~ -1) |
|
Name length, i.e., the size of Param6 (if present) |
|
Name |
|
advertising sid |
|
broadcast id |
Format2 |
+SCAN=E: stop scan |
Description |
Stop when the timeout is reached or 8 devices are scanned (+SCAN=E)
When using AT+SCAN=1/2, the return type is Format1, Format3
When using AT+SCAN=3, the return type is Format2 or Format3, which can be used for BIS synchronization
|
HFP Events
+HFPSTAT - HFP State
Format |
+HFPSTAT=Param |
|
(0~6)
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Outgoing call
(5) Incoming call
(6) Active call
|
+HFPDEV - HFP Remote Device Information
Format |
+HFPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), Remote MAC address of current HFP connection |
|
(UTF8), Remote device name of current HFP connection |
+HFPCID - Incoming/Outgoing Call Number
Format |
+HFPCID=Param |
|
(1~25 Bytes ASCII), Call number |
+HFPCIE - Incoming/Outgoing Call Name
Format |
+HFPCIE=Param |
|
(UTF8), Call name |
Note |
This event is supported by IOS mobile phones, but not supported by most Android phones |
+HFPAUDIO - HFP Voice Audio State
Format |
+HFPAUDIO=Param |
|
(0) HFP voice audio disconnected, audio input/output routed to remote device
(1) HFP voice audio connected, audio input/output routed to module
|
+HFPSIG - HFP Remote Device Network Signal Strength
Format |
+HFPSIG=Param |
|
(0~5)Network signal strength of remote device |
+HFPROAM - HFP Remote Device Roaming State
Format |
+HFPROAM=Param |
|
(0/1) Roaming state of remote device |
+HFPBATT - HFP Remote Device Battery Level
Format |
+HFPBATT=Param |
|
Receive mode: Mobile phone (0~5) Battery level of the remote device
Transmit mode: Headphone (0-9) Battery level of the remote device
|
+HFPNET - HFP Remote Device Network Operator Selection
Format |
+HFPNET=Param |
|
(UTF8)Network operator selection of remote device |
+HFPMANU - HFP Remote Device Manufacture
Format |
+HFPMANU=Param |
|
(UTF8)Manufacture name of remote device |
+HFPNUM - HFP Remote Device Phone Subscriber Number
Format |
+HFPNUM=Param |
|
(ASCII)Phone subscriber number of remote device |
+HFPIBR - HFP Remote Device In-band-ring Support
Format |
+HFPIBR=Param |
|
0-Not supported 1-Supported |
Description |
Report whether the current connected phone support in-band-ring |
+HFPSR - HFP Sample rate
Format |
+HFPSR=Param |
|
Sample rate: 8000/16000/32000 |
A2DP/AVRCP Events
+A2DPSTAT - A2DP State
Format |
+A2DPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming
|
+A2DPDEV - A2DP Remote Device Information
Format |
+A2DPDEV=Param1{,Param2} |
|
(12 Bytes ASCII), Remote device’s MAC address of current A2DP connection |
|
(UTF8), Remote device’s name of current A2DP connection |
+A2DPSR - A2DP Remote Device Information
Format |
+A2DPSR=参数 |
|
A2DP encoding sampling rate |
+AVRCPSTAT - AVRCP State
Format |
+AVRCPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+PLAYSTAT - Media Player State
Format |
+PLAYSTAT=Param |
|
(0) Stopped
(1) Playing
(2) Paused
(3) Fast Forwarding
(4) Fast Rewinding
|
+CTVOLUP - Receive Volume Increase
Format |
+CTVOLUP |
Description |
Received the command from the CT side to increase the device volume |
Note |
This indication exists only for audio transmitting modules |
+CTVOLDN - Receive Volume Decrease
Format |
+CTVOLDN |
Description |
Received the command from the CT side to decrease the device volume |
Note |
This indication exists only for audio transmitting modules |
+CTPLAY - Play
Format |
+CTPLAY |
Description |
Received the play resume command from the CT side |
Note |
This indication exists only for audio transmitting modules |
+CTPAUSE - Pause
Format |
+CTPAUSE |
Description |
Received the pause command from the CT side |
Note |
This indication exists only for audio transmitting modules |
+CTFWD - Next Track
Format |
+CTSTOP |
Description |
Received the command to play the next track from the CT side |
Note |
This indication exists only for audio transmitting modules |
+CTBACK - Previous Track
Format |
+CTBACK |
Description |
Received the command to play the previous track from the CT side |
Note |
This indication exists only for audio transmitting modules |
+TRACKSTAT - Media Player Play Progress
Format |
+TRACKSTAT=Param1,Param2,Param3 |
|
(0~4), Media Player State, see +PLAYSTAT |
|
(Decimal ASCII),Elapsed time of current track in millisecond |
|
(Decimal ASCII),Total time of current track in millisecond |
+TRACKINFO - Media Track Information
Format |
+TRACKINFO=Param1,Param2,Param3 |
|
title |
|
artist |
|
album |
PBAP Events
+PBSTAT - PBAP State
Format |
+PBSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Downloading
|
+PBCNT - Phonebook Entries of Remote Device
Format |
+PBCNT=Param |
|
Phonebook entries of remote device |
+PBDATA - Phonebook Data
Format1 |
+PBDATA=Param1<FF>Param2<FF>Param3{<FF>Param4} |
|
Type
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log
|
|
Name |
|
Number |
|
(15 Bytes ASCII), Call time if current download type is call log
Format:
Year(4Bytes) Month(2Bytes) Day(2Bytes) T(1Byte) Hour(2Bytes)
Minute(2Bytes) Second(2Bytes). e.g. 20161012T152826 represents
2016/10/12/15/28/26
|
Format2 |
+PBDATA=E Download complete |
Description |
Call time may not exist for some mobile phones |
SPP Events
+SPPSTAT - SPP State
Format |
+SPPSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+SPPDATA - SPP Received Incoming Data
Format |
+SPPDATA=Param1,Param2 |
|
Payload length |
|
Payload |
GATT Events
+GATTSTAT - GATT State
Format |
+GATTSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
|
+GATTDATA - GATT Received Incoming Data
Format |
+GATTDATA=Param1,Param2 |
|
Payload length |
|
Payload |
BIS Events
+BISSTAT - BIS State
Format |
+BISSTAT=Param1{,Param2} |
|
Device 1:
(0) Unsupported
(1) Standby
(2) Syncing
(3) Synced
(4) Paused
(5) Streaming
|
|
Device 2:
(0) Unsupported
(1) Standby
(2) Syncing
(3) Synced
(4) Paused
(5) Streaming
|
Note |
Param2 is present when there is a second synchronized device,
and the audio transmitting module only has the (1)Standby and (5)Streaming states
|
CIS Events
+CISSTAT - CIS State
Format |
+CISSTAT=Param |
|
(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming
|
Hardware Description
Pin Diagram
FSC-BT1038x & FSC-BT1058-RX:
FSC-BT1104QI:
Pin Description
FSC-BT1038x & FSC-BT1058-RX:
Pin |
Pin Name |
Type |
Pin Descriptions |
|---|---|---|---|
1 |
GND |
Vss |
Power Ground |
2 |
LED4 |
I/O |
General-purpose analog/digital input or open drain LED output |
3 |
LED5 |
I/O |
General-purpose analog/digital input or open drain LED output |
4 |
PCM_CLK |
I/O |
PCM_BCLK |
5 |
PCM_IN |
I/O |
PCM_DIN[0] |
6 |
PCM_OUT |
O |
I2S DATA OUT |
7 |
PCM_SYNC |
I/O |
PCM_SYNC |
8 |
RESET |
I |
Low-level Reset |
9 |
PCM_MCLK |
I/O |
MCLK_OUT |
13 |
UART_TX |
O |
UART_TX |
14 |
UART_RX |
I |
UART_RX |
15 |
UART_CTS |
I/O |
UART flow control pin (no connection by default) / SPIIF output |
16 |
UART_RTS |
I/O |
UART flow control pin (default PA) |
17 |
LED0 |
I/O |
Outputs square wave in pairing mode,
Outputs high level when Bluetooth is connected
|
18 |
LED1 |
I/O |
Outputs low level when BIS is disconnected,
Outputs high level when connected
|
19 |
LED2 |
I/O |
General-purpose analog/digital input or open drain LED output |
29 |
VCHG_SENSE |
Analog |
Charger input sense pin after external
mode sense-resistor,High impedance
|
30 |
CHG_EXT |
External charger transistor current control.
Connect to base of external charger transistor
as per application schematic.
|
|
31 |
VDD_USB
/3.3V_OUT
|
3.3V voltage output (MAX. 50mA OUT) |
|
32 |
GND |
Vss |
Power Ground |
33 |
VBAT_IN |
Vdd |
3.3V power supply,
LDO power supply is recommended
|
34 |
SYS_CTRL |
I |
Power pin, long press to power on/off |
36 |
VDD_IO |
I |
pio supply(1.8v~3.3v) |
37 |
USB_DP |
USB Full Speed device D+ |
|
38 |
USB_DN |
USB Full Speed device D- |
|
39 |
VCHG |
Vdd |
Charger input to Bypass regulator.(USB VBUS) |
40 |
MIC_RP |
Audio |
MIC2/Line_IN differential R input, positive |
41 |
MIC_RN |
Audio |
MIC2/Line_IN differential R input, negative |
43 |
MIC_LP |
Audio |
MIC1/Line_IN differential L input, positive |
44 |
MIC_LN |
Audio |
MIC1/Line_IN differential L input, negative |
45 |
MIC_BIAS |
Audio |
MIC Power Supplies |
46 |
SPK_RN |
Audio |
Headphone/speaker differential R output, negative |
47 |
SPK_RP |
Audio |
Headphone/speaker differential R output, positive |
48 |
SPK_LN |
Audio |
Headphone/speaker differential L output, negative |
49 |
SPK_LP |
Audio |
Headphone/speaker differential L output, positive |
51 |
EXT_ANT |
ANT |
Change the 0-ohm resistor near the antenna to connect an external Bluetooth antenna |
52 |
GND |
Vss |
Power Ground |
FSC-BT1104QI:
Pin |
Pin Name |
Type |
Pin Descriptions |
|---|---|---|---|
1 |
GND |
Vss |
Power Ground |
2 |
SYS_CTRL |
I |
Power pin, long press to power on/off |
3 |
MIC1_P |
Audio |
MIC1/Line1_IN differential input, positive |
4 |
MIC1_N |
Audio |
MIC1/Line1_IN differential input, negative |
5 |
MIC2_N |
Audio |
MIC2/Line2_IN differential input, negative |
6 |
MIC2_P |
Audio |
MIC2/Line2_IN differential input, positive |
7 |
MIC_BIAS |
Audio |
Mic bias output |
8 |
SPK_LP |
Audio |
Differential line output 1, positive |
9 |
SPK_LN |
Audio |
Differential line output 1, negative |
10 |
VDD_IO |
I |
IO VDD 1.8V/3.3V |
11 |
I2C_SDA |
I/O |
I2C_SDA |
12 |
I2C_SDA |
I/O |
I2C_SDA |
13 |
SPK_RN |
Audio |
Differential line output 2, negative |
14 |
SPK_RP |
Audio |
Differential line output 2, positive |
15 |
I2S_DOUT |
I/O |
I2S_DOUT |
16 |
I2S_BCLK |
I/O |
I2S_BCLK |
17 |
I2S_DIN |
I/O |
I2S_DIN |
18 |
I2S_WS |
I/O |
I2S_WS |
19 |
I2S_MCLK |
I/O |
I2S_MCLK |
20 |
VDD_IO |
Vdd |
3V3 |
21 |
GND |
Vss |
Power Ground |
22 |
LED0 |
O |
Outputs square wave in pairing mode,
Outputs high level when Bluetooth is connected
|
23 |
LED1 |
O |
Outputs low level when BIS is disconnected,
Outputs high level when connected
|
24 |
RESET |
I |
Low-level Reset |
25 |
VBUS |
I |
USB audio input function supported, 5V input |
26 |
GND |
Vss |
Power Ground |
27 |
USB_DP |
USB Full Speed device D+ |
|
28 |
USB_DN |
USB Full Speed device D- |
|
32 |
UART_TXD |
I/O |
UART_TXD |
33 |
UART_RXD |
I/O |
UART_RXD |
34 |
UART_CTS |
I/O |
UART_CTS |
35 |
GND |
Vss |
Power Ground |
36 |
RF_ANT |
RF |
Change the 0-ohm resistor near the antenna to connect an external Bluetooth antenna |
39 |
VDD_USB
/3V3_OUT
|
O |
3.3V voltage output (MAX. 50mA OUT) |
40 |
LINE3/MIC3_N |
Audio |
MIC3/Line3_IN differential input, negative |
41 |
LINE3/MIC3_P |
Audio |
MIC3/Line3_IN differential input, positive |
42 |
UART_RTS |
I/O |
UART_RTS |
48 |
LINE4/MIC4_P |
Audio |
MIC4/Line4_IN differential input, positive |
49 |
LINE4/MIC4_N |
Audio |
MIC4/Line4_IN differential input, positive |
62 |
LED2 |
I/O |
Outputs low level when CIS is disconnected,
Outputs high level when connected
|
68 |
LED4 |
I/O |
General-purpose analog/digital input or open drain LED output. |
74 |
CHG_EXT |
O |
External charger transistor current control.
Connect to base of external charger transistor
as per application schematic.
|
75 |
LED3 |
I/O |
General-purpose analog/digital input or open drain LED output. |
76 |
LED5 |
I/O |
General-purpose analog/digital input or open drain LED output. |
78 |
VDD_PADS_356 |
I |
VDD 1.8V/3.3V |
82 |
1V8_SMPS |
O |
1.8V pio output |
84 |
VCHG_SENSE |
Analog |
Charger input sense pin after external
mode sense-resistor,High impedance
|
85 |
VBAT_SENSE |
Analog |
Battery voltage sense input |
Hardware design notes
The simple test of the module only needs to connect VDD/VDD_IO/VBUS/GND/UART_RX/UART_TX to use
After drawing, please send it to feasy.com for review so as not to have the best bluetooth distance
Functional Notes
Profiles & Features
SPP (Serial Port Profile)
GATTS (Generic Attribute Profile LE-Peripheral role)
GATTC (Generic Attribute Profile LE-Central role)
HFP-HF (Hands-Free Profile)
HFP-AG (Hands-Free-AG Profile)
A2DP-Sink (Advanced Audio Distribution Profile)
A2DP-Source (Advanced Audio Distribution Profile)
AVRCP-Controller (Audio/Video remote controller Profile)
AVRCP-Target (Audio/Video remote controller Profile)
HID-DEVICE (Human Interface Profile)
PBAP (Phonebook Access Profile)
MAP (Message Access Profile)
LEA (LE Audio)
BIS (Broadcast Isochronous Stream)
CIS (Connected Isochronous Stream)
GATT Service
Type |
UUID |
Characteristic |
Description |
Service |
0xFFF0 |
Throughout Service |
|
Notify |
0xFFF1 |
Notify |
From Module to APP |
Write |
0xFFF2 |
Write,Write Without Response |
From APP to Module |
Application Scenarios
Profile Initialization and Set Device Name
The figure below shows Profile initialization and name modification
MCU reference code for modifying the device name CARKIT. It is recommended to query first, then modify, and finally verify when changing any parameters:
1void change_name(void)
2{
3 uart_send("AT+NAME\r\n");
4 if(uart_read("+NAME",name_buf))
5 {
6 if(memcmp(name_buf,"CARKIT",6))
7 {
8 uart_send("AT+NAME=CARKIT,0\r\n"); //defalut disable MAC address suffix
9 uart_send("AT+NAME\r\n"); // read bt name
10 if(uart_read("+NAME",name_buf))
11 {
12 if(memcmp(name_buf,"CARKIT",6))
13 {
14 //change name fail
15 }
16 else
17 {
18 //change name success
19 }
20 }
21 }
22 }
23}
BR/EDR Bluetooth Receive Mode Connection
LE Audio Broadcast Scan and Connect
Phonebook Download
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