Zbotic Logo Zbotic Logo
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

  • Shop
  • About Us
  • Contact Us
  • Reseller
  • Blogs
020 69134444
1800 209 0998
[email protected]
Help Desk
Facebook Twitter Instagram Linkedin YouTube
Zbotic Logo Zbotic Logo
0 0

View Wishlist Add all to cart

0 0
0 Shopping Cart
Shopping cart (0)
Subtotal: ₹0.00

View cartCheckout

All departments
  • 3D Print Service
  • 3D Printer
  • Batteries & Chargers
  • Development Boards
  • Drone Parts
  • EBike parts
  • Sensor Modules
  • Electronic Components
  • Electronic Modules
  • IoT and Wireless
  • Mechanical Parts and Workbench Tools
  • Motors & Drivers & Pumps & Actuators
  • DIY and Robot Kits
  • Show more
  • Home
  • Shop
  • Sale
  • 3D Print Service
  • PCB Service
  • B2B
  • Blogs
  • Contact Us
Return to previous page
Home Communication & Wireless Modules

HC-05 Bluetooth Module Not Pairing: Causes & Step-by-Step Fix

HC-05 Bluetooth Module Not Pairing: Causes & Step-by-Step Fix

March 11, 2026 /Posted byJayesh Jain / 0

HC-05 Bluetooth Module Not Pairing: Causes & Step-by-Step Fix

The HC-05 Bluetooth module not pairing is one of the most common frustrations for Arduino beginners and experienced makers alike. You have wired everything up, uploaded your code, opened the Bluetooth settings on your phone — and nothing. Or it shows up briefly and then disappears. Or it pairs but immediately disconnects. This troubleshooting guide covers every known cause of HC-05 pairing failures and provides a systematic, step-by-step fix that resolves the problem in over 95% of cases. Whether you are working with an Arduino Uno, Nano, or Mega, this guide has you covered.

Table of Contents

  1. How the HC-05 Module Works
  2. Step 1: Power Supply Verification
  3. Step 2: LED Blink Pattern Diagnostics
  4. Step 3: Enter AT Command Mode & Verify Settings
  5. Step 4: Fix Android Pairing Issues
  6. Step 5: Correct Wiring & Voltage Level
  7. Step 6: Matching Baud Rate in Code
  8. FAQ

How the HC-05 Module Works

The HC-05 is a Bluetooth 2.0 Classic module (SPP — Serial Port Profile) that creates a wireless serial link between two devices. It operates at 2.4GHz and communicates with Arduino via UART (TX/RX). The module has two operating modes:

  • Data Mode (normal): The module is discoverable, accepts pairing requests, and transparently relays serial data. The LED blinks rapidly (every ~2 seconds) when not paired, and stays on steadily when connected.
  • AT Command Mode: Entered by holding the KEY/EN pin HIGH before powering on (or pressing the small onboard button before power-on on most modules). The LED blinks slowly (every ~1 second). In this mode, you send AT commands at 38400 baud to query and configure the module.

The default HC-05 pairing PIN is 1234 (some modules use 0000). The default baud rate for data mode is 9600 (for some modules it is 38400 — check with AT+UART?).

0.96 Inch I2C OLED LCD Module SSD1306

0.96 Inch I2C OLED LCD Module (White, SSD1306)

Add an OLED display to your HC-05 project to show Bluetooth connection status, sensor data, and debug information in real time.

View on Zbotic

Step 1: Power Supply Verification

Power problems are responsible for at least 30% of HC-05 pairing failures. The HC-05 module requires 3.3V on its VCC pin (the breakout boards with a 6-pin header include a 3.3V regulator and can accept 5V on the VCC pin — but the bare module cannot). Current draw can reach 40mA during active transmission.

Common Power Mistakes

  • Powering from Arduino 3.3V pin: The Arduino Uno’s 3.3V regulator is limited to 50mA total. Combined with other 3.3V loads, this causes voltage sag and connection drops. Use a dedicated 3.3V regulator (AMS1117-3.3) for the HC-05 if you are not using a breakout board with an onboard regulator.
  • Long jumper wires adding resistance: High-resistance connections cause voltage drop under load. Use short, direct jumper wires.
  • Shared GND not connected: The HC-05 and Arduino must share a common GND.

