Difference between revisions of "Microduino-【BT】"

From Microduino Wiki
Jump to: navigation, search
Line 3: Line 3:
 
|-
 
|-
 
|
 
|
[[file:Microduino-bt -rect.jpg|400px|thumb|right|Microduino-【BT】]]
+
[[File:Microduino-bt-rect.jpg|400px|thumb|right|Microduino-Shield BT4.0]]
'''[[Microduino-【BT】]]''' module is a plug-in device that supports Bluetooth 4.0 low energy standard.
+
Microduino-Shiedl BT4.0 module is a plug-in device that supports Bluetooth 4.0 low energy standard.
 +
Microduino-Shield BT4.0 module is a bluetooth serial port transparent transmission module, use the 27 PIN standard Microduino interface, support the Arduino board and derivatives, such as Microduino core.
 +
The module is designed by player ogre_c.
  
All protocol stacks required for Bluetooth low energy communication are built in, including various healthcare profiles. Configuration command set is provided via UART interface and it enables the module to be easily controlled by 8-bit or 16-bit MCUs widely used in small embedded devices, such as Microduino-Core and Microduino-Core+. Profile framework enables users to select and configure Bluetooth low energy profiles. It also supports 128-bit UUID used for custom profiles and it allows users to use this module for various applications.
+
==Features==
 +
*Microduino-Shield BT4.0 use U type 27 PIN interface of Microduino, combines with other Microduino modult to use;
 +
*Microduino-Shield BT4.0 use the HM-10 BLE as the bluetooth core module;
 +
*TI CC2540 chip with 256Kb space;
 +
*Support AT command,the serial baud rate, device name, matched passward can be changed, easy to use;
 +
*Small, cheap, stackable, opened platfrom;
 +
*Open source hardware circuit design, compatible with the Arduino IDE development environment for programming;
 +
*Defines unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.
 +
*2.54 pitch row female connector for easy integration into breadboard.
 +
 
 +
==Specifications==
 +
*Communication forms: serial passthrough;
 +
*Power:+3.3VDC 50mA;
 +
*Bluetooth protocol:Bluetooth Specification V4.0 BLE;
 +
*Service:Central & Peripheral UUID FFE0,FFE1;
 +
*Working frequency:2.4GHz ISM band;
 +
*Modulation method:GFSK(Gaussian Frequency Shift Keying);
 +
*Transmission power:≤4dBm;
 +
*Sensitivity:≤-84dBm at 0.1% BER;
 +
*Transmission rate:
 +
**Asynchronous: 6 kbps;
 +
**Synchronous: 6 kbps;
 +
*State indicator:
 +
**Two states:
 +
***Flashing means module powered, no matched.
 +
***Lighting means module has matched and can start communication.
 +
**You can know the module's state by the indicator, easy to use.
 +
 
 +
==Documents==
 +
Eagle PCB '''[[File:Microduino-BT Shield.zip]]'''
 +
 
 +
===Main component===
 +
**HM-10 Bluetooth module datasheet:'''[[File:Bluetooth40 cn.pdf]]''','''[[File:Bluetooth40 en.pdf]]'''
 +
**cc2540_datasheet:'''[[File:Cc2540 datasheet.pdf]]'''
 +
 
 +
==Development==
 +
===Seril configuration===
 +
*Default serial configuration:
 +
**Baud rate: 9600
 +
**No check
 +
**Data bits: 8
 +
**Stop bit: 1
 +
*Serial port on Arduino IDE's serial monitor:
 +
**Set to:"No line terminator"、"9600baud"
 +
*For other serial debug software:
 +
**Baud rate: 9600
 +
**No check
 +
**Data bits: 8
 +
**Stop bit: 1
 +
 
 +
*Use the RX0, TX1 as the default communication pin between Microduino Shield BT4.0 and Core module, so can't directly superimposed with Microduino FT232R.
 +
 
 +
===Use PC to debug===
 +
*Use serial directly:
 +
**No need superimpose the FT232 directly, cross connect the FT232 and Shield BT4.0's RX0,TX1.
  
'''[[Microduino-【BT】]]'''is integrated antenna, system clock, sleep clock, and board-to-board connector. '''[[Microduino-【BT】]]''' also supports Bluetooth 2.1 standard for an alternative, designers can select proper one according to requirements and cost.
+
===Use FT232R、Core download and debug===
 +
*Use default jumper (RX0、TX1):
 +
**Unplug the Microduino Shield BT4.0 during download program;
 +
*If you want to change the jumper cables to meet your requirement:cut the connection between two intermediate of the pad and RX0/TX1, and then connect them to D2, D3(or D9、D10).
 +
**If changed the jumper, need the change the serial connection between Microduino Shield BT4.0 and Core module, change the connection "TX-RX0、RX-TX1" to following:
 +
***TX-D2、RX-D3 (For Core+'s Serial1)
 +
***TX-D9、RX-D10 (all SoftwareSeria libray to resolve)
  
|-
 
|
 
==Features==
 
* Bluetooth 4.0 low energy compliant,  Bluetooth low energy certified
 
* Supporting “AT” commands to configure UART rate, device role (master, slave), name and password
 
* Using HM-10 integrate BLE module with TI CC2540 chip
 
* Using the U-Shape 27-pin interface (UPin-27), the standard interface of Microduino
 
* Delivered ready to plug in.
 
* 2.54mm (0.1 inch) pin pitch, compatible to bread board and hole board
 
  
 +
===Pin description===
 +
 +
[[File:BT-Pinout-1.jpg|800px|thumb|center|Microduino-BT-Pinout-t]]
 +
[[File:BT-Pinout-2.jpg|800px|thumb|center|Microduino-BT-Pinout-b]]
  
 +
{|class="wikitable"
 +
! rowspan="1" | HM-10 Pin || Microduino Pin || Function
 +
|-
 +
| TX|| RX0(orD2/D9) || serial send pin (TTL),connect Core's RXD
 
|-
 
|-
|
+
| RX || TX1(orD3/D10) || serial receive pin (TTL),connect Core's TXD
 +
|}
  
==Specifications==
 
* Protocol stacks built in include: BB, LL, L2CAP, GAP, SMP, ATT, GATT, Profile framework
 
* Murata original simple command set 
 
* Integrated 2.4GHz on board antenna
 
* Integrated system/sleep clocks
 
* Maximum output power: -2dBm
 
* TX/RX peak current: 18mA 
 
* Sleep current: 1uA
 
* Wireless certified: FCC, IC, CE, TELEC
 
* Supply voltage: 3.3V
 
* Operating temperature: - 10oC to 60oC
 
  
:[[file:Microduino-BT-1.jpg|800px|thumb|center|Microduino-BT]]
+
*Support AT command to configure and control:'''[[File:Bluetooth40 cn.pdf]]''','''[[File:Bluetooth40 en.pdf]]'''
<br style="clear: left"/>
 
:[[file:Microduino-BT-2.jpg|800px|thumb|center|Microduino-BT]]
 
<br style="clear: left"/>
 
  
|-
 
|
 
  
==Documents==
+
==Application==
* Snapshot of '''[[Microduino-【BT】]]''' schematic
+
===Download progrm===
:[[file:Microduino-【BT】-SCH.png|600px|thumb|left|Microduino-【BT】 Schematic]]
+
Test program:'''[[File:BLE debug uart1.zip]]''','''[[File:BLE LightBlue time.zip]]'''
<br style="clear: left"/>
 
:[[file:Microduino-【BT】-PCB.png|600px|thumb|none|Microduino-【BT】 PCB]]
 
<br style="clear: left"/>
 
* '''[[Microduino-【BT】]]''' Eagle source file 【'''[[media:Microduino-【BT】.zip|download]]'''
 
* '''[[Microduino-【BT】]]''' main chips and devices
 
** Main chip: 【'''[[media: Bluetooh4.0.pdf|Datasheet of BT 4.0]]'''】 【'''[[media: Bluetooh2.1.pdf|Datasheet of BT 2.1]]'''
 
  
|-
+
===Shield BT4.0 pass-through data to IOS devices===
|
+
*Prepared hardware:Microduino FT232R, Microduino Core, Microduino Shield BT4.0, supported Bluetooth 4.0 devices (iPhone4s upper,iPod touch 5 upper,iPad 3 upper,iPad mini upper);
 +
*Prepared software: Arduino IDE (1.0 release and upper), Microduino test program (Arduino part), download LightBlue from App Store;
 +
*Start Arduino IED,open the Microduino test program, board type select "Microduino Core (Atmega328P@16M,5V)", download directly;
 +
*Start to set the IOS device:
 +
**start the bluetooth function on IOS device;
 +
**Open LightBlue;
 +
**In "Central" tab find the "HMSoft", then set "Service"-"Characteristics";
 +
**Then you can see the debugging window, click the "Start Notify".
 +
*ASCII data can be seen displayed: "BLE, Time: xxx" after connection success, where xxx is the Core and Shield BT4.0's running time in seconds.
  
==Development==
 
* '''[[Microduino-【BT】]]''' 4.0 test video
 
* '''[[Microduino-【BT】]]''' 4.0 IOS testing code
 
** IOS5 '''[[media: HMSoft_ios5.rar |code download]]'''
 
** IOS6 '''[[media: HMSoft_ios6.rar |code download]]'''
 
* Microduino-Core/Core+ testing codes
 
** '''[[Microduino-Core+]]''' software serial mode '''[[media: Microduino-【BT】-SoftSerial.zip| Microduino-【BT】-SoftSerial.zip]]'''
 
<source lang=cpp>
 
#include <SoftwareSerial.h>
 
 
SoftwareSerial mySerial(9, 10); //RX,TX
 
 
String tmp;
 
 
void setup() {
 
  Serial.begin(9600);
 
  mySerial.begin(9600);
 
};
 
 
void loop() {
 
 
  while (mySerial.available() > 0)  {
 
    tmp += char(mySerial.read());
 
    delay(2);
 
  }
 
 
  if(tmp.length() > 0) {
 
    Serial.println(tmp);
 
    tmp = "";
 
  }
 
 
  if (Serial.available()) {
 
    mySerial.write(Serial.read());
 
  }
 
}
 
</source>
 
** '''[[Microduino-Core+]]''' Hardware serial mode '''[[media: Microduino-【BT】-HardSerial.zip|Microduino-【BT】-HardSerial.zip]]'''
 
<source lang=cpp>
 
//core+ D2-RX,D3-TX
 
  
void setup()
+
===Use Core+'s uart1 to debug Shield BT4.0===
{
+
*Prepared hardware:Microduino FT232R, Microduino Core+, Microduino Shield BT4.0;
  Serial1.begin(9600);
+
*Prepared software:Arduino IDE (1.0 release and upper), Microduino test program (Arduino part)
}
+
*Other configuration:Suppose the player has changed the jumper which change the serial to D2、D3;
 +
*Start Arduino IED, open Microduino test program, select the board type "Microduino Core (Atmega328P@16M,5V)", download directly;
 +
*Check the serial communication:
 +
**Open the serial monitor,send uppercase “AT”(no \r\n appened), if return “OK”,that means matched.
  
void loop()
 
{
 
  Serial1.println("AT");
 
  if (Serial1.available())
 
  {
 
    char c = Serial1.read();
 
    Serial1.println(c);
 
  }
 
  delay(1000);
 
}
 
  
</source>
+
===Microduino-Shield BT4.0 simple testing===
* '''[[Microduino-【BT】]]''' workshops
+
*[http://viewc.com/p/296 Microduino-Shield BT4.0 simple testing] from @颜火山
**【'''[[Learn to use Microduino-【BT】]]'''】
 
  
|-
+
==Bug==
|
 
  
==Buy==
 
* Buy '''[http://www.microduino.cc/Modules/Microdoino%20Extension%20Modules/bt Microduino-BT]'''
 
  
|-
 
|
 
 
==History==
 
==History==
+
*On June 5, 2013, the second time proofing is completed, changed its name to the "Microduino - (BT)" and added the third optional serial port - UART1, divided into 2 version, version 2.1, a module used for HM09;A 4.0 version, module used for HM10.
 +
*On May 10, 2013, the board is completed.
  
 
|-
 
|-
Line 134: Line 131:
 
[[file:Microduino-【BT】-b.jpg|thumb|600px|center|Microduino BT 4.0 Back]]
 
[[file:Microduino-【BT】-b.jpg|thumb|600px|center|Microduino BT 4.0 Back]]
  
 
+
==Video==
 
|}
 
|}

Revision as of 05:37, 21 February 2014

Language: English  • 中文
Microduino-Shield BT4.0

Microduino-Shiedl BT4.0 module is a plug-in device that supports Bluetooth 4.0 low energy standard. Microduino-Shield BT4.0 module is a bluetooth serial port transparent transmission module, use the 27 PIN standard Microduino interface, support the Arduino board and derivatives, such as Microduino core. The module is designed by player ogre_c.

Features

  • Microduino-Shield BT4.0 use U type 27 PIN interface of Microduino, combines with other Microduino modult to use;
  • Microduino-Shield BT4.0 use the HM-10 BLE as the bluetooth core module;
  • TI CC2540 chip with 256Kb space;
  • Support AT command,the serial baud rate, device name, matched passward can be changed, easy to use;
  • Small, cheap, stackable, opened platfrom;
  • Open source hardware circuit design, compatible with the Arduino IDE development environment for programming;
  • Defines unified interface Microduino specification and contain rich peripheral modules. Set up the quick connection with other Microduino modules and sensors easily and flexibly.
  • 2.54 pitch row female connector for easy integration into breadboard.

Specifications

  • Communication forms: serial passthrough;
  • Power:+3.3VDC 50mA;
  • Bluetooth protocol:Bluetooth Specification V4.0 BLE;
  • Service:Central & Peripheral UUID FFE0,FFE1;
  • Working frequency:2.4GHz ISM band;
  • Modulation method:GFSK(Gaussian Frequency Shift Keying);
  • Transmission power:≤4dBm;
  • Sensitivity:≤-84dBm at 0.1% BER;
  • Transmission rate:
    • Asynchronous: 6 kbps;
    • Synchronous: 6 kbps;
  • State indicator:
    • Two states:
      • Flashing means module powered, no matched.
      • Lighting means module has matched and can start communication.
    • You can know the module's state by the indicator, easy to use.

Documents

Eagle PCB File:Microduino-BT Shield.zip

Main component

Development

Seril configuration

  • Default serial configuration:
    • Baud rate: 9600
    • No check
    • Data bits: 8
    • Stop bit: 1
  • Serial port on Arduino IDE's serial monitor:
    • Set to:"No line terminator"、"9600baud"
  • For other serial debug software:
    • Baud rate: 9600
    • No check
    • Data bits: 8
    • Stop bit: 1
  • Use the RX0, TX1 as the default communication pin between Microduino Shield BT4.0 and Core module, so can't directly superimposed with Microduino FT232R.

Use PC to debug

  • Use serial directly:
    • No need superimpose the FT232 directly, cross connect the FT232 and Shield BT4.0's RX0,TX1.

Use FT232R、Core download and debug

  • Use default jumper (RX0、TX1):
    • Unplug the Microduino Shield BT4.0 during download program;
  • If you want to change the jumper cables to meet your requirement:cut the connection between two intermediate of the pad and RX0/TX1, and then connect them to D2, D3(or D9、D10).
    • If changed the jumper, need the change the serial connection between Microduino Shield BT4.0 and Core module, change the connection "TX-RX0、RX-TX1" to following:
      • TX-D2、RX-D3 (For Core+'s Serial1)
      • TX-D9、RX-D10 (all SoftwareSeria libray to resolve)


Pin description

File:BT-Pinout-1.jpg
Microduino-BT-Pinout-t
File:BT-Pinout-2.jpg
Microduino-BT-Pinout-b
HM-10 Pin Microduino Pin Function
TX RX0(orD2/D9) serial send pin (TTL),connect Core's RXD
RX TX1(orD3/D10) serial receive pin (TTL),connect Core's TXD



Application

Download progrm

Test program:File:BLE debug uart1.zip,File:BLE LightBlue time.zip

Shield BT4.0 pass-through data to IOS devices

  • Prepared hardware:Microduino FT232R, Microduino Core, Microduino Shield BT4.0, supported Bluetooth 4.0 devices (iPhone4s upper,iPod touch 5 upper,iPad 3 upper,iPad mini upper);
  • Prepared software: Arduino IDE (1.0 release and upper), Microduino test program (Arduino part), download LightBlue from App Store;
  • Start Arduino IED,open the Microduino test program, board type select "Microduino Core (Atmega328P@16M,5V)", download directly;
  • Start to set the IOS device:
    • start the bluetooth function on IOS device;
    • Open LightBlue;
    • In "Central" tab find the "HMSoft", then set "Service"-"Characteristics";
    • Then you can see the debugging window, click the "Start Notify".
  • ASCII data can be seen displayed: "BLE, Time: xxx" after connection success, where xxx is the Core and Shield BT4.0's running time in seconds.


Use Core+'s uart1 to debug Shield BT4.0

  • Prepared hardware:Microduino FT232R, Microduino Core+, Microduino Shield BT4.0;
  • Prepared software:Arduino IDE (1.0 release and upper), Microduino test program (Arduino part);
  • Other configuration:Suppose the player has changed the jumper which change the serial to D2、D3;
  • Start Arduino IED, open Microduino test program, select the board type "Microduino Core (Atmega328P@16M,5V)", download directly;
  • Check the serial communication:
    • Open the serial monitor,send uppercase “AT”(no \r\n appened), if return “OK”,that means matched.


Microduino-Shield BT4.0 simple testing

Bug

History

  • On June 5, 2013, the second time proofing is completed, changed its name to the "Microduino - (BT)" and added the third optional serial port - UART1, divided into 2 version, version 2.1, a module used for HM09;A 4.0 version, module used for HM10.
  • On May 10, 2013, the board is completed.

Pictures

Microduino BT 4.0 Front
Microduino BT 4.0 Back

Video