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

AT+Command{=Param1{,Param2{,Param3…}}}<CR><LF>
  • 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.

Example:
Read module’s BR/EDR local name
<< AT+NAME
>> +NAME=FSC-BT1038A-XXXX
>> OK

Pick up an incoming call when no call incoming actually
<< AT+HFPANSW
>> ERROR

Event Format

<CR><LF>+Indication{=Param1{,Param2{,Param3…}}}<CR><LF>
  • 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.

Example:
Received “1234567890” from mobile phone via SPP profile
>> +SPPDATA=10,1234567890

Dial number “10086” using a mobile phone when HFP connected
>> +HFPSTAT=4
>> +HFPAUDIO=1
>> +HFPCID=10086
>> +HFPSTAT=6

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

Param1

Module type

Param2

Firmware version

Param3

Data of production

Example:
<< AT+VER
>> +VER=FSC-BT1038A,V1.1.2,20250118
>> OK

AT+BAUD - Get/Set Uart Baudrate

Command

AT+BAUD{=Param}

Param

9600/19200/38400/57600/115200(default)/230400/460800/921600
/1000000/1382400/1500000/2000000

Response

+BAUD=Param

Param

Return the current baud rate

Description

Module will change baudrate to target value immediately

Example:Query baudrates
<< AT+BAUD
>> +BAUD=115200
>> OK

Example: Set baudrates
<< AT+BAUD=9600
>> OK

AT+I2SCFG - Get/Set I2S Settings

Command

AT+I2SCFG{=Param}

Param

Expressed in decimal bit fields, with each bit representing

BIT[0]

0:disable; 1:enable

BIT[1]

0:master; 1:slave

BIT[2]

0:FS=48000Hz; 1:FS=44100Hz

BIT[3]

0:left justified; 1:right justified

BIT[4]

0:data 1 bit delay; 1:data no delay

BIT[5-6]

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}

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}

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}

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}

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}

Param

0 - Disable; 1 - Enable

Response

+LECFG=Param

AT+PROFILE - Bluetooth Profile Configuration

Command

AT+PROFILE{=Param}

Param

Expressed in decimal bit fields, with each bit representing

BIT[0]

SPP (Serial Port Profile)

BIT[1]

GATT Server (Generic Attribute Profile)

BIT[2]

GATT Client (Generic Attribute Profile)

BIT[3]

HFP-HF (Hands-Free Profile Handsfree)

BIT[4]

HFP-AG (Hands-Free Profile Audio Gateway)

BIT[5]

A2DP Sink (Advanced Audio Distribution Profile)

BIT[6]

A2DP Source (Advanced Audio Distribution Profile)

BIT[7]

AVRCP Controller (Audio/Video remote controller Profile)

BIT[8]

AVRCP Target (Audio/Video remote controller Profile)

BIT[9]

HID Keyboard (Human Interface Profile)

BIT[10]

PBAP Server (Phonebook Access Profile)

BIT[11]

Map Server (Message Access Profile)

BIT[16]

Bis Sink (Le audio broadcast sink)

BIT[17]

Bis Source (Le audio broadcast source)

BIT[18]

Cis Sink (Le audio unicast sink)

BIT[19]

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
Example:Read the current profile
<< AT+PROFILE
>> +PROFILE=9385
Example:Only enable A2DP Sink and HFP Sink, disable others
<< AT+PROFILE=160
>> OK
Example:Only enable A2DP Source and HFP Source, and disable others
<< AT+PROFILE=80
>> OK

AT+AUTOCONN - Set the number of Bluetooth power-on reconnection attempts

Command

AT+AUTOCONN{=Param}

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…

Param1

DEVSTAT

Param2

SPPSTAT

Param3

GATTSTAT

Param4

HFPSTAT

Param5

A2DPSTAT

Param6

AVRCPSTAT

Param7

HIDSTAT

Param8

PBSTAT

Param9

BISSTAT

Param10

CISSTAT

Note

FSC-BT1035 does not support LE-Audio

AT+DEVSTAT - Read device status

Command

AT+DEVSTAT

Response

+DEVSTAT=Param

Param

Expressed in decimal bit fields

BIT[0]

0: Power Off; 1: Power On

BIT[1]

0: BR/EDR Not Discoverable; 1: BR/EDR Discoverable

BIT[2]

0: BLE Not Advertising; 1: BLE Advertising

BIT[3]

0: BR/EDR Not Scanning; 1: BR/EDR Scanning

BIT[4]

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

Param

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

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