Test: Measure voltage at the HC-05 VCC pin with a multimeter while the module is powered on. It should read 3.3V (±0.1V). If it reads below 3.0V, fix your power supply first.

Step 2: LED Blink Pattern Diagnostics

The HC-05’s onboard LED is your most immediate diagnostic tool:

LED Pattern Module State Action
Rapid blink (~2/sec) Data mode, waiting for pairing Normal — try pairing now
Slow blink (~1/sec) AT Command mode Send AT commands at 38400 baud
Double blink, pause Paired & connected Data can now flow
LED off No power / module fault Check power supply immediately
LED steady on Connected in some configurations Verify with AT+STATE?

If you see rapid blinking but your phone cannot find the module, proceed to Step 3 to check AT command settings. If the LED is off despite power, the module may be faulty or you have a wiring error.

Step 3: Enter AT Command Mode & Verify Settings

AT Command mode lets you verify and fix the module’s internal settings. This is the most powerful diagnostic step.

How to Enter AT Mode

  1. Power OFF the HC-05 and Arduino
  2. Hold the HC-05’s KEY/EN button (or connect KEY pin to 3.3V/5V)
  3. Power ON while keeping KEY held
  4. LED should now blink slowly (~1 per second) — you are in AT mode
  5. Open Arduino IDE Serial Monitor: set baud to 38400, line ending to Both NL & CR

Essential AT Commands

AT                    → Should reply OK (confirms AT mode is working)
AT+VERSION?           → Returns firmware version (e.g., 3.0-20170601)
AT+NAME?              → Returns module name (default: HC-05)
AT+ADDR?              → Returns Bluetooth MAC address
AT+PSWD?             → Returns current PIN (default: 1234)
AT+UART?             → Returns baud,stopbits,parity (e.g., 9600,0,0)
AT+ROLE?             → Returns role (0=Slave, 1=Master)
AT+STATE?            → Returns current state (INITIALIZED, PAIRABLE, etc.)

Fix Commands

AT+NAME=ZBOTIC_BT     → Rename module (visible in phone Bluetooth scan)
AT+PSWD=1234          → Reset PIN to 1234
AT+UART=9600,0,0      → Set baud rate to 9600 (match your Arduino sketch)
AT+ROLE=0             → Set as Slave (must be 0 for phone-to-Arduino pairing)
AT+RESET              → Restart module in data mode

Critical check: Verify AT+ROLE? returns 0. If the role is 1 (Master), the module will not accept pairing from your phone — it will try to connect TO another device. This is the single most common misconfiguration.

0.96 Inch SPI OLED LCD Module Blue SSD1306

0.96 Inch SPI OLED LCD Module (Blue, SSD1306)

SPI OLED display for showing Bluetooth debug output and sensor readings in Arduino Bluetooth projects.

View on Zbotic

Step 4: Fix Android Pairing Issues

Android Bluetooth pairing issues with HC-05 are distinct from hardware problems. Here is a reliable procedure:

Standard Android Pairing Procedure

  1. Make sure HC-05 is in Data Mode (rapid LED blink — NOT AT mode)
  2. On Android, go to Settings → Connected Devices → Bluetooth
  3. Tap Scan or Pair new device — you should see "HC-05" (or whatever name you set)
  4. Tap the device name — you will be prompted for a PIN
  5. Enter 1234 (or 0000 if 1234 fails)
  6. Tap OK — the status should change to "Paired"

If HC-05 Does Not Appear in Android Scan

  • Toggle Bluetooth OFF and ON on your phone (clears the scan cache)
  • Verify HC-05 LED is blinking rapidly (not slow AT mode blink)
  • Confirm the HC-05 is not already paired to another device (another phone, laptop) — a paired HC-05 may not be discoverable to additional devices simultaneously
  • On newer Android (12+), make sure you have granted "Nearby devices" permission to your Bluetooth app

If Pairing Immediately Fails or Disconnects

  • Forget/unpair the device on Android first, then try again fresh
  • Reset the HC-05 PIN via AT command: AT+PSWD=1234
  • Some Android 10+ phones have issues with older Bluetooth 2.0 SPP devices — use a dedicated Bluetooth Terminal app (like "Serial Bluetooth Terminal" by Kai Morich) instead of the generic Bluetooth settings pairing

