<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=BC04C</id>
	<title>BC04C - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://w.electrodragon.com/w/index.php?action=history&amp;feed=atom&amp;title=BC04C"/>
	<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=BC04C&amp;action=history"/>
	<updated>2026-06-10T00:11:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://w.electrodragon.com/w/index.php?title=BC04C&amp;diff=12257&amp;oldid=prev</id>
		<title>Chao at 15:04, 28 November 2016</title>
		<link rel="alternate" type="text/html" href="https://w.electrodragon.com/w/index.php?title=BC04C&amp;diff=12257&amp;oldid=prev"/>
		<updated>2016-11-28T15:04:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== AT Commands ==&lt;br /&gt;
* Format for inquiry: Add ? after At commands, for example, AT+CHK?, AT+STOP?&lt;br /&gt;
* Format for setting: add parameter after AT commands, AT+BAUD1, AT+STOP1&lt;br /&gt;
* All the settings will store in the module and keep same after restart&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! Function !! Commands !! Parameter !! Example &lt;br /&gt;
|-&lt;br /&gt;
| 1 || General AT check || AT || - || -&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Set Baud rate || AT+BAUD || 1-1200; 2-2400; 3-4800; 4-9600; 5-19200; 6-38400; 7-57600; 8-115200  || AT+BAUD1 return: OK+SetBaud:1200 &lt;br /&gt;
|-&lt;br /&gt;
| 3 || Set check bit || AT+CHK || 0: NO CRC, 1: ODD, 2:EVEN || - &lt;br /&gt;
|-&lt;br /&gt;
| 4 || Set Stop bit || AT+STP || 1:1Stop, 2:2stop || - &lt;br /&gt;
|-&lt;br /&gt;
| 5 || Set UART || AT+UART[para1][para2][para3] || para1:baud rate, para2:CRC, para3:stop || -&lt;br /&gt;
|-&lt;br /&gt;
| || (Not available) Set module discoverable status || AT+ DISC || 0:searchable and connectable, 1:only searchable, 2:connectable only || - &lt;br /&gt;
|-&lt;br /&gt;
| || (Not available)  Set Pio0 function || AT+KEY || 0: Cancel current status. 1: Cancel current status and  restore  factory setup.  || - &lt;br /&gt;
|-&lt;br /&gt;
|  || (Not available) Set PIO1 output status || AT+LED || 0:Unconnected  Output 500ms High 500ms Low, Connected output High. 1:Unconnected  output Low,  Connected  output High.  || - &lt;br /&gt;
|-&lt;br /&gt;
| 6 || Set  module  PIO  Pins  output  status || AT+PIO ||  Length 10, every bit value is 1 or 0. 0:  output  low;  1:output high ||  AT+PIO? return OK+PIO0000000000; Setup PIO2 and PIO3output high and others output low:  AT+PIO1100000000 &lt;br /&gt;
|-&lt;br /&gt;
| 6.1 || Set PIO pins output high or low || AT+PIO[para1][para2] || Para1 is which PIO pin you want to Query/Set Value: 2,3,4,5,6,7,8,9,A,B. Para2 is Query or setup value. 0 is low and 1 is high  || AT+PIO21  &lt;br /&gt;
|-&lt;br /&gt;
| 7 || Set name || AT+NAME || ||&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Set name || AT+DEFAULT || ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Restart || AT+RESTART || ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Set Master and Slaver Role  || AT+ROLE  || M: Master S: Slaver  || - &lt;br /&gt;
|-&lt;br /&gt;
| 11 || Set Pin Code  || AT+PIN  ||  Max length is 12, Allow A~Z || - &lt;br /&gt;
|-&lt;br /&gt;
| 13 || Clear pair data  || AT+CLEAR  ||  || - &lt;br /&gt;
|-&lt;br /&gt;
|  || (Not available) Scan slave device  || AT+SCAN?  || Notice: Work with “AT+IMME0” and “AT+ROLEM” || - &lt;br /&gt;
|-&lt;br /&gt;
| 15 || connect to device  || AT+CONN  ||  || - &lt;br /&gt;
|-&lt;br /&gt;
| 14 || connect to last device  || AT+CONLAST ||  || - &lt;br /&gt;
|-&lt;br /&gt;
|  || (Not available) Connect to a slave device MAC address || AT+LNK || Notice: Work with “AT+IMME0” and “AT+ROLEM”  || - &lt;br /&gt;
|-&lt;br /&gt;
| 21 || Query Last Connected Device Address || AT+RADD? || - || - &lt;br /&gt;
|-&lt;br /&gt;
|  19, 20 || Query module address || AT+LADD? and AT+ADDR? || - || - &lt;br /&gt;
|-&lt;br /&gt;
| 22 || Query/Set Module work type || AT+IMME || 0:  When  module  is  powered on,  only  respond  the  AT Command, don’t do anything. until AT + WORK is received 1:  When  power  on,  work immediately Notice: This command is only used for Master Role.   || - &lt;br /&gt;
|-&lt;br /&gt;
| 23 || Start work || AT+WORK || ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || Query/Set module connect remote device timeout value || AT+TCON || Para1  allowed  value: 0000~9999 Unit is second. Default:  0000  Connect &lt;br /&gt;
forever || - &lt;br /&gt;
|-&lt;br /&gt;
| 25 || check or set device type || AT+COD || || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || Query/Set Module Work Mode || AT+TYPE || 0:Transmission Mode; 1:Remote Control Mode; 2:PIO Collection Mode; Default: 0  || - &lt;br /&gt;
|-&lt;br /&gt;
|  || (Not available) Query/Set report PIO states string delay time(unit ms) || AT+TPIO || Para1  value  is  between 0000 and 9999 ms If  value  &amp;gt;0,  when  PIO states  is  changed, module  will  send  PIO states  string  to  remote device delay this value. Default: 0 send once  || - &lt;br /&gt;
|-&lt;br /&gt;
| 28 || Switch Remote Control Mode to Transmission Mode(Only this time)  || AT+START || - || - &lt;br /&gt;
|-&lt;br /&gt;
| 29 || Query/Set Buffer save parameter || AT+BUFF || 0: Not save 1:Save Default: 0  || - &lt;br /&gt;
|-&lt;br /&gt;
| || (Not available) Query/Set Module Notification  || AT+NOTI || 0: Don’t notify(default) 1:Notify when connected and disconnected  || - &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIO0 (KEY) and PIO1 LED function ==&lt;br /&gt;
* PIO0 key: clear pairing info when not connected, disconnect, restart and enter into search mode when it is connected.&lt;br /&gt;
* RST button: Reset the module &lt;br /&gt;
* PIO1 LED: blink when not connected, and stay high when connected.&lt;br /&gt;
== Working Mode ==&lt;br /&gt;
There are three types of working mode, see our videos to understand how it work firstly:&lt;br /&gt;
* Transmission mode: data can transfer via bluetooth remotely&lt;br /&gt;
* GPIO set mode (w/transmission mode): BC04C external GPIO can set remotely, first set working mode to 1 (AT+TYPE1) and use AT+PIO command to set GPIO.&lt;br /&gt;
* GPIO monitor mode (w/transmission mode): when external GPIO TTL status are changed, this info will send back, in a certain time frame, you need set AT+TYPE2, and AT+TPIO1000 for timing, 1000 means 1000 ms.&lt;br /&gt;
== Demo code ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
SoftwareSerial BTSerial(2, 3); // RX | TX&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  Serial.println(&amp;quot;Enter AT commands:&amp;quot;);&lt;br /&gt;
  BTSerial.begin(9600);  &lt;br /&gt;
}&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
  if (BTSerial.available())&lt;br /&gt;
    Serial.write(BTSerial.read());&lt;br /&gt;
  if (Serial.available())&lt;br /&gt;
    BTSerial.write(Serial.read());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
* Use SSOM32 for testing (Un-tick &amp;quot;send new&amp;quot; option), the module do not need any simulate end after commands (\r\n).&lt;br /&gt;
* In arduino use first option on line ending&lt;br /&gt;
* When connected with other bluetooth devices, module will enter into data transmission mode, not command mode&lt;br /&gt;
* AT Command will not work on Data transmission mode (LED stay on)&lt;br /&gt;
=== First time usage and Control ===&lt;br /&gt;
* On the first time use, if you want to control the GPIOs, you should not connect the module with devices with BlueSPP first, otherwise when you connect to it, the module is working on data transfer mode.&lt;br /&gt;
* Disconnect any devices, and use a normal USB-TTL to setup working mode first, re-power the module and setup will be remembered inside, now you can connect and control.&lt;br /&gt;
[[category:Bluetooth 2.0]]&lt;/div&gt;</summary>
		<author><name>Chao</name></author>
	</entry>
</feed>