The HC-05 module is used to add wireless Bluetooth communication to Arduino projects, allowing devices to send and receive data wirelessly.
Click to reveal answer
beginner
How do you connect the HC-05 module to an Arduino board?
Connect HC-05 VCC to 5V, GND to GND, TXD to Arduino RX pin, and RXD to Arduino TX pin (usually through a voltage divider to protect the module).
Click to reveal answer
intermediate
What is the difference between HC-05 and HC-06 modules?
HC-05 can act as both master and slave device, while HC-06 works only as a slave device. HC-05 is more versatile for Bluetooth communication.
Click to reveal answer
beginner
How do you send data from Arduino to a Bluetooth device using HC-05?
Use the Serial communication commands like Serial.write() or Serial.print() to send data through the HC-05 module connected to Arduino's serial pins.
Click to reveal answer
intermediate
Why is a voltage divider needed on the HC-05 RX pin?
Because the HC-05 RX pin works at 3.3V logic level, and Arduino TX pin outputs 5V, a voltage divider reduces 5V to 3.3V to protect the module.
Click to reveal answer
Which pin on the HC-05 module should be connected to Arduino's RX pin?
AHC-05 TXD pin
BHC-05 RXD pin
CHC-05 VCC pin
DHC-05 GND pin
✗ Incorrect
The HC-05 TXD pin sends data to Arduino's RX pin.
What role does the HC-05 module play in Bluetooth communication?
AIt powers the Arduino board
BIt controls the Arduino's motor
CIt stores data permanently
DIt acts as a wireless communication bridge
✗ Incorrect
HC-05 enables wireless data transfer between devices.
Which Arduino function is commonly used to send data via HC-05?
Adelay()
BSerial.print()
CanalogRead()
DdigitalWrite()
✗ Incorrect
Serial.print() sends data over serial communication to HC-05.
What voltage level should the HC-05 RX pin receive?
A12V
B5V
C3.3V
D1.8V
✗ Incorrect
HC-05 RX pin works at 3.3V logic level to avoid damage.
Which module can act as both master and slave in Bluetooth communication?
AHC-05
BHC-06
CBoth HC-05 and HC-06
DNeither HC-05 nor HC-06
✗ Incorrect
HC-05 supports master and slave modes; HC-06 supports only slave mode.
Explain how to connect and communicate with an HC-05 Bluetooth module using Arduino.
Think about wiring and serial communication steps.
You got /4 concepts.
Describe the main differences between HC-05 and HC-06 Bluetooth modules.
Focus on device roles and flexibility.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of using an HC-05 or HC-06 Bluetooth module with an Arduino?
easy
A. To enable wireless serial communication between Arduino and other Bluetooth devices
B. To increase the Arduino's processing speed
C. To provide power supply to the Arduino
D. To connect Arduino to the internet via Wi-Fi
Solution
Step 1: Understand the function of HC-05/HC-06 modules
These modules are designed to allow wireless serial communication using Bluetooth technology.
Step 2: Compare options with module purpose
Only To enable wireless serial communication between Arduino and other Bluetooth devices correctly describes enabling wireless serial communication; others describe unrelated functions.
Final Answer:
To enable wireless serial communication between Arduino and other Bluetooth devices -> Option A
Quick Check:
HC-05/HC-06 = Wireless serial communication [OK]
Hint: HC-05/HC-06 = Bluetooth serial communication module [OK]
Common Mistakes:
Confusing Bluetooth with Wi-Fi connectivity
Thinking it powers the Arduino
Assuming it speeds up Arduino processing
2. Which of the following is the correct way to create a SoftwareSerial object for HC-05 on pins 10 (RX) and 11 (TX)?
easy
A. SoftwareSerial BT(11, 10);
B. SoftwareSerial BT(10, 11);
C. SoftwareSerial BT(9, 8);
D. SoftwareSerial BT(0, 1);
Solution
Step 1: Recall SoftwareSerial constructor syntax
The constructor is SoftwareSerial(rxPin, txPin), so RX is first, TX second.
Step 2: Match pins to constructor
Given RX=10 and TX=11, the correct call is SoftwareSerial BT(10, 11);
C. BT.begin baud rate does not match HC-05 baud rate
D. BT.read() should be inside setup()
Solution
Step 1: Check baud rate consistency
HC-05 default baud is 9600, but BT.begin uses 115200, causing communication failure.
Step 2: Verify other code parts
SoftwareSerial pins and Serial.begin are correct; BT.read() is correctly placed in loop.
Final Answer:
BT.begin baud rate does not match HC-05 baud rate -> Option C
Quick Check:
Baud rates must match for communication [OK]
Hint: Match BT.begin baud with HC-05 baud rate [OK]
Common Mistakes:
Using different baud rates between Arduino and HC-05
Placing BT.read() in setup() instead of loop()
Confusing Serial and SoftwareSerial pins
5. You want to send the string "LED ON" from your phone to Arduino via HC-05. The Arduino should turn on an LED connected to pin 13 when it receives this exact string. Which code snippet correctly implements this behavior?
The correct code declares a global String input = ""; and uses while (BT.available()) { char c = BT.read(); input += c; } to accumulate all available characters into the string.
Step 2: Compare the full input string and control LED
After accumulating, if (input == "LED ON") { digitalWrite(13, HIGH); input = ""; } turns on the LED and clears the input for next message.
Step 3: Analyze other options
One option incorrectly compares a single BT.read() char to 'LED ON'; another turns on the LED on if (BT.available()) without checking content; the last captures only a single char per loop with input = BT.read().
Final Answer:
The code snippet that accumulates characters into a String using while(BT.available()) -> Option A
Quick Check:
Read full input string before comparing [OK]
Hint: Build full string from BT.read() before comparing [OK]
Common Mistakes:
Comparing single char to full string
Not accumulating all characters before checking
Turning LED on without input check
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.