Step 5: Correct Wiring & Voltage Level

Incorrect wiring is another top cause of HC-05 failures. The HC-05’s TX/RX pins operate at 3.3V logic, while Arduino Uno/Nano TX/RX are at 5V logic. Connecting 5V directly to HC-05 RX can damage the module over time.

Correct Wiring (Arduino Uno to HC-05 Breakout Board)

HC-05 Pin Arduino Pin Notes
VCC 5V Breakout boards have onboard 3.3V LDO
GND GND Common ground — MUST be connected
TXD D10 (SoftSerial RX) HC-05 sends, Arduino receives — direct OK
RXD D11 (SoftSerial TX) via voltage divider 5V→3.3V: 1kΩ + 2kΩ resistor divider
KEY/EN D9 (optional) or 3.3V for AT mode Leave floating for data mode

Critical: Do NOT connect HC-05 TXD and RXD to Arduino hardware UART pins 0 and 1 while also using USB Serial Monitor — they share the same UART on Uno/Nano and will conflict. Use SoftwareSerial on pins D10/D11 for HC-05.

Step 6: Matching Baud Rate in Code

A mismatch between the HC-05’s configured baud rate and your Arduino sketch’s SoftwareSerial baud rate causes garbled data and apparent "connection" failures where the module pairs but no data flows.

#include <SoftwareSerial.h>

// HC-05 TXD → Arduino D10, HC-05 RXD → Arduino D11 (via voltage divider)
SoftwareSerial bluetooth(10, 11); // RX, TX

void setup() {
  Serial.begin(9600);      // USB Serial Monitor
  bluetooth.begin(9600);   // MUST match AT+UART? setting on HC-05
  Serial.println("HC-05 ready. Waiting for Bluetooth connection...");
}

void loop() {
  // Forward data from Bluetooth to Serial Monitor
  if (bluetooth.available()) {
    char c = bluetooth.read();
    Serial.write(c);
  }
  
  // Forward data from Serial Monitor to Bluetooth
  if (Serial.available()) {
    char c = Serial.read();
    bluetooth.write(c);
  }
}

This is a transparent bridge sketch — it passes data between your phone’s Bluetooth terminal app and the Arduino Serial Monitor. Use it to verify your HC-05 is working before adding application logic.

1 Channel 12V 30A Relay Module

1 Channel 12V 30A Relay Module with Optocoupler

Control high-power devices via Bluetooth using this optocoupler-isolated relay — a natural next step after getting HC-05 working with Arduino.

View on Zbotic

1 Channel 12V Relay Module Solid State SSR

1 Channel 12V Solid State Relay Module (SSR, High Level)

Silent solid-state relay for Bluetooth-controlled AC switching projects — no mechanical noise, longer lifespan than traditional relays.

View on Zbotic

0.96 Inch SPI OLED LCD Module 7pin SSD1306

0.96 Inch SPI OLED LCD Module 7-pin (White, SSD1306)

7-pin SPI OLED display with CS pin — ideal for showing Bluetooth status, commands received, and sensor data in HC-05 Arduino projects.

View on Zbotic

Frequently Asked Questions

Q: My HC-05 shows in Bluetooth scan but pairing fails immediately. Why?

The most likely cause is a wrong PIN. Try both 1234 and 0000. If both fail, enter AT command mode and run AT+PSWD=1234 to reset the PIN to 1234, then exit AT mode and try pairing again. Also make sure no other device is already connected to your HC-05 — it can only maintain one connection at a time.

Q: Why does AT command mode not respond — my Serial Monitor shows nothing?

Check three things: (1) Baud rate in Serial Monitor must be exactly 38400, not 9600. (2) Line ending in Serial Monitor must be set to “Both NL & CR” — without carriage return, the HC-05 ignores the command. (3) Make sure you entered AT mode correctly (KEY pin HIGH at power-on, slow LED blink). If using SoftwareSerial to communicate with HC-05 in AT mode, note that SoftwareSerial can be unreliable above 9600 on some Arduinos — try connecting the HC-05 directly to hardware UART pins for AT mode testing.

Q: HC-05 pairs successfully but data is garbled or missing. What is wrong?