AT+LEADDR - Get BLE MAC Address

Command

AT+LEADDR

Response

+LEADDR=Param

Param

Module’s LE MAC address (12 Bytes ASCII)

AT+NAME - Get/Set BR/EDR Local Name

Command

AT+NAME{=Param1{,Param2}}

Param1

BR/EDR local name(1~31 Bytes ASCII)

Param2

MAC address suffix(0/1,default:1)
0: Disable suffix
1: Enable suffix “-XXXX” (lower 4 bytes of MAC address) after local name

Param

+NAME=Param

Description

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

Example:
Read current BR/EDR local name
<< AT+NAME
>> +NAME=FSC-BT1038-1234
>> OK

Change module’s BR/EDR local name to “ABC”,and disable suffix
<< AT+NAME=ABC,0
>> OK

Change module’s BR/EDR local name to “ABC” and enable suffix
<< AT+NAME=ABC,1
>> OK

AT+LENAME - Get/Set BLE Local Name

Command

AT+LENAME{=Param1{,Param2}}

Param1

BLE local name(1~25 Bytes ASCII)

Param2

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}

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

Example:Read module’s pin code
<< AT+PIN
>> +PIN=0000
>> OK

Example: Change module’s pin code to “1234”
<< AT+PIN=1234
>> OK

AT+SSP - Get/Set BR/EDR Pairing Mode

Command

AT+SSP{=Param}

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}

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}

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}}

Param1

Mode(0-3)
0: Stop scan
1: Scan nearby BR/EDR devices
2: Scan nearby BLE devices
3: Scan nearby BLE-BIS devices

Param2

Scan timeout(1-255 unit:seconds/1.28 seconds),defalut:10

Param3

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

Example: Scan nearby BR/EDR devices using AT+SCAN = 1,10, with a scanning duration of 10 seconds
+DEVSTAT=261
+SCAN=1,2,D58C79C88D15,-79,5,N-612
+SCAN=2,2,5820590F1E83,-60,7,Redmi 7
+SCAN=3,2,E0D8C4660C75,-70,16,JMGO-N1 Pro-0127
+SCAN=4,2,789F38FEDCBA,-57,10,FSC-BW256B
+SCAN=5,2,51684A0931E5,-74,17,闄曟苯X6000锛嗭紗
+SCAN=6,2,70CD0D311A59,-73,13,FEASYCOM-WILL
+SCAN=7,2,388F817516D3,-72,7,PSE0500
+SCAN=8,2,947BAE63703F,-62,10,xiaomiqin1
+SCAN=E
+DEVSTAT=5

AT+PLIST - Get/Delete Paired List

Command

AT+PLIST{=Param}

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}

Param1

(1~8) Paired device index

Param2

(MAC)MAC address of the paired device

Param3

(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.
Example:Read the pairing records of the module
<< AT+PLIST
>> +PLIST=1,1C5CF226D773, iPhone12
+PLIST=2,A0BC30075421, Samsung S8
+PLIST=E
>> OK

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

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}

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}

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}

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
_images/AT%2BAUXCFG.png
Example:Set LineIn mode for input
<< AT+AUXCFG=1
>> OK

AT+RSSI - Get the signal value of connected devices

Command

AT+RSSI=Param

Param

(12-byte ASCII) MAC address of the target device

Response

+RSSI=Param1,Param2

Param1

(12-byte ASCII) MAC address of the target device

Param2

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}}

Param1

0: On 1: Off (default:0)

Param2

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

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

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

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
Currently, the game mode only supports the classic Bluetooth mode.
When this mode is enabled, the delay of the encoding formats corresponding to AAC and SBC
is set from dynamic delay to a fixed low-delay state of 100ms to achieve a better gaming experience.

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}

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

Example:Connect to last HFP device
<< AT+HFPCONN
>> OK
Example:Connect to specific HFP device with MAC address
<< AT+HFPCONN=1C5CF226D773
>> OK

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

Param

Phone number (1~25 Bytes ASCII)

Description

Simulate an incoming call from the number “Param”

Note

Only supported by audio transmitting modules

Example:Redial
<< AT+HFPRING
>> OK
Example: Simulate an incoming call from the number “075527924639”
<< AT+HFPRING=075527924639
>> OK

AT+HFPDIAL - Dial/Redial Phone Number

Command

AT+HFPDIAL{=Param}

Param

Phone number (1~25 Bytes ASCII)

Description

Dial specific number if parameter exist, otherwise redial

