GS-BT2416C2.AT1 Bluetooth class 2 module with embedded SPP SW Features ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Bluetooth specification V.1.2 compliant Transmission rate up to 721 Kbps Output power class 2 ( 0 dBm typical) Working distance up to 10 meters ACL & SCO links AFH interferance resistance Supports USB (1.1) /UART/PCM (Pulse Code Modulation)/SPI/ I²C interfaces Optimized link manager and control Support wireless LAN coexistence in collocated scenario Integrated 4Mbit flash, 64Kbytes RAM, 4KBytes ROM 3.3V single supply voltage Hardware based UART flow control Applications ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Serial cable replacement Industrial control Laptops POS terminals Data acquisition equipment Internet access points Machine Control Sensor monitoring Robotic and bionic control Security control Patient monitoring Audio gateway applications Hands-free sets Wireless printers Cordless terminals Laptops, PCs and accessories Hand held devices and accessories HID devices (keyboard, mouse, joystick, game controller...) Description ST Bluetooth Modules are highly integrated for easy implementation in embedded applications. Class 2 modules enable wireless communication with other Bluetooth enabled devices up to 10 m away. The GS-BT2416C2.AT1 integrates on a unique FR4 PCB support: BT 1.2 radio and baseband, memory, 32 KHz and 13 MHz oscillator as well Vreg. The Module embeds a complete lower and upper Bluetooth stack up to the application support layers including the Generic Port Profile (GAP) and Serial Port Profile (SPP), as well the AT Command Interpreter. The antenna has not been included in order to grant a degree of freedom to the user in selecting the most suitable design and placement between external and integrated antenna that could be SMA aerial or a low cost antenna trace designed on PCB. For more details pleas refer to GS-BT2416C2DBAT1 Application Note. The GS-BT2416C2.AT1 is the SPP with AT command module of the GS-BT2416C2.xx series. GS-BT2416C2.AT1 is BQB qualified. Conformance testing through Bluetooth qualification program enables a fast time to market after system integration by ensuring a high degree of compliance and interoperability. Certifications ■ CE Compliant (IMQ Exp.Opinion 0081AREF00017 – Safety EN60950-1 (2001) – EMC EN301 489 17V1.2.1 – Radio ES 300 328 V1.6. ■ FCC certified on GS-BT2416C2DBAT1 (for a more exhaustive explanation, please refer to GS-BT2416C2DB Application Note) FCC ID: S9N16C2 ■ BQB qualified device BQB ID: B012535 Order code ■ GS-BT2416C2.AT1 September 2007 Rev 1 1/32 www.st.com 32 Contents GS-BT2416C2.AT1 Contents 1 2 Maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 Operating ranges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 3 Bluetooth section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 4 5 DC I/O specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 RF performance characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Integrate software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.2 Command interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3 Usage scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Application information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.1 Antenna reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7 Pin settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 8 7.1 Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.2 Pin descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Mechanical dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Appendix A AT command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2/32 A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 8.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 A.2 Modes of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 A.3 Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 A.4 Bluetooth features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 A.5 AT command reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 GS-BT2416C2.AT1 Contents A.6 AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 A.7 AT + BTCMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 A.8 AT+BTDMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 A.9 AT+BTPMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 A.10 AT+BTSECMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 A.11 AT+BTENCMODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 A.12 AT+BTPINCODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 A.13 AT+BTERASELK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 A.14 AT+BTNAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 A.15 AT+BTCLASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 A.16 AT+BTSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 A.17 AT+BTINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 A.18 AT+BTRPORTS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 A.19 AT+BTREGPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 A.20 AT+BTMACROSTART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 A.21 AT+BTMACROSTOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 A.22 AT+BTMACROCLEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 A.23 AT+BTCONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.24 AT+BTDISCONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.25 AT+ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 A.26 AT+UARTSETUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 A.27 AT+UARTSETUP=? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 A.28 AT+VER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Appendix B AT event reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 B.1 +BTSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.2 +BTRPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 B.2 +BTINQRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 B.3 +UARTSETUP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 B.4 +VER. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 B.5 +READY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Appendix C Application examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3/32 Maximum ratings GS-BT2416C2.AT1 1 Maximum ratings 1.1 Absolute maximum ratings Absolute maximum ratings (see table 2) indicate limits beyond which damage to the device may occur. Sustained exposure to these limits will adversely affect device reliability. Operating ranges (see table 3) define the limits for functional operation and parametric characteristics of the module. Functionality outside these limits is not implied Table 1. Absolute maximum ratings Values Symbol Parameter Unit Min 1.2 VDD Module supply voltage VIN Input voltage on any digital pin Tstg Storage temperature Tsold Soldering temperature Max 4 Vss1-0.5 Vdd+0.3 -40 +85 V V °C 240 Operating ranges Table 2. Operating ranges Values Symbol 4/32 Parameter VDD Module supply voltage Tstg Operating ambient temperature Conditions - 20°C < T < 70 °C Unit Min Typ Max 3.13 3.3 3.47 V +70 °C -20 GS-BT2416C2.AT1 Electrical characteristics 2 Electrical characteristics 2.1 DC I/O specification Table 3. DC Input / Output specification Values Symbol Parameter Conditions Unit Min 3 Typ Max Vil Low level input voltage 3.13 V < VDD < 3.47 V Vih High level input voltage 3.13 V < VDD < 3.47 V 2 V Vhyst Schmitt trigger hysteresis 3.13 V < VDD < 3.47 V 0.4 V Vol Low level output voltage Io load = pin drive capability Voh High level output voltage Io load = pin drive capability 0.8 0.15 VDD0.15 V V V Bluetooth section Table 4. Bluetooth section Values Symbol Parameter Conditions Unit Min CHs Channel space Hop Hopping 13M CK System clock System clock stability LP CK - 20°C to 70°C Max 1 MHz 1600 Hops/ sec 13 MHZ - 20 Low power clock Low power clock accuracy Typ 20 32 - 200 ppm kHz 200 ppm Tra Transmission rate asynchronous 721 kbits/ sec Trs Transmission rate synchronous 432 kbits/ sec Operation current TX mode 90 mA Operation RX mode 50 mA Iop 5/32 Bluetooth section 3.1 GS-BT2416C2.AT1 RF performance characteristics In the performance characteristics table the following applies: ● Test condition: nominal – Voltage typical Vdd 3.3V – Temperature typical Tamb 25°C Parameters are given at antenna pin Table 5. Symbol TX Pout ACP RX sens Table 6. Symbol Parameter TX Output power TX output spectrum adjacent channel power Receiver sensitivity Parameter Input & Output frequency range TX out TX output spectrum at -20 dB Bandwidth l∆F –pn l l∆F/50µsl Conditions Min Typ Max Unit 2.402 GHz 0 dBm 2.441 GHz 0 dBm 2.480 GHz 0 dBm lM-Nl = 2 - 36 dBm lM-Nl ≥ 3 - 50 dBm @BER 0.1% - 74 dBm Synthesizer performance characteristics RF in RF out ∆F 6/32 Transmitter and receiver performance characteristics Conditions Max Unit Typ 2480 MHz 1000 kHz 75 kHz DH1 data packet 25 kHz DH3 data packet 40 kHz DH5 data packet 40 kHz Drift rate 20 Hz 2402 920 TX initial carrier frequency tolerance TX carrier frequency drift Min - 75 GS-BT2416C2.AT1 4 Integrate software Integrate software The GS-BT2416C2.AT1 implements the following Bluetooth protocols and profiles: ● L2CAP ● RFCOMM ● SDP ● Generic Access Profile (GAP) ● Serial Port Profile (SPP) Operated through AT command interpreter. Figure 1. AT1 software implementation AT command interpreter Bluetooth Protocols and Profiles SPP GAP RFCOMM SDP L2CAP HCI FIRMWARE HCI Bottom Layer Hardware Layer 4.1 LINK MANAGER BASEBAND HW RF H W Features The module with AT1 implements all Bluetooth core protocols and Serial Port Profile (SPP) to replicate UART traffic over a Bluetooth link. 4.2 Command interface The module can be fully controlled using AT commands. The AT commands and few application examples are listed and commented in appendix A. 4.3 Usage scenarios The module with AT command is dedicated to implement serial cable replacement. An automatic point to point connection takes place when modules are switched on. Modules are configured via macro instruction to play the role of master or slave. 7/32 Application information 5 GS-BT2416C2.AT1 Application information Here below there are some suggestions to better implement the module in the final application. ● Module is usually put on a motherboard, avoid that traces with switching signals are routed below the module. The best would be to have a ground plane underneath the module ● Connect the supply voltage ground of the module with the other grounds present on the motherboard in a star way. ● Keep the RF ground separate from the module supply voltage ground; the two grounds are already connected inside the module in one point, see below a possible implementation. Figure 2. Module foot print Module foot print Supply voltage GND 8/32 RF gnd GS-BT2416C2.AT1 5.1 Application information Antenna reference RF output pin must be connected to an antenna which could be: Figure 3. ● Antenna directly printed on the pcb (Figure 3) ● Integrated antenna as, for example, Antenova 30-30-A5839-01 , Murata ANCV12G44SAA127, Pulse W3008 , Yageo CAN4311153002451K. (Figure 4) ● External antenna connected by means a SMA connector (Figure 5) Antenna on PCB Figure 4. Antenna examples Figure 5. SMA connector for external antenna ● Despite of the type of antenna chosen, the connection between the RF out pin and the antenna must be executed in such a way that the connection trace must be matched to have characteristic impedance (Z0) of 50 ohm to get the maximum power transfer. ● Matching for 50ohm is depending on the various factors , elements to be taken into consideration are: – Type of material, i.e. FR4 – The electrical characteristics of the material ,i.e. the εr , electric constant at 2.4GHz – Mechanical dimensions of the pcb and traces ,i.e. pcb thickness , trace/ reference ground thickness, trace width , trace thickness – Just to give an example , using a 1mm thick FR4 board , with an εr = 4.3 at 2.4GHz , with Cu thickness of 41 µm, the resulted width of 50ohm strip-line is 1.9 mm ( Microstrip type calculation). Figure 6. Parameters for trace matching Trace width PCB thickness Trace thickness εr (Dielectric constant) Reference ground Tools for calculating the characteristic impedance, based on the physical and mechanical characteristics of the pcb , can be easily found on the web. 9/32 Block diagram 6 GS-BT2416C2.AT1 Block diagram Figure 7. UART Block diagram 32kHz XTAL 32kHz XTAL STLC2416 Baseband ARM7 proc STLC2150 Radio chip RF antenna USB PCM SPI I²C GPIO 10/32 Filter balun GS-BT2416C2.AT1 Pin settings 7 Pin settings 7.1 Pin connections Figure 8. 7.2 Pin connection diagram Pin descriptions Table 7. Pin N° Pin descriptions Name I/O Description Power, ground and system signal 42 Vss1 --- GND 41 Vdd --- Module supply voltage- Single 3.3V 23 RESET I Reset pin (active low) 24 BOOT I External downloading Enable (active low) internally pullupped to 1.8V by 10kohm 35 LP CLOCK OUT O 32kHz Out 6 INT1 I External Interrupt signal internally connected to VSS1 with 10K. / If not used connect to VSS1 General purpose signals (1) General purpose I/O line GPIO1 O Bluetooth link present 27 GPIO2 (1) General purpose I/O line 28 GPIO3 I 29 GPIO4 (1) General purpose I/O line GPIO5 (1) General purpose I/O line 25 GPIO0 26 30 Command/Data Mode Input 11/32 Pin settings GS-BT2416C2.AT1 Table 7. Pin N° Pin descriptions (continued) Name I/O 31 GPIO6 (1) General purpose I/O line 32 GPIO7 (1) General purpose I/O line GPIO8 (1) General purpose I/O line GPIO9 (1) General purpose I/O line 36 GPIO11 (1) General purpose I/O line 37 GPIO12 (1) General purpose I/O line GPIO13 (1) General purpose I/O line GPIO14 (1) General purpose I/O line GPIO15 (1) General purpose I/O line TDI (1) JTAG pin TDO (1) JTAG pin 2 TMS (1) JTAG pin 3 NTRST (1) JTAG pin TCK (1) JTAG pin If not used connect to VSS1 33 34 38 39 40 Description Test interface signals 1 4 5 I2C interface signals 7 I2C_dat (1) I2C bus interface data To be connected to VDD with 10 K. resistor 8 I2C_clk (1) I2C bus interface clock To be connected to VDD with 10 K. resistor PCM_SYNC (1) PCM 8kHz synch PCM_CLK (1) PCM clock PCM_A (1) PCM Data In/Out PCM_B (1) PCM Data In//Out USB_DN (1) USB data - If not used connect to VSS1 USB_DP (1) USB data + If not used connect to VSS1 PCM interface signals 10 9 12 11 USB interface signals 21 22 UART interface signals 12/32 13 UART2_RXD I UART2 data input If not used connect to VDD 14 UART2_TXD O UART2 data output 15 UART2_I1 I UART2 clear to send input If not used connect to VDD 16 UART2_02 O UART2 ready to send output GS-BT2416C2.AT1 Table 7. Pin settings Pin descriptions (continued) Pin N° Name I/O Description SPI interface signals SPI_FRM (1) Synchronous Serial Interface frame synch SPI_CLK (1) Synchronous Serial Interface clock 19 SPI_TXD (1) Synchronous Serial Interface transmit data 20 SPI_RXD (1) Synchronous Serial Interface receive data If not used connect to VSS1 43 Vss2 ( RF GND) --- RF GND 44 +ANTENNA --- Antenna out 45 Vss2 (RF GND) --- RF GND 17 18 Antenna signals 1. Not used with AT command 13/32 Mechanical dimensions 8 Mechanical dimensions Figure 9. Mechanical dimensions Figure 10. Land pattern and connection diagram 14/32 GS-BT2416C2.AT1 GS-BT2416C2.AT1 Appendix A AT command AT command SPP Embedded Bluetooth™ firmware for STLC2416 based modules version 1.2.1.8 A.1 Introduction AT command interpreter OBSTFW-101 has been developed by Sycom on its proprietary Bluetooth stack Following data are disclosed with Sycom permission and agreement. All these information are subject to usual ST reproduction and disclosure rules stated on the last page of the present document. 8.1 Description Sycom firmware OBSTFW-101, from now on named .AT1, implements all Bluetooth core protocols and Serial Port Profile (SPP) to replicate UART data traffic over a Bluetooth link. The module can be fully controlled using AT commands. The throughput over-the-air is up to ~290 Kbps. A.2 Modes of operation The module has two modes of operation: ● COMMAND MODE: this mode allows the module to accept AT commands from the UART. AT commands are used to control any property of the module (Bluetooth name, visibility, etc.) as well as to trigger any operation (connection set-up, tear-down, discovery, etc.) ● DATA MODE: this mode allows the module to send and receive raw data over a Bluetooth SPP link. When in DATA MODE each byte transmitted over the UART is replicated onto the existing Bluetooth SPP link, and each byte received from the remote Bluetooth device is replicated onto the UART port. DATA MODE should be activated only if a Bluetooth link has already been setup using AT commands in COMMAND MODE. To notice that there is not a default MODE, regardless connection status: this mean that the active MODE is always established by GPIO3 status. The external MCU can switch the mode of operation of the module using GPIO3. Both when the module is turned on or it is switched from DATA MODE to COMMAND MODE a +READY event is generated. This event informs the external MCU that the module is ready to accept AT commands. Before the +READY event is generated, no AT commands can be issued to the module. 15/32 AT command GS-BT2416C2.AT1 Moreover it is possible to store a startup commands sequence directly into flash memory. The sequence can be long up to 512bytes. If a macro sequence is present, in startup phase, some OK events are generated, one for every command of the sequence, before the +READY event. This behavior can be avoided setting a AT+ECHO=OFF command starting the macro (avoiding the +READY too). The sequence execution is stoppable changing the state of GPIO3 in startup phase. A.3 Interfaces The module must be controlled by an external MCU using the UART and 2 GPIOs. ● UART: used to control the module with AT commands (COMMAND MODE), or send/receive serial data to be transmitted over the SPP Bluetooth link (DATA MODE). The first time that the module is powered up, the default UART settings are as following (saved in flash memory): Baud rate: (bps) 9600 Data bits: 8 Parity: None Stop bits: 1 Flow control: None When these settings are changed by the AT+UARTSETUP command, they are stored in the flash memory to be reloaded when the module is powered up the next time. ● GPIO1: configured as output. GPIO1 is high when an SPP Bluetooth link to a remote device is present. GPIO1 is low when no Bluetooth link is present. ● GPIO3: configured as input. If GPIO3 is set to high the module switches its mode of operation to DATA MODE. If GPIO3 is set to low, the module switches its mode of operation to COMMAND MODE. 16/32 GS-BT2416C2.AT1 A.4 AT command Bluetooth features .AT1 implements the following Bluetooth protocols and profiles: ● L2CAP ● RFCOMM ● SDP ● Generic Access Profile (GAP) ● Serial Port Profile (SPP) The embedded SPP can be used in two modes: ● SERVER MODE: This mode allows the module to be connected by other devices. In this configuration the local module does not initiate a Bluetooth SPP connection, but simply exposes an SPP service that can be connected by other devices. In order to expose an SPP service the AT+BTREGPORT must be used. ● CLIENT MODE: This mode is used to initiate an SPP connection to an SPP service exposed by a remote Bluetooth device. To set-up an SPP Bluetooth link the AT+BTCONNECT must be used. The two modes of operation are fully interoperable and the same module can be configured simultaneously both as a CLIENT and SERVER device. The module only allows a single Bluetooth SPP connection to exist at the same time. When an active connection is present (GPIO1 high) the module is set as “Non-Connectable” and “Non-Discoverable”, to reduce affection of inquiry scan or connection entabishment attempt. When no more connection is active the module reset its modes to those previously stored by “+BTCMODE” and “+BTDMODE” commands. 17/32 AT command A.5 GS-BT2416C2.AT1 AT command reference AT commands are used to configure the module and trigger operations. AT commands are transmitted over the UART channel from the external MCU to the Bluetooth module. AT commands have the following syntax: AT + CMD = parameter0, parameter1, …\0x0D\0x0A AT + CMD\0x0D\0x0A Each line must be always terminated by the 0x0D 0x0A characters and only a single command per line is allowed. The response to an AT command can be OK if the command was successfully executed, or ERROR if an error occurred and has the following syntax: \0x0D\0x0AOK\0x0D\0x0A \0x0D\0x0AERROR\0x0D\0x0A Some AT commands can generate events. Events are always reported as follows: \0x0D\0x0A+EVENT: parameter0, …\0x0D\0x0A Each event is always bounded by the characters 0x0D 0x0A and can have zero or more parameters. The command syntax is case insensitive. A.6 AT Test the UART communication channel to the Bluetooth module Syntax: AT Return value: OK 18/32 GS-BT2416C2.AT1 A.7 AT command AT + BTCMODE Indicate if the module can be contacted by other Bluetooth devices. This command does not register any SPP service. Syntax: AT+BTCMODE=<0,1> Parameters: 0: The module cannot be contacted by other Bluetooth devices (default) 1: The module can be contacted by other Bluetooth devices Return value: <OK, ERROR> A.8 AT+BTDMODE Indicate if the module can be discovered when an inquiry procedure is performed by other Bluetooth devices. Syntax: AT+BTDMODE=<0,1> Parameters: 0: The module cannot be discovered by other Bluetooth devices (default) 1: The module can be discovered by other Bluetooth devices Return value: <OK, ERROR A.9 AT+BTPMODE Indicate if the module will accept a pairing request incoming from a remote device. The pairing procedure is necessary in order to authenticate two Bluetooth devices for the first time. Once two devices have been paired, authentication of devices is handled automatically without the need of any re-pairing, unless link-keys are erased on purpose. Syntax: BTPMODE=<0,1> Parameters 0: The module does not accept pairing requests from a remote Bluetooth device (default) 1: The module accepts pairing requests coming from a remote Bluetooth device Return value: <OK, ERROR> 19/32 AT command A.10 GS-BT2416C2.AT1 AT+BTSECMODE Indicate if the module requests the authentication upon the setup of a Bluetooth SPP link. An authentication request translates into a pairing request if two devices have never been paired before. Syntax: AT+BTSECMODE=<0,1> Parameters: 0: The module does not request authentication 1: The module requests authentication Return value: <OK, ERROR> A.11 AT+BTENCMODE Indicate if the module requests an encrypted link upon the setup of a Bluetooth SPP link. Syntax: AT+BTENCMODE=<0,1> Parameters: 0: The module does not request encryption 1: The module requests encryption Return value: <OK, ERROR> A.12 AT+BTPINCODE Set the pin code of the local module. The module’s pin code is used during a pairing procedure. In order to be successful, the module’s pin code and the connection pin code specified during a connection set-up must be identical. See AT+BTCONNECT for more information. Syntax: AT+BTPINCODE=”Pincode” Parameters: Pincode: 4 to 16-byte string representing the module’s pin code Return value: <OK, ERROR> 20/32 GS-BT2416C2.AT1 A.13 AT command AT+BTERASELK Erase all link-keys. When all link-keys are erased the module is unpaired from all previously paired devices. Syntax: AT+BTERASELK Return value: <OK, ERROR> A.14 AT+BTNAME Set the local Bluetooth name. This name is the string shown to all other Bluetooth devices. Syntax: AT+BTNAME=”DeviceName” Parameters: DeviceName: A string representing the name of the local device. This string can be long up to 128 characters. Return value: <OK, ERROR> A.15 AT+BTCLASS Set the local Bluetooth Class ID. The Class ID is a 24-bit integer value identifying the type of device (PC, PDA, Headset, etc.) Syntax: AT+BTCLASS=DeviceClass Parameters: DeviceClass: 24-bit integer value indicating the local device class. This value is interpreted as an unsigned hexadecimal 24-bit value Return value: <OK, ERROR> A.16 AT+BTSETTINGS Requests the current module settings. The command generates a +BTSETTINGS event. Syntax: AT+BTSETTINGS=? Return value: +BTSETTINGS, <OK, ERROR> 21/32 AT command A.17 GS-BT2416C2.AT1 AT+BTINQ Start an inquiry procedure. The inquiry process allows discovering the list of nearby Bluetooth devices. For each device that is found in range a +BTINQRES event is generated. Syntax: AT+BTINQ=InqDuration Parameters: InqDuration: Duration in seconds of theinquiry process Return value: [+BTINQRES], <OK, ERROR> A.18 AT+BTRPORTS Query a remote device for SPP services. This command instructs the module to connect to a remote device and query its SDP (Service Discovery Protocol) Server in order to find SPP services. For each SPP service found a +BTRPORT event is generated. Syntax: AT+BTRPORTS=BdAddress Parameters: BdAddress: Bluetooth address of the remote device. This value is specified as a 6byte hexadecimal value: i.e. AT+BTRPORTS=00230A01F0A5 Return value: [+BTRPORT], <OK, ERROR> A.19 AT+BTREGPORT Register a local SPP service that can be opened by other remote Bluetooth devices. Syntax: AT+BTREGPORT=”PortName” Parameters: PortName: A string representing the name of the local SPP port. This name appears to remote devices when browsing local services. This string can be long up to 128 characters. Return value: <OK, ERROR> 22/32 GS-BT2416C2.AT1 A.20 AT command AT+BTMACROSTART Set the device in a programmable way. Every AT command coming after, with own parameters, will not be executed but will be stored in the very insertion order. This command will be available only if the device is set to COMMAND MODE. To notice that starting a macro storing sequence will erase any previous present sequence. Syntax: AT+BTMACROSTART Return value: <OK, ERROR> A.21 AT+BTMACROSTOP Stop the programmable status and store the commands sequence inserted so far into the flash memory of the module. If the sequence is larger then memory block available an error will be raised. The command will be available only if a device is set to COMMAND MODE and only if it come after an AT+BTMACROSTART command. Due to internal time needed to write a flash memory area a little time delay is possible before any return value. Syntax: AT+BTMACROSTOP Return value: <OK, ERROR> A.22 AT+BTMACROCLEAR Erase any possible commands sequence present into the flash memory. This operation is non-reversible. Syntax: AT+BTMACROCLEAR Return value: <OK, ERROR> 23/32 AT command A.23 GS-BT2416C2.AT1 AT+BTCONNECT Initiate an SPP connection to a remote Bluetooth device. When the connection has been successfully established the command returns an OK message and GPIO1 is set to high. It is possible to specify a number of attempts and a time interval between any retry. It also possible to stop a sequence of connections retry changing the state of GPIO3 (as with the startup Macro). Note: When connected with another device the module become “Non-Connectable” and “NonDiscoverable”. Syntax: AT+BTCONNECT=BdAddress,PortN, “PinCode”,NRetry, TimeRetry Parameters: BdAddress: Bluetooth address of the remote device. This value is specified as a 6byte hexadecimal value: i.e. AT+BTCONNECT=00230A01F0A5 PortN: Port number of the remote SPP port. A value of “0” force the device to query the remote device for a SPP service port and to get the first valid port; this behavior is useful for programmed automatic recursive connect. PinCode: 4 to 16-byte string representing the connection pin code NRetry: number of possible attempts if the connection fail. A “0” set the device for infinite attempts. Value range is 0 - 255. TimeRetry: time interval between attempts in seconds. Value range is 0 - 65535 Return value: <OK, ERROR> A.24 AT+BTDISCONNECT Disconnect the current existing SPP Bluetooth link. When the link has been closed, the command returns an OK message and GPIO1 is set to low. Note: See AT+BTCONNECT Syntax: AT+BTDISCONNECT Return value: <OK, ERROR> 24/32 GS-BT2416C2.AT1 A.25 AT command AT+ECHO Enable or disable the output of events and functional messages by the module. Syntax: AT+ECHO=<ON,OFF> Parameters: ON: The ECHO mode is enabled and every message or events by the module will be outputted. (default) OFF: The ECHO mode is disabled and no output will be generated. Return value: <OK, ERROR> A.26 AT+UARTSETUP Set the local UART settings. The changes take affect immediately after the OK response. It is advisable to issue an AT command after the AT+UARTSETUP in order to make sure the MCU is synchronized up correctly with the new settings. The new settings are used both for the COMMAND MODE and DATA MODE. Use the command AT+BTMACROSTART to store a startup setting for the UART. Is not allowed to use AT+UARTSETUP command in a macro! Due to internal time needed to write a flash memory area a little time delay is possible before any return value. Syntax: AT+UARTSETUP=BaudRate, DataBits, Parity, Stopbits, Fc Parameters: Baud Rate: UART baud rate in bps. Possible values are: 300, 1200, 2400, 4800, 9600 (default), 19200, 38400, 57600, 115200, 153600, 230400, 460800. DataBits: possible values are 5, 6, 7, 8 (default) Parity: possible values are None (default), Even, Odd StopBits: possible values are 1 (default), 2 Fc: flow control. Possible values are None (default), Hardware Return value: <OK, ERROR> A.27 AT+UARTSETUP=? Output the current UART configuration settings. The command generates an +UARTSETUP message with the configuration parameters of the module’s UART. For the parameters list, see the AT+UARTSETUP command. Syntax: AT+UARTSETUP=? Return value: +UARTSETUP, <OK, ERROR> 25/32 AT command A.28 GS-BT2416C2.AT1 AT+VER Requests the ID, version number and revision date of the firmware. The command generates a +VER event. Syntax: AT+VER Return value: +VER, <OK, ERROR> 26/32 GS-BT2416C2.AT1 Appendix B B.1 AT event reference AT event reference +BTSETTINGS Outputs the current configuration parameters of the module. Syntax: +BTSETTINGS: BdAddress, DeviceClass, “DeviceName”, “PinCode”, ConnectableMode, DiscoverableMode, PairableMode, SecurityMode, EncryptionMode Parameters: BdAddress: Bluetooth address of the local module. This value is specified as a 6byte hexadecimal value: i.e. +BTSETTINGS=00230A01F0A5, … DeviceClass: 24-bit integer value indicating the local device class. This value is interpreted as an unsigned hexadecimal 24-bit value DeviceName: A string representing the name of the local device. This string can be long up to 200 characters. PinCode: 4 to 16-byte string representing the module’s pin code ConnectableMode: Indicates if the module cannot(=0) / can(=1) be contacted by other Bluetooth devices DiscoverableMode: Indicates if the module cannot(=0) / can(=1) be discovered by other Bluetooth devices PairableMode: Indicates if the module does not accept(=0) / accepts(=1) pairing requests from a remote Bluetooth device SecurityMode: Indicates if the module does not request(=0) / requests(=1) authentication EncryptionMode: Indicates if the module does not request(=0) / requests(=1) encryption 8.2 +BTRPORT The event is generated only in response to an AT+BTRPORTS command. A +BTRPORT event is generated for each SPP service found on a remote device. So, for example, if a remote device exposes two SPP ports, two different +BTRPORT events are generated. Syntax: +BTRPORT: “ServiceName”, PortN Parameters: “ServiceName”: A string representing the name of the SPP service as it has been registered on the remote Bluetooth device. PortN: An integer value representing the port number of the remote SPP service. 27/32 AT event reference B.2 GS-BT2416C2.AT1 +BTINQRES The event is generated only in response to an AT+BTINQ command. A +BTINQRES event is generated for each device found during an inquiry process. Syntax: +BTINQRES: BdAddress, “BdName” Parameters: BdAddress: Bluetooth address of the remote device. This value is specified as a 6-byte hexadecimal value: i.e. AT+BTINQ=00230A01F0A5 “BdName”: A string representing the name of the remote Bluetooth device B.3 +UARTSETUP Outputs the UART current configuration parameters. Syntax: +UARTSETUP: BaudRate, DataBits, Parity, StopBits, Fc Parameters: BaudRate: UART baud rate in bps. Possible values are: 300, 1200, 2400, 4800, 9600 (default), 19200, 38400, 57600, 115200, 153600, 230400, 460800. DataBits: possible values are 5, 6, 7, 8 (default) Parity: possible values are None (default), Even, Odd StopBits: possible values are 1 (default), 2 Fc: flow control. Possible values are None (default), Hardware B.4 +VER Indicates the ID, version number and revision date of the firmware. Syntax: +VER: ID, Ver, RevDate Parameters: ID: Firmware ID indicating the model Ver: Version of the firmware RevDate: Firmware revision date in DDMMYY format. 28/32 GS-BT2416C2.AT1 B.5 Application examples +READY Indicates the module is ready to accept AT commands. The +READY message is generated when the module is started and when the mode is switched from DATA MODE to COMMAND MODE. Syntax: +READY Appendix C Application examples The following section provides two application examples demonstrating how two .AT1 equipped modules can be configured in order to act as a CLIENT and as a SERVER and connect to each other using the SPP service. The CLIENT has the Bluetooth address 00800010AA01, while the SERVER has the Bluetooth address 00800010AA02. Configuring the SERVER: this AT command list sets the module discoverable and connectable by other devices. It enables security and creates an SPP service called “SPP Port”. AT OK AT+BTCMODE=1 OK AT+BTPMODE=1 OK AT+BTDMODE=1 OK AT+BTSECMODE=1 OK AT+BTENCMODE=0 OK AT+BTPINCODE=”1234” OK AT+BTNAME=”SPP Server” OK AT+BTCLASS=52020C OK AT+BTREGPORT=”SPP Port” OK 29/32 Application examples GS-BT2416C2.AT1 Configuring the CLIENT: this AT command list configures the module as a CLIENT. AT OK AT+BTCMODE=0 OK AT+BTPMODE=1 OK AT+BTDMODE=0 OK AT+BTSECMODE=1 OK AT+BTENCMODE=0 OK AT+BTNAME=”SPP Client” OK AT+BTCLASS=52020C OK The following AT commands are issued on the CLIENT module to set-up a connection to the server module: in this example only one connection attempt is required, the TimeRetry parameter is ignored. First, an inquiry is performed to discover nearby Bluetooth devices. Once all devices have been found a connection is made to the found device (SERVER). AT+BTINQ=10 +BTINQRES: 00800010AA02, ”SPP Server” OK AT+BTRPORTS=00800010AA02 +BTRPORT: “SPP Port”, 1 OK AT+BTCONNECT=00800010AA02, 1, “1234”, 1, 0 OK 30/32 GS-BT2416C2.AT1 9 Revision history Revision history Table 8. Document revision history Date Revision 03-Sep-2007 1 Changes First release 31/32 GS-BT2416C2.AT1 Please Read Carefully: Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice. All ST products are sold pursuant to ST’s terms and conditions of sale. Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein. UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK. Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST. ST and the ST logo are trademarks or registered trademarks of ST in various countries. Information in this document supersedes and replaces all information previously supplied. The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners. © 2007 STMicroelectronics - All rights reserved STMicroelectronics group of companies Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America www.st.com 32/32