Problem with HC-05 bluetooth?????

I’m controlling the arduino with a android app and a HC-05 blue tooth modual. I had this all working at one time and then it just quit. I figured it was a bad HC-05 so I got new ones. I have 5 now and none will work with my set up.

I tried all of them with the setup described here (if there is any merit to this test) and they all check out OK.

  1. Is that test valid?

  2. anyone have an app to blink pin 13 ( real simple little thing to do but I can’t even get that to work)

  3. I’m using Virtuino for the app I made but I’ll go with anything at this point!!!


How can we help when you have not posted your program or your wiring diagram.

If something was working and is not now working then something must have changed and you are best placed to tell us what that is.

Did you upload a new version of the program?

Is there a loose wire somewhere?

What Arduino board are you using?


I’m using an UNO.

Wiring is fine.

Same old program. (Included below) It blinks pin 13 when button is pushed. (button is in the app)

No changes made to setting of HC-05.

I would ask again is this setup a valid way to test the HC-05?

/* Virtuino example No1 (Bluetooth)
 * Example name = "Hello Virtuino World"
 * Created by Ilias Lamprou
 * Updated Jul 01 2016
 * This is the code you need to run on your arduino board to cummunicate whith VirtUino app via bluetooth
 * Before  running this code config the settings below as the instructions on the right
 * Download latest Virtuino android app from the link:
 * Getting starting link:
 * Video tutorial link:
 * Contact address for questions or comments:

/*========= VirtuinoBluetooth Class methods  
*  vPinMode(int pin, int state)                                  set pin as digital OUTPUT or digital INPUT.  (Insteed default pinMode method
*========= Virtuino General methods  
*  void vDigitalMemoryWrite(int digitalMemoryIndex, int value)   write a value to a Virtuino digital memory   (digitalMemoryIndex=0..31, value range = 0 or 1)
*  int  vDigitalMemoryRead(int digitalMemoryIndex)               read  the value of a Virtuino digital memory (digitalMemoryIndex=0..31, returned value range = 0 or 1)
*  void vMemoryWrite(int analogMemoryIndex, float value)         write a value to Virtuino float memory       (memoryIndex=0..31, value range as float value)
*  float vMemoryRead(int analogMemoryIndex)                      read the value of  Virtuino analog memory    (analogMemoryIndex=0..31, returned value range = 0..1023)
*  run()                                                         neccesary command to communicate with Virtuino android app  (on start of void loop)
*  void vDelay(long milliseconds);                               Pauses the program (without block communication) for the amount of time (in miliseconds) specified as parameter
*  int getPinValue(int pin)                                      read the value of a Pin. Usefull for PWM pins

#include "VirtuinoBluetooth.h"                           // Include VirtuinoBluetooth library to your code

// Code to use SoftwareSerial
#include <SoftwareSerial.h>                              //  Disable this line if you want to use hardware serial 
SoftwareSerial bluetoothSerial =  SoftwareSerial(2,3);   // arduino RX pin=2  arduino TX pin=3    connect the arduino RX pin to bluetooth module TX pin   -  connect the arduino TX pin to bluetooth module RX pin.  Disable this line if you want to use hardware serial 
VirtuinoBluetooth virtuino(bluetoothSerial);       // Set SoftwareSerial baud rate.  -  Disable this line if you want to use hardware serial 

// Code to use HardwareSerial
// VirtuinoBluetooth virtuino(Serial1);            // enable this line and disable all SoftwareSerial lines
                                                   // Open VirtuinoBluetooth.h file on the virtuino library folder ->  disable the line: #define BLUETOOTH_USE_SOFTWARE_SERIAL 


//================================================================== setup
void setup(){

  virtuino.DEBUG=true;               // set this value TRUE to enable the serial monitor status
  Serial.begin(9600);                // Set serial monitor baud rate
  bluetoothSerial.begin(9600);         // Disable this line if you want to use software serial (Mega, DUE etc.)
  //Serial1.begin(9600);               // Enable this line if you want to use hardware serial (Mega, DUE etc.)
  // Use virtuino.vPinMode instead default pinMode method for digital input or digital output pins.
    virtuino.vPinMode(13,OUTPUT);                               // Don't use vPinMode for PWM pins, or pins that their values change many times per second
                                                                // Every time the value of a vPinMode  pin is changed the virtuino library sends a message and inform virtuino about the pin value.
                                                                // If an PWM pin is declared as vPinMode pin the arduino will continuously try  to send data to android device because the value of a pwm pin changes constantly  
//------ enter your setup code below


//================================================================== loop

void loop(){;           //  necessary command to communicate with Virtuino android app
    //------ enter your loop code below here
    //------ avoid to use delay() function in your code. Use the command virtuino.vDelay() instead of delay()
    //------ your code .....

   // in this "Hello Virtuino World" example you don't have to add any code 



The answer is No, I don't think the "test" is the slightest bit valid and, since you haven't the faintest idea of what you are doing, it is probably making a bad situation worse. I have no idea what a Virtuino might be but, since you are ready to try anything, you might find the following background notes useful.

maybe even more useful than trying to blink a LED. You say the wiring is fine but it probably isn't, so check it again.

I'm using an UNO.

Wiring is fine.

Same old program. (Included below) It blinks pin 13 when button is pushed. (button is in the app)

No changes made to setting of HC-05.

On what date (approximately) was the system last working?

Have all the parts remained completely untouched between that date and the recent occasion when it did not work?

Where were they kept?


Thanks to both of you. Last this was working was probably Sept. I had issues with wires breaking as I tried to solder into a connector for sensor wires. I got a bigger connector and restarted the process. Long story short - 3rd time is a charm and that is where I am now.

I should have read instructions in the program closer:

SoftwareSerial bluetoothSerial = SoftwareSerial(2,3); // arduino RX pin=2 arduino TX pin=3 connect the arduino RX pin to bluetooth module TX pin - connect the arduino TX pin to bluetooth module RX pin.

Thanks Nick - as soon as I read this it all made sense!!!! Then I read instructions in program!

    This is all about using the standard hardware serial protocol, usually using pins D0 and D1
    on the Arduino, which are clearly marked for the purpose. Pin D0, Rx, is the receiver and
    therefore connected to the Tx pin on Bluetooth. This means D1 is connected to Rx on
    Bluetooth. Needless to say, this wiring has nothing to do with the wireless transmission, so
    the setup is Arduino transmits along a wire from its Tx connector, and Bluetooth
    receives the signal at its Rx connector – hence the arrows! Read what is written by the

Must have been dumb luck or I read better long ago - and just thought I knew what I was doing as time went on. Just needed to switch RX and TX wires.

It's working now!!!!!!!!!!!!! Thanks a bunch.

I read better long ago -

Quite likely…
Glad it worked