Example:Redial
<< AT+HFPDIAL
>> OK
Example:Dial number “075527924639”
<< AT+HFPDIAL=075527924639
>> OK

AT+HFPDTMF - Send DTMF code

Command

AT+HFPDTMF{=Param}

Param

DTMF (0~9/#/*)

Example:Send DTMF code “#” while calling “#”
<< AT+HFPDTMF=#
>> OK

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}

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}

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

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

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

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

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}

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

Param

A base-10 representation of a bit field, for each bit

BIT[0]

0: Disable AAC Codec 1: Enable AAC Codec

BIT[1]

0: Disable APTX Codec 1: Enable APTX Codec

BIT[2]

0: Disable APTX-LL Codec 1: Enable APTX-LL Codec

BIT[3]

0: Disable APTX-HD Codec 1: Enable APTX-HD Codec

BIT[4]

0: Disable APTX-AD Codec 1: Enable APTX-AD Codec

BIT[5]

0: Disable LDAC Codec 1: Enable LDAC Codec

Note

Param=0:Enable SBC

Example:Read current A2DP configuration
<< AT+A2DPCFG
>> +A2DPCFG=0
>> OK
Example:Set A2DP configuration to: Only enable AAC Codec
<< AT+A2DPCFG=1
>> OK

AT+A2DPDEC - Read A2DP Decoder

Command

AT+A2DPDEC

Response

+A2DPDEC=Param

Param

See the table below

Note

Only supported by audio receiving modules

_images/AT%2BA2DPDEC.png

AT+A2DPENC - Query A2DP Encoding

Command

AT+A2DPENC

Response

+A2DPENC=Param

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}

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}

Param

A base-10 representation of a bit field, default:9, for each bit:

BIT[0]

Auto get track ID3 information (title, artist, album).0:disable 1:enable default:1

BIT[1-3]

Auto get track play progress if value > 0. 0:disable default:5(second)

BIT[4]

Auto get volume change value. 0:disable 1:enable default:1

Note

Only supported by audio receiving modules

Example: Read AVRCP configuration
<< AT+AVRCPCFG
>> +AVRCPCFG=1
OK
Example: Get track play progress every 1 second
<< AT+AVRCPCFG=3
>> OK

AT+ABSVOL - Query/Configure Remote Absolute Volume

Command

AT+AT+ABSVOL{=Param}

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

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

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}

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}

Param1

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

Param2

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}

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

Param1

Payload length (1~492)

Param2

Payload (1~492 Bytes)

Description

If throughput mode is on, this command is de-active

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

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

Param1

Payload length (1~492)

Param2

Payload (1~492 Bytes)

Description

If throughput mode is on, this command is de-active

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

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}

Param1

MAC address

Param2

Broadcast advertising_sid

Param3

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
Example: Add the synchronized and discovered BIS broadcast source via AT+BISCONN=00025B00FF00,15,62640
+BISCONN=00025B00FF00,15,62640
OK

AT+BISDISC - BIS Remove Broadcast Source

Command

AT+BISDISC{=Param}

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}

Param1

MAC address of the target device (12-byte ASCII string)

Param2

(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

Param

MAC address (12 Bytes ASCII) of current pairing device

+SCAN - Scan content format

Format1

+SCAN=Param1,Param2,…,Param6{,Param7,Param8}

Param1

index

Param2

Device address type(0-2)
(0) LE public address
(1) LE random address
(2) BR/EDR address

Param3

MAC address (12 Bytes ASCII)

Param4

RSSI (-127 ~ -1)

Param5

Name length, i.e., the size of Param6 (if present)

Param6

Name

Param7

advertising sid

Param8

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

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}

Param1

(12 Bytes ASCII), Remote MAC address of current HFP connection

Param2

(UTF8), Remote device name of current HFP connection

Example: HFP connect success with device
>> +HFPDEV=1C5CF226D774, iPhone

+HFPCID - Incoming/Outgoing Call Number

Format

+HFPCID=Param

Param

(1~25 Bytes ASCII), Call number

Example: Dial number 10086
<< AT+HFPDIAL=10086
>> +HFPSTAT=4
>> +HFPCID=10086
>> +HFPCIE=China Mobile
>> +HFPAUDIO=1

Example: Incoming call with number 13265463800
>> +HFPSTAT=5
>> +HFPCID=13265463800
>> +HFPCIE=Jerry
>> +HFPAUDIO=1

+HFPCIE - Incoming/Outgoing Call Name

Format

+HFPCIE=Param

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

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

Param

(0~5)Network signal strength of remote device

+HFPROAM - HFP Remote Device Roaming State

Format

+HFPROAM=Param

Param

(0/1) Roaming state of remote device

+HFPBATT - HFP Remote Device Battery Level

Format

+HFPBATT=Param

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

Param

(UTF8)Network operator selection of remote device

+HFPMANU - HFP Remote Device Manufacture

Format

+HFPMANU=Param

Param

(UTF8)Manufacture name of remote device

+HFPNUM - HFP Remote Device Phone Subscriber Number

Format

+HFPNUM=Param

Param

(ASCII)Phone subscriber number of remote device

+HFPIBR - HFP Remote Device In-band-ring Support

Format

+HFPIBR=Param

Param

0-Not supported 1-Supported

Description

Report whether the current connected phone support in-band-ring

+HFPSR - HFP Sample rate

Format

+HFPSR=Param

Param

Sample rate: 8000/16000/32000

A2DP/AVRCP Events

+A2DPSTAT - A2DP State

Format

+A2DPSTAT=Param

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming

+A2DPDEV - A2DP Remote Device Information

Format

+A2DPDEV=Param1{,Param2}

Param1

(12 Bytes ASCII), Remote device’s MAC address of current A2DP connection

Param2

(UTF8), Remote device’s name of current A2DP connection

+A2DPSR - A2DP Remote Device Information

Format

+A2DPSR=参数

Param

A2DP encoding sampling rate

+AVRCPSTAT - AVRCP State

Format

+AVRCPSTAT=Param

Param

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

+PLAYSTAT - Media Player State

Format

+PLAYSTAT=Param

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

Param1

(0~4), Media Player State, see +PLAYSTAT

Param2

(Decimal ASCII),Elapsed time of current track in millisecond

Param3

(Decimal ASCII),Total time of current track in millisecond

+TRACKINFO - Media Track Information

Format

+TRACKINFO=Param1,Param2,Param3

Param1

title

Param2

artist

Param3

album

Example: Phone playing song“Creep-Radio Head”
>> +TRACKINFO=Creep , Radiohead , Pablo Honey

PBAP Events

+PBSTAT - PBAP State

Format

+PBSTAT=Param

Param

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

+PBCNT - Phonebook Entries of Remote Device

Format

+PBCNT=Param

Param

Phonebook entries of remote device

+PBDATA - Phonebook Data

Format1

+PBDATA=Param1<FF>Param2<FF>Param3{<FF>Param4}

Param1

Type
(0) Phonebook (SIM Storage)
(1) Phonebook (Phone Storage)
(2) Received call log
(3) Dialed call log
(4) Missed call log

Param2

Name

Param3

Number

Param4

(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

Example: Download all phonebook
<< AT+PBDOWN=1
>> +PBCNT=234
+PBDATA=1,Jack,18219146201
+PBDATA=1,kenan,8613771972680
……
+PBDATA=E

Example: Download 10 dialed call log
<< AT+PBDOWN=3,10
>> +PBDATA=3,China Mobile,10086,20171013T103516
+PBDATA=3,Jerry,18688967507,20171012T152826
……
+PBDATA=E

SPP Events

+SPPSTAT - SPP State

Format

+SPPSTAT=Param

Param

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

+SPPDATA - SPP Received Incoming Data

Format

+SPPDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: Received data “1234567890” from remote device via SPP
<< +SPPDATA=10,1234567890

GATT Events

+GATTSTAT - GATT State

Format

+GATTSTAT=Param

Param

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

+GATTDATA - GATT Received Incoming Data

Format

+GATTDATA=Param1,Param2

Param1

Payload length

Param2

Payload

Example: Received data “1234567890” from remote device via GATT
<< +GATTDATA=10,1234567890

BIS Events

+BISSTAT - BIS State

Format

+BISSTAT=Param1{,Param2}

Param1

Device 1:
(0) Unsupported
(1) Standby
(2) Syncing
(3) Synced
(4) Paused
(5) Streaming

Param2

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

Param

(0) Unsupported
(1) Standby
(2) Connecting
(3) Connected
(4) Paused
(5) Streaming

Hardware Description

Pin Diagram

FSC-BT1038x & FSC-BT1058-RX:

_images/BT1038_pin_map.png

FSC-BT1104QI:

_images/BT1104QI_pin_map.png

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

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: Profile初始化

bt -> host: +DEVSTAT=1
bt -> host: +VER=FSC-BT1038,V1.1.2,20250118
bt -> host: +PROFILE=328875
bt -> host: +SPPSTAT=1
bt -> host: +GATTSTAT=1
bt -> host: +A2DPSTAT=1
bt -> host: +AVRCPSTAT=1
bt -> host: +HFPSTAT=2
bt -> host: +BISSTAT=1
bt -> host: +CISSTAT=1
bt -> host: +DEVSTAT=7 (enter discoverable,phone can find and spp/gatt connect to us)

rnote over host, bt: Set name to "CARKIT",disable suffix. and verify readback
host -> bt: AT+NAME
bt -> host: +NAME=FSC-BT1038-1E49
host -> bt: AT+NAME=CARKIT,0
bt -> host: OK
host -> bt: AT+NAME
bt -> host: +NAME=CARKIT

@enduml

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

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: Profile initialization

bt -> host: +PROFILE=1195
bt -> host: ...
bt -> host: +DEVSTAT=7

rnote over host, bt: Mobile phone scan BT and initiates the connection
bt -> host: +A2DPSTAT=2
bt -> host: +A2DPSTAT=3 (A2DP connected)
bt -> host: +A2DPDEV=8C861E94A09E,Navy
bt -> host: +AVRCPSTAT=3 (AVRCP connected)
bt -> host: +HFPSTAT=3 (HFP connected)
bt -> host: +HFPDEV=8C861E94A09E,Navy
bt -> host: +HFPSIG=3
bt -> host: +HFPBATT=4
bt -> host: +HFPROAM=0
bt -> host: +HFPNUM=8618620277271
bt -> host: +HFPMANU=AppleInc.

host -> bt: +HFPDIAL=10086 (Dial "10086")
bt -> host: OK
bt -> host: +HFPSTAT=4,10086
bt -> host: +HFPAUDIO=1 (Establish voice audio)
bt -> host: +HFPSTAT=6,10086 (call active)
host -> bt: AT+HFPCHUP(End Call)
bt -> host: +HFPSTAT=3
bt -> host: +HFPAUDIO=0 (Disconnect voice audio)

host -> bt: AT+PLAY(Play Music)
bt -> host: +A2DPSTAT=5
bt -> host: +PLAYSTAT=1
bt -> host: +TRACKINFO=song,artist,album
bt -> host: +TRACKSTAT=1,1000,240000
bt -> host: +TRACKSTAT=1,2000,240000
host -> bt: AT+PAUSE(Pause Music)
bt -> host: +PLAYSTAT=2
bt -> host: +A2DPSTAT=3

@enduml

LE Audio Broadcast Scan and Connect

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: Profile initialization

bt -> host: +PROFILE=1195
bt -> host: ...
bt -> host: +DEVSTAT=7

rnote over host, bt: The module initiates broadcast source scanning
host -> bt: AT+SCAN=3
bt -> host: +BIS=1,-61,15,98,DC0D30000062,FSC-BP410-0062
bt -> host: +BIS=2,-48,15,43356,00025B00FF0E,FSC-BP415-ff0e
bt -> host: +SCAN=E
rnote over host, bt: The command for the module to initiate connection to the broadcast source
host -> bt: AT+BISCONN=15,43356
bt -> host: +BISADD=15,43356
bt -> host: OK
bt -> host: +BISSTAT=4
bt -> host: +BISSTAT=5


@enduml

Phonebook Download

@startuml
hide footbox
skinparam sequenceMessageAlign center

box  #LightBlue
participant Host as host
participant Blueware as bt
end box

rnote over host, bt: HFP connected

bt -> host: ...
bt -> host: +HFPSTAT=3

rnote over host, bt: Download all phonebooks
host -> bt: AT+PBDOWN=1
bt -> host: +PBSTAT=2
bt -> host: +PBSTAT=3 (PBAP connected)
bt -> host: +PBSTAT=4 (PBAP downloading)
bt -> host: +PBDATA=1,Local number,+8618620277272
bt -> host: +PBDATA=1,Zhang San,0571-85592192
bt -> host: ...
bt -> host: +PBDATA=1,jerry,18909731215
bt -> host: +PBDATA=E (Download completed)
bt -> host: +PBSTAT=3


rnote over host, bt: Download 50 call records
host -> bt: AT+PBWODN=5,50
bt -> host: +PBDATA=3,yidong,+10086,20200213T114247
bt -> host: ...
bt -> host: +PBDATA=2,andy,85592192,20200212T104202
bt -> host: +PBDATA=E
bt -> host: +PBSTAT=3

@enduml

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