LED Control Using CH-05 Bluetooth with Arduino: A Step-by-Step Guide

Controlling electronics wirelessly is a great way to bring your DIY projects to life. In this tutorial, we’ll walk you through how to control an LED using your smartphone and a CH-05 Bluetooth module with an Arduino board. This is a beginner-friendly project that introduces Bluetooth communication and serial commands in Arduino.


📦 What You’ll Need

  • Arduino Uno (or compatible board)
  • CH-05 Bluetooth module (a variant of the popular HC-05)
  • LED (any color)
  • 220-ohm resistor
  • Breadboard and jumper wires
  • Smartphone with a Bluetooth terminal app (like Serial Bluetooth Terminal or Arduino Bluetooth Controller)

🧠 Understanding the CH-05 Bluetooth Module

The CH-05 is a Bluetooth module that allows wireless communication between your Arduino and your smartphone or computer. It uses UART (serial) communication and works on 3.3V logic.

PinDescription
VCCPower (3.6V–6V)
GNDGround
TXDTransmit Data (OUT)
RXDReceive Data (IN)

⚠️ Important: The RX pin of CH-05 is 3.3V tolerant only! If connecting to Arduino’s 5V TX pin, use a voltage divider.


🔧 Wiring the Circuit

Here’s how to wire everything:

🔌 Arduino to CH-05:

  • CH-05 VCC → Arduino 5V
  • CH-05 GND → Arduino GND
  • CH-05 TXD → Arduino RX (pin 0)
  • CH-05 RXD → Arduino TX (pin 1) (⚠️ Add a voltage divider: 1kΩ and 2kΩ resistors to drop from 5V to ~3.3V)

💡 LED Circuit:

  • LED anode (long leg) → 220Ω resistor → Arduino pin 8
  • LED cathode (short leg) → GND

💻 Arduino Code

Here’s a simple sketch to control the LED via Bluetooth:

int ledPin = 8;
char incomingChar;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);  // CH-05 default baud rate
}

void loop() {
  if (Serial.available()) {
    incomingChar = Serial.read();
    if (incomingChar == '1') {
      digitalWrite(ledPin, HIGH);
      Serial.println("LED ON");
    } else if (incomingChar == '0') {
      digitalWrite(ledPin, LOW);
      Serial.println("LED OFF");
    }
  }
}

📱 Smartphone Setup

  1. Download a Bluetooth terminal app:
  2. Pair with CH-05:
    • Default name: HC-05 or CH-05
    • Default PIN: 1234 or 0000
  3. Open the app, connect to CH-05, and send commands:
    • Send 1 → LED turns ON
    • Send 0 → LED turns OFF

🔍 How It Works

When you send a character (like ‘1’ or ‘0’) from your phone, it is transmitted over Bluetooth to the Arduino. The Arduino listens via its serial port and responds by turning the LED on or off based on the received command.


🧪 Tips & Troubleshooting

  • Serial Conflicts: If using Arduino Uno, avoid connecting Bluetooth while uploading code. Disconnect TX/RX wires during upload.
  • Baud Rate Mismatch: Ensure Serial.begin(9600); matches the CH-05 module’s baud rate.
  • Voltage Levels: Always protect CH-05’s RX pin from 5V using a voltage divider.

🚀 Going Further

Once this basic project works, try these enhancements:

  • Add more LEDs with different commands (e.g., ‘2’, ‘3’, etc.)
  • Use a custom Android app to send more complex commands
  • Replace LED with a relay module to control appliances
  • Read data from sensors and send it to your phone

📷 Sample Project Layout (Optional Image Caption)

If you want, I can generate a visual diagram of the circuit too — just let me know!


🧾 Conclusion

Controlling an LED via Bluetooth using the CH-05 and Arduino is a great first step into the world of wireless IoT. It’s simple, affordable, and opens the door to remote automation, home control systems, and mobile-based projects.

Happy tinkering! 🔧✨

Author: Ogbugbu Technologies

Leave a Reply

Your email address will not be published. Required fields are marked *