Chapter 1 Introduction 1.1 Release note Index Version Date Description V1.0.0 2024/05/23 First edition V1.0.1 2024/07/09 Add le audio description Add GATT description Fix known issues 1.2 Description This design guide is suitable for engineers to develop FSC-BT6038A series bluetooth modules...
BT6038A programming user guide, Release 1.0.1 2.2 Pin description Name Type Descriptions SYS_CTRL Typically connected to an ON/OFF push button Also usable as a digital input in normal operation continues on next page 2.2. Pin description...
Page 10
BT6038A programming user guide, Release 1.0.1 Table 1 – continued from previous page Name Type Descriptions MIC_LP Microphone differential 1 input, positive Differential audio line input 1, positive MIC_LN Microphone differential 1 input, negative Differential audio line input 1, negative...
Page 11
BT6038A programming user guide, Release 1.0.1 Table 1 – continued from previous page Name Type Descriptions PIN35 Programmable I/O I2S_SCL Alternative funciton I2C_SCL Not connect Not connect PIO18 Programmable I/O I2S_DOUT Alternative funciton I2S_DOUT PIO16 Programmable I/O I2S_BCLK Alternative funciton I2S_BCLK...
Page 12
BT6038A programming user guide, Release 1.0.1 Table 1 – continued from previous page Name Type Descriptions Power ground AIO0 General-purpose analog/digital input or OD LED output AIO1 General-purpose analog/digital input or OD LED output RESET External reset input VBUS USB power...
Page 13
BT6038A programming user guide, Release 1.0.1 Table 1 – continued from previous page Name Type Descriptions PIN6 Programmable I/O TRBI_MOSI TRBI_MOSI PIN8 Programmable I/O TRBI_CLK TRBI_CLK PIO5 Programmable I/O UART_TX Alternative funciton UART_TX PIO4 Programmable I/O UART_RX Alternative funciton UART_RX...
BT6038A programming user guide, Release 1.0.1 2.3 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 2.3.
BT6038A programming user guide, Release 1.0.1 3.2 GATT Default service and characteristic Type UUID Characteristic Description Service 0xFFF0 throughput services 0xFFF2 Write Write app send to module Write Without Response Notify 0xFFF1 Notify module send to app 3.2. GATT Default service and characteristic...
Chapter 4 Command description 4.1 Terms • Throughout this specification: • Content between { } is optional • Content behind << represents a command from host • Content behind >> represents a response/event to host 4.2 Command format AT+Command{=Param1{,Param2{,Param3…}}}<CR><LF> • All commands start with “AT”, end with <CR><LF> •...
BT6038A programming user guide, Release 1.0.1 Example: Get module’s BR/EDR name << AT+NAME >> +NAME=FSC-BT6038A >> OK Example: Pick up an incoming call when no call incoming actually << AT+HFPANSW >> ERROR 4.3 Event format <CR><LF>+Event{=Param1{,Param2{,Param3…}}}<CR><LF> • All events start with <CR><LF>, end with <CR><LF>...
Chapter 5 Commands table 5.1 General commands 5.1.1 AT+HELP - List firmware information and all support command Command AT+HELP Response <FIRMWARE FUNCTION: appropriate working scenario> <OTA PATH: latest suitable firmware path on server for upgrade On-The-Air> <ENABLED PROFILES: LINKS: ON/OFF> …...
BT6038A programming user guide, Release 1.0.1 5.1.3 AT+BAUD - Get/Set uart baudrate Command AT+BAUD{=Param} Param 9600/ 19200/ 38400/ 57600/ 115200/ 230400/ 460800 500000/ 921600/ 1000000/ 1382400/ 1500000/ 2000000 Response +BAUD=Param Param Current baudrate Description It takes effect immediately and does not need to be restarted...
BT6038A programming user guide, Release 1.0.1 5.1.4 AT+I2SCFG - Get/Set I2S configuration Command AT+I2SCFG{=Param} Param A base-10 representation of a bit field, for each bit BIT[0] 0: disable 1: enable BIT[1] 0: master 1: slave BIT[2] 0: 48000Hz 1: 44100Hz...
BT6038A programming user guide, Release 1.0.1 5.1.5 AT+MICGAIN - Get/Set input gain Command AT+MICGAIN{=Param} Param 0 ~ 10: Set target value +: Increase -: Decrease Response +MICGAIN=Param Param Current input gain Description In usb input mode, the parameter only be +/-, and get the...
BT6038A programming user guide, Release 1.0.1 5.1.8 AT+BTEN - Get/Set bluetooth state Command AT+BTEN{=Param} Param 0: Disable 1: Enable Response +BTEN=Param Param Current bluetooth state 5.1.9 AT+LECFG - Get/Set random BLE address state Command AT+LECFG{=Param} Param 0: Disable 1: Enable...
LE Audio (LE Audio Profile) Response +PROFILE=Param Param Current profile selection Description If modify profile, the module will reboot BT6038A only support SPP, HFP-AG, A2DP Source, AVRCP Target, LEA, GATT Server LEA, GATT Server cannot be uesd together 5.1. General commands...
BT6038A programming user guide, Release 1.0.1 5.1.11 AT+AUTOCONN - Get/Set poweron auto reconnect Command AT+AUTOCONN{=Param} Param 0: Disable 1 ~ 15: Reconnect times Response +AUTOCONN=Param Param Current auto reconnect configuration Description In Le Audio, the setting will be invalidated 5.1.12 AT+STAT - Get all state...
BT6038A programming user guide, Release 1.0.1 5.1.17 AT+LENAME - Get/Set BLE name Command AT+LENAME{=Param1{,Param2}} Param1 BLE name Param2 0: Disable suffix 1: Enable suffix“XXXX”(lower 4 bytes of MAC address) after name Response +LENAME=Param Param BLE name Description The name contains a maximum of 31 bytes 5.1.18 AT+ADVDATA - Get/Set BLE advertising data...
BT6038A programming user guide, Release 1.0.1 5.1.22 AT+PLIST - Get/Delete paired list Command AT+PLIST{=Param} Param 0: Clear all paired record 1 ~ 8: Clear specific paired record with index MAC(12 bytes ASCII): Clear specific paired record with MAC address Response1...
BT6038A programming user guide, Release 1.0.1 5.1.24 AT+TPMODE - Get/Set throughput mode Command AT+TPMODE{=Param} Param 0: Disable 1: Enable Response +TPMODE=Param Param Current throughput mode Description When SPP/GATT profile connected and throughput mode is on The command will be de-active, every byte received via physical UART will be sent to air 5.1.25 AT+AUXCFG - Get/Set audio input mode...
BT6038A programming user guide, Release 1.0.1 5.3.4 AT+A2DPCFG - Get/Set A2DP configuration Command AT+A2DPCFG{=Param} Param A base-10 representation of a bit field, for each bit BIT[0] 0: Disable AAC 1: Enable AAC BIT[1] 0: Disable APTX 1: Enable APTX BIT[2]...
BT6038A programming user guide, Release 1.0.1 5.3.9 AT+AVRCPDISC - Release AVRCP connection Command AT+AVRCPDISC Description This command only initiates a disconnect request The actual status depends on the query 5.4 GATT commands 5.4.1 AT+GATTSTAT - Get GATT state Command AT+GATTSTAT...
BT6038A programming user guide, Release 1.0.1 5.5.2 AT+SPPDISC - Release SPP connection Command AT+SPPDISC Description This command only initiates a disconnect request The actual status depends on the query 5.5.3 AT+SPPSEND - Send data via SPP Command AT+SPPSEND=Param1,Param2 Param1 Payload length(1 ~ 236)
BT6038A programming user guide, Release 1.0.1 5.6.2 AT+LEADISC - Release Le Audio connection Command AT+LEADISC Description This command only initiates a disconnect request The actual status depends on the query Only In le audio unicast mode support 5.6.3 AT+LEACONN - Establish le audio connection...
Chapter 6 Events table 6.1 General events 6.1.1 +VER - Frmware version information Event +VER=Param1,Param2,Param3 Param1 Module type Param2 Firmware version Param3 Firmware compile time...
BT6038A programming user guide, Release 1.0.1 6.1.2 +DEVSTAT - Device state Event +DEVSTAT=Param Param A base-10 representation of a bit field, for each bit: BIT[0] 0: Power off 1: Power on BIT[1] 0: BR/EDR not discoverable 1: BR/EDR discoverable BIT[2]...
BT6038A programming user guide, Release 1.0.1 6.1.3 +SCAN - Scan result Event1 +SCAN =Param1,Param2,Param3, Param4,Param5{,Param6{,Param7}} Param1 Index Param2 0: LE public address 1: LE random address 2: BR/EDR address Param3 MAC address(12 bytes ASCII) Param4 RSSI(-127 ~ -1) Param5 Size of Param6 if exist...
BT6038A programming user guide, Release 1.0.1 6.3.3 +A2DPDEV - A2DP remote device information Event +A2DPDEV=Param1{,Param2} Param1 Remote device’ s MAC address(12 bytes ASCII) of current A2DP connection Param2 Remote device’s name(UTF8) of current A2DP connection 6.3.4 +A2DPCONN - A2DP connecting...
BT6038A programming user guide, Release 1.0.1 6.6.2 +SPPDATA - SPP received incoming data Format +SPPDATA=Param1,Param2 Param1 Payload length Param2 Payload 6.6.3 +SPPDEV - SPP remote device information Event +SPPDEV=Param1 Param1 Remote device’s MAC address(12 bytes ASCII) of current SPP connection...
Chapter 7 Application scenarios 7.1 profiles initializing and change parameter The following figure shows Profile initialization and name modification MCU change device name CARKIT reference code:...
Page 52
BT6038A programming user guide, Release 1.0.1 void change_name(void) uart_send("AT+NAME\r\n"); if(uart_read("+NAME",name_buf)) if(memcmp(name_buf,"CARKIT",6)) uart_send("AT+NAME=CARKIT,0\r\n"); //defalut␣ disable MAC address suffix → uart_send("AT+NAME\r\n"); // read bt name if(uart_read("+NAME",name_buf)) if(memcmp(name_buf,"CARKIT",6)) //change name fail else //change name success Note: modify any parameters, it is recommended to query first and then modify the final veri- fication 7.1.
Need help?
Do you have a question about the BT6038A and is the answer not in the manual?
Questions and answers