What it shows
A free Android voice app converts speech to text and sends it over Bluetooth to an HC-05 module. The Arduino matches words such as "light on" or "fan off" and drives relays that switch 12 V LED lamps and a 12 V fan.
The science
The phone does the hard part: its speech recognition turns your words into a text string, and the app sends that string over the Bluetooth serial profile. The HC-05 appears to the Arduino as a plain serial device at 9600 baud, so Serial.readStringUntil() collects a command. String comparisons choose which relay pin to set. Each relay is an electromagnet that closes a separate contact, isolating the lamp circuit from the logic.
Materials
Cost: under Rs 1,500. Many items come from home or from waste; spare parts such as LEDs, motors and wire are in the store.
- An Arduino Uno clone and USB cable
- An HC-05 Bluetooth module
- A 2-channel 5 V relay module
- Two 12 V LED bulbs or strips, or one strip and a 12 V fan
- A 12 V adapter
- A 1 kΩ and a 2 kΩ resistor for the voltage divider
- An Android phone with a free Bluetooth voice control app
Safety
For this project: Relays switch 12 V DC loads only, never mains lamps. The HC-05 RX pin needs the 3.3 V divider or it may be damaged over time.
Never use mains electricity: power models with cells, batteries or a low-voltage adapter. Sharp and hot tools, flames and lab chemicals need an adult or your teacher beside you. Keep magnets, button cells and small parts away from young children, and wash your hands after making.
All the safety rulesStep by step
9 steps. Do them in order, and test each part before you go on to the next. Write what you notice in a notebook as you go.
Wire the HC-05: VCC to 5 V, GND to GND, TX to Arduino pin 10 (SoftwareSerial RX), and Arduino pin 11 to HC-05 RX through the 1 kΩ and 2 kΩ divider.
Wire the relay module INs to pins 7 and 8, with VCC and GND to the Arduino.
Connect each 12 V load through its relay COM and NO terminals to the adapter.
Upload a sketch that uses SoftwareSerial, reads a line ending in a hash or newline, and prints it to the serial monitor.
Pair the phone with the HC-05 (PIN 1234 or 0000) and connect from the voice app.
Speak "light on" and confirm the text arrives on the serial monitor exactly as expected.
Add if statements: "light on" sets pin 7 high, "light off" low, "fan on" and "fan off" for pin 8, "all off" for both.
Convert the received text to lower case before comparing so capital letters do not break the match.
Test in a quiet room, then in a noisy one, and note how recognition changes.
What you should see
Spoken commands switch the correct 12 V load within about a second of finishing the phrase; the serial monitor shows the exact text received.
Viva questions
A teacher or a judge will ask how it works. Try to answer each question before you open it, then compare.
1Where does the speech recognition happen?
In the phone app; the Arduino only receives text and compares strings.
2Why the resistor divider on the HC-05 RX line?
The HC-05 logic is 3.3 V; the divider drops the Arduino 5 V signal to about 3.3 V.
3What is the range of the HC-05?
Roughly 10 metres indoors, less through walls.
4Why does "Light On" sometimes fail?
If the sketch compares exact strings, case or extra spaces break the match, so the text is normalised first.
Take it further
Add a dimming command for the LED strip using a MOSFET and PWM instead of a relay.
Change one thing, measure what happens, and add a table or chart of your readings: that is what turns a model into your own investigation.
Free ebooks for this project
Robotics
Build a Bluetooth-Controlled Car
Drive a robot car from a phone with an HC-05 module and Arduino
