There are quite a few Bluetooth modules available in the market for DIY enthusiast. But it can often times get confusing on which model of Bluetooth modules would be the ideal choice for your projects. HC-05 and HC-06 have been available on the market for a long time and we have recently introduced our own WittyFox WF-05 Bluetooth module based on newer Bluetooth standards and technology. Hence it can often times become a bit unclear on which module we should opt for.
So, in this blog we will be going through the differences and feature sets of the aforementioned modules, so it can help you more easily decide and identify which Bluetooth module would be ideal.
What is HC-05 Bluetooth Module?
HC-05 is a commonly used hobbyist grade Bluetooth module used to communicate with devices over Bluetooth. It is based on the Bluetooth 2.0 standard and it can be used to transmit and receive data over Bluetooth enabled devices.
The HC05 Bluetooth module has the capability of act as both master and slave, that is, it can be programmed to initiate Bluetooth connection (act as a master) or it can connect to any devices upon request (act as a slave)
The module works over UART communication protocol with microcontrollers, making it relatively very easy to get started with it.
What is HC-06 Bluetooth Module?
HC-06 Bluetooth module designed for establishing Bluetooth connection between Bluetooth enables systems. The module works on Bluetooth 2.0 and it can only act as a slave device.
Similar to HC-05, the module works over UART communication making it extremely easy to start interfacing the device with a microcontroller.
The module will always be in slave-mode/AT mode, as a result, compared to HC-05 the AT mode LED is missing.
What is WF-05 Bluetooth Module?
WittyFox WF-05 is a UART based Bluetooth module, designed by TIF Labs, capable of wirelessly communicating with devices such as your smartphones, laptops and even other microcontrollers.
The module incorporates Feasycom BT986 Bluetooth chip which supports Bluetooth 5.2 and latest technologies like Bluetooth Enhanced data rate (EDR) as well as Bluetooth Low Energy (BLE). It is pin-to-pin compatible with existing HC-05 module and this module can easily be used to upgrade your existing projects to newer and more efficient Bluetooth technologies.
The module itself has onboard led depicting the connection status and also has a “STATE” pin breakout to indicate to parent device of the Bluetooth status. It also supports a relatively wide range of input voltage of 3.6-6V with reverse polarity protection to prevent an accidental damage to the module.
Module Specifications:
HC-05
- Bluetooth protocol: Bluetooth Specification v2.0+EDR (Enhanced Data Rate)
- Frequency: 2.4GHz ISM band
- Default baud rate: 9600 in data mode, 38400 in AT mode
- Modulation: GFSK (Gaussian Frequency Shift Keying)
- Emission power: ≤4dBm, Class 2
- Sensitivity: ≤-84dBm at 0.1% BER
- Speed: Asynchronous communication: 2.1Mbps (Max) / 160 kbps, Synchronous communication: 1Mbps/1Mbps
- Supply Voltage: +3.3V to 6.0 V
- Supply Current: 30-40mA
- Working temperature: -20 to 75 Centigrade
- Module dimensions: 26.9mm x 13mm x 2.2 mm
HC-06
HC-06 Features and Electrical characteristics
- Bluetooth protocol: Bluetooth v2.0
- Power Level: Class2(+6dBm)
- Band: 2.40GHz—2.48GHz, ISM Band
- Sensitivity: ≤-84dBm at 0.1% BER
- USB protocol: USB v1.1/2.0
- Modulation: GFSK (Gaussian Frequency Shift Keying)
- Safety feature: Authentication and encryption
- Operating voltage range: +3.3V to +6V
- Working temperature range: -20ºC to +55ºC
- Operating Current: 30-40mA
- Module dimensions: 26.9mm x 13mm x 2.2 mm
WittyFox WF-05
WittyFox WF-05 Features and Electrical characteristics
- Bluetooth protocol: Bluetooth v5.2 with EDR and BLE
- Power Level: +5dBm (maximum)
- Default baud rate: 115200
- Band: 2.40GHz—2.48GHz, ISM Band
- Sensitivity: ≤-95 dBm at 0.1% BER (BLE mode)
- USB protocol: USB 2.0
- Modulation: GFSK, DQPSK, 8DPSK
- Safety feature: Authentication and encryption
- Operating voltage range: +3.3V to +6V
- Working temperature range: -20ºC to +85ºC
- Operating Current: 5mA
- Module dimensions: 39.1mm x 17.2mm x 2.2 mm
Pinouts
HC-05
HC-05 may come in different pin layouts ranging from 4-6 pins. Below are the listed pins that are found in the HC-05 module
Pin no. |
Pin Name |
Pin Description |
1. |
KEY/En (Optional) |
This pin is used to bring the Bluetooth module in AT commands mode. The Key/EN pin should be high to operate module in AT command mode. In HC-05, the default baud speed in AT mode is 38400bps and 9600 in data mode. |
2. |
VCC |
Used to connect power to Bluetooth module. Input Voltage can be between 3.6-6V |
3. |
GND |
Ground pin of the module |
4. |
TXD |
Connect this pin with the RX pin of the Microcontroller. This pin transmits Serial data to the connected microcontroller after converting signals received by the module over wirelessly over Bluetooth |
5. |
RXD |
Connect this pin to the TX pin of the Microcontroller. This pin can be used to send data to the module from the microcontroller to transmit via Bluetooth wirelessly to the connected device |
6. |
STATE (Optional) |
This pin can be used to check the status of the Bluetooth connection. For example, an LED can be connected to indicate the Bluetooth connection status |
HC-06
HC-06 also has the same exact pin layout as HC-05, with Key and State pin being optional depending on the module/vendor of the device
Pin no. |
Pin Name |
Pin Description |
1. |
EN (Optional) |
This pin is used to bring the Bluetooth module in AT commands mode. The Key/EN pin should be high to operate Bluetooth in AT command mode. |
2. |
VCC |
Used to connect power to Bluetooth module. Input Voltage can be between 3.6-6V |
3. |
GND |
Ground pin of the module |
4. |
TXD |
Connect this pin with the RXD pin of the Microcontroller. This pin transmits Serial data to the connected microcontroller after converting signals received by the module over wirelessly over Bluetooth |
5. |
RXD |
Connect this pin to the TXD pin of the Microcontroller. This pin can be used to send data to the module from the microcontroller to transmit via Bluetooth wirelessly to the connected device |
6. |
STATE (Optional) |
This pin can be used to check the status of the Bluetooth connection. For example, an LED can be connected to indicate the Bluetooth connection status |
WittyFox WF-05
WF-05 has been designed in such a way that it has the same pin layout as the HC-05, making the Bluetooth module backward compatible with all HC-05/HC-06 designs.
Pin no. |
Pin Name |
Pin Description |
1. |
VCC |
Used to connect power to Bluetooth module. Input Voltage can be between 3.6-6V |
2. |
GND |
The ground pin of the module |
3. |
TX |
Connect this pin with the RX pin of the Microcontroller. This pin transmits Serial data to the connected microcontroller after converting signals received by the module over wirelessly over Bluetooth |
4. |
RX |
Connect this pin to the TX pin of the Microcontroller. This pin can be used to send data to the module from the microcontroller to transmit via Bluetooth wirelessly to the connected device |
5. |
STATE |
This pin can be used to check the status of the Bluetooth connection. For example, an LED can be connected to indicate the Bluetooth connection status (HIGH - connected, LOW – not connected) |
Entering AT Modes
Basic connections to all three modules for UART serial communication and AT command mode are the same. There are two ways one can go about to reconfigure their Bluetooth modules with AT mode
1. Connect the module to USB to UART converter
The user can easily make UART connections with an market available USB to UART modules. The connections between Bluetooth module and UART module are as follows
- VCC – VCC (3.6-6V)
- GND – GND
- TX Bluetooth – RX UART
- RX Bluetooth – TX UART
- Key (if available) – VCC
After connection, open serial monitor, set the appropriate baud rate (ensure the settings are Both NL and CR) and enter your commands
2. Connecting the module to a UART enabled microcontroller like Arduino/ESP
The module can also be connected to a microcontroller and a program can be uploaded (shown below) to use your microcontroller to act as a UART to USB bridge.
The following code is for Arduino and the connections are as follows
- VCC – 5V
- GND – GND
- TX Bluetooth – Pin 9
- RX Bluetooth – Pin 10
- Key (if available) – 5V
#include <SoftwareSerial.h>
SoftwareSerial Bluetooth(9, 10); // RX | TX
void setup()
{
Serial.begin(9600);
Bluetooth.begin(38400); // HC-05/HC-05: 38400, WF-05: 115200
Serial.println("Serial Communication open");
}
void loop()
{
// Feed any data from bluetooth to Terminal.
if (Bluetooth.available())
Serial.write(Bluetooth.read());
// Feed all data from termial to bluetooth
if (Serial.available())
Bluetooth.write(Serial.read());
}
After connection, open serial monitor, set the appropriate baud rate (ensure the settings are Both NL and CR) and enter your commands
HC-05
We can easily enter AT by pulling the Key/En pin HIGH. The default baud rate of HC-05 in AT mode is 38400 bps
To check if the module has entered AT mode, one can type “AT” and send – the module should reply back with an “OK” message.
HC-06
Similar to HC-05, one can enter the AT mode by pulling the Key pin to HIGH. In case the module you got does not have the Key pin, the module will by default be in AT mode
To check if the module has entered AT mode, one can type “AT” and send – the module should reply back with an “OK” message.
WittyFox WF-05
WF-05 by default is in AT mode when directly communicating with it via UART. The user can send AT commands to the module and change its configurations as required. The table for the series of commands is given in the link below
Links for Datasheets
Below are the links to respective datasheets of the Bluetooth chips used in each of these Bluetooth modules
Applications
The applications of Bluetooth modules are quite vast and endless. Any applications that require an efficient system with short range wireless transmission can work over Bluetooth. This can include applications where data needs to be transmitted intermittently to a server device or applications where wireless controls and commands need to be sent. Some examples of applications are given below
- IoT Applications
- Wireless communication between phones & microcontrollers
- BLE broadcasting
- Robotics
- Home Automation
Conclusion
In this blog post, we have learned that the HC-05, HC-06, and WF-05 Bluetooth modules are a multi-faceted and potent asset for any venture that demands unwired communication. These modules offer specifications to cater to every project requisites and are extensible in manifold applications, ranging from domicile automation to mechanization. With their user-friendly interfaces and economical price tags, these Bluetooth modules are the right pick for any DIYer or competent engineer. Whether you're a dabbling novice or a seasoned veteran, the HC-05, HC-06, and WF-05 Bluetooth modules are assured to ameliorate your impending project to uncharted pinnacles. Therefore, don't dawdle and procure one of these dynamic Bluetooth modules today, and take the inaugural stride towards wireless communication triumph!
If you appreciate our work don't forget to share this post and leave your opinion in the comment box.
Please do check out other blog posts about Popular electronics
Make sure you check out our wide range of products and collections (we offer some exciting deals!)