Baud rate mismatch. The HC-05’s data mode baud rate (check with AT+UART? in AT mode) must exactly match the baud rate you use in bluetooth.begin() in your Arduino sketch. If AT+UART? returns 38400 but your sketch uses 9600, all received data will be garbled. Fix: either change the HC-05 with AT+UART=9600,0,0 or update your sketch to use 38400.

Q: Can HC-05 work with iPhone (iOS)?

No. The HC-05 uses Bluetooth Classic (SPP profile), which iOS does not support for third-party apps. iPhones only support Bluetooth Low Energy (BLE) for custom apps. You need an HC-08, HM-10, or similar BLE module to communicate with iPhone. For Android projects, HC-05 works perfectly.

Q: What is the difference between HC-05 and HC-06? Which is better?

HC-05 supports both Master and Slave modes and has a full AT command set — it can initiate connections as well as accept them. HC-06 is Slave-only with a simplified AT command set (no AT+ROLE command). For most projects where your phone connects to Arduino, HC-06 is simpler and slightly cheaper. HC-05 is better when you need Arduino-to-Arduino Bluetooth communication (one as Master, one as Slave).

Get Your Bluetooth Project Running Today

Zbotic stocks Bluetooth modules, relay boards, OLED displays, and all the components you need for your Arduino wireless control projects — with fast shipping across India.

Shop Wireless Modules at Zbotic

Tags: Arduino Bluetooth Fix, Bluetooth Arduino, HC-05 AT Commands, HC-05 Bluetooth, HC-05 Not Pairing
Share Post
  • Facebook
  • Linkedin
  • Whatsapp
Autonomous Navigation for Robo...
blog autonomous navigation for robots gps compass pid guide 597534
blog lipo charger not charging diagnosis fix step by step 597541
LiPo Charger Not Charging: Dia...

Related posts

Svg%3E
Read more

ESP-NOW: Direct ESP32-to-ESP32 Communication Without WiFi

April 1, 2026 0
ESP-NOW ESP32 communication is a game-changing protocol developed by Espressif that enables direct peer-to-peer wireless communication between ESP32 boards without... Continue reading
Svg%3E
Read more

SDR Getting Started: HackRF and RTL-SDR Projects India

April 1, 2026 0
Software Defined Radio (SDR) lets you explore the electromagnetic spectrum using your computer, replacing expensive hardware radios with affordable USB... Continue reading
Svg%3E
Read more

Zigbee vs WiFi vs BLE: Choosing the Right Wireless Protocol for IoT

April 1, 2026 0
Choosing between Zigbee vs WiFi vs BLE for your IoT project is one of the most important design decisions you... Continue reading
Svg%3E
Read more

RFID Module Guide: RC522, PN532, and Long-Range UHF Options

April 1, 2026 0
The RFID module RC522 Arduino combination is the starting point for thousands of access control, attendance, and inventory tracking projects... Continue reading
Svg%3E
Read more

RS485 Modbus Communication: Industrial Sensors with Arduino

April 1, 2026 0
RS485 Modbus Arduino interfacing opens the door to industrial-grade sensor communication. Unlike hobbyist I2C or SPI sensors, RS485 Modbus sensors... Continue reading

Add comment Cancel reply

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

Facebook Twitter Instagram Pinterest Linkedin Youtube

Get the latest deals and more.

Download on Google Play Download on the App Store

Call us: 020 69134444 / 1800 209 0998

Monday - Saturday 09:30 AM - 06:00 PM
For Technical Supports Email: [email protected]
For Sales / Enquiries Email: [email protected]

  • My Account

    • Cart

    • Wishlist

    • Checkout

    • My Orders

    • Track Order

    • My Account

  • Information

    • FAQs

    • Blogs

    • Career

    • About Us

    • Contact Us

    • Payment Options

  • Policies

    • Privacy Policy

    • Terms & Conditions

    • GST Input Tax Credit

    • Shipping Return Policy

    • E-Waste Collection Points

    • Our Sitemap

© Zbotic.in is registered trademark of Moxie Supply Pvt Ltd – All Rights Reserved
Login
Use Phone Number
Use Email Address
Not a member yet? Register Now
Reset Password
Use Phone Number
Use Email Address
Register
Already a member? Login Now