FSC-BT1036 User Instructions
Introduction
Description
This design guide is suitable for engineers to develop FSC-BT1036 series Bluetooth modules, also suitable for BT955, BT936B, BT909C, BT906 series modules
Module Default Settings
Name |
FSC-BT1036-XXXX |
LE-Name |
FSC-BT1036-LE-XXXX |
Pin Code |
0000 |
Secure Simple Pairing Mode |
ON |
UART Baudrate |
115200/8/N/1 |
Hardware Description
Pin Diagram
FSC-BT1036C as an example:
Pin Description
Pin |
Pin Name |
Type |
Pin Descriptions |
|---|---|---|---|
4 |
I2S_CLK |
I/O |
I2S BCLK |
5 |
I2S_IN |
I |
I2S DATA IN |
6 |
I2S_OUT |
O |
I2S DATA OUT |
7 |
I2S_WS |
I/O |
I2S SYNC |
8 |
RESET |
I |
External reset input: active Low |
13 |
UART_TX |
O |
UART TX |
14 |
UART_RX |
I |
UART RX |
15 |
UART_CTS |
I/O |
UART CTS |
16 |
UART_RTS |
I/O |
UART RTS(default: PA mute pin) |
17 |
LED0 |
I/O |
Output square wave in pairing mode,
output high level when bluetooth is connected
|
18 |
LED1 |
I/O |
SPP/GATT is not connected to output low level,
connected to output high level
|
32 |
GND |
GND |
GND |
33 |
VDD |
VDD |
Power supply for I/O ports, DC 3.3V |
40 |
MIC_RP |
Audio |
MIC0/Line_IN differential R input, positive |
41 |
MIC_RN |
Audio |
MIC0/Line_IN differential R input, negative |
43 |
MIC_LP |
Audio |
MIC0/Line_IN differential L input, positive |
44 |
MIC_LN |
Audio |
MIC0/Line_IN differential L input, negative |
45 |
MIC_BASE |
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 resistance near the antenna,
you can connect an external Bluetooth antenna
|
Hardware Design Notes
The simple test of the module only needs to connect VDD/GND/UART_RX/UART_TX to use
After drawing the schematic diagram, please send it to Feasycom for review,so as to avoid the Bluetooth distance not reaching the best effect
Function Description
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)
GATT Default service and characteristic
Type |
UUID |
Characteristic |
Description |
Service |
0xFFF0 |
throughput services |
|
Write |
0xFFF2 |
Write,Write Without Response |
app send to module |
Notify |
0xFFF1 |
Notify |
module send to app |
Application scenarios
profiles initializing and change parameter
The following figure shows Profile initialization and name modification
MCU change device name CARKIT reference code:
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}
Note
modify any parameters, it is recommended to query first and then modify the final verification
Sink mode connection
Note
If the factory firmware is an integrated transceiver program, the program default profile=339, Need to send AT+PRFOILE=1195 to configure audio receiving(sink) mode (Enable SPP, GATT Server, HFP Sink, A2DP Sink, AVRCP-Controller, PBAP). Some module transceiver programs do not support PBAP, such as BT955 module
Source mode connection
Note
The transmission(source) mode connection needs to configure the module to A2DP Source, HFP Source, The program will not automatically enter the audio transmission mode or the call (intercom) mode after connecting the headset and speaker by default, you need to send the command: Start audio transmission (AT+AUDROUTE=1) Start HFP (AT+AUDROUTE=2)
MCU connects to AirPods and starts audio transmission Reference code:
1#define PROFILE_HFP_HF (uint16)(BIT3)
2#define PROFILE_HFP_AG (uint16)(BIT4)
3#define PROFILE_A2DP_SINK (uint16)(BIT5)
4#define PROFILE_A2DP_SOURCE (uint16)(BIT6)
5
6void bt_connect(void)
7{
8 //enable hfp source,a2dp source,avrcp tg,spp,gatt
9 uart_send("AT+PROFILE=339\r\n"); //if profile changes,module will auto reboot,
10 wait_ms(500);
11 uart_send("AT+PROFILE\r\n");
12 uint32 profiles = uart_read("+PROFILE",profiles);
13 if(profiles & (PROFILE_A2DP_SOURCE|PROFILE_HFP_AG))
14 {
15 uint8 addr[6];
16 uint8 buf[30]={0};
17 uint8 a2dp_state=0
18 uart_send("AT+SCAN=1\r\n");
19 uart_read_scan_addr("+SCAN",addr);
20 sprintf(buf,"AT+A2DPCONN=%s\r\n",addr);
21 uart_send(buf); //send a2dp connect
22
23 uart_read("+A2DPSTAT",a2dp_state);
24 if(a2dp_state == 3) //a2dp connected
25 {
26 uart_send("AT+AUDROUTE=1"); // start a2dp audio
27 }
28 uart_read("+A2DPSTAT",a2dp_state);
29 if(a2dp_state == 5)
30 {
31 //a2dp streaming
32 }
33 }
34 else
35 {/*not support master*/}
36}
HFP three way calling operations
Note
BT1036, BT955 and other modules have not enabled the three way calling function. If you need to test this function, please contact Feasycom
AVRCP filesystem browsing
Note
BT1036, BT955 and other modules have not enabled the three way calling function. If you need to test this function, please contact Feasycom
AVRCP Cover Art image retrieval
Note
Cover Art image download is only supported by the car protocol stack module, not supported by the SOC audio module
Phonebook/Contact photo downloading
Note
Contact photo download is only supported by the car protocol stack module, not supported by the SOC audio module When some firmware does not support downloading, it will automatically connect to PBAP, and you need to send AT+PBCONN to connect to PBAP before downloading