SparkFun Forums 

Where electronics enthusiasts find answers.

All things pertaining to wireless and RF links
By feralgunman
#192162
Hi there,

Hoping someone can give me some assistance, though my search of the issue here only lead to a lot of single posts with no replies for other questions of this type--though not the same issue.

Basic setup/purpose:

I'm trying to control an Arduino Pro Micro over a bluetooth serial link.

What's wrong:

I can connect to the bluetooth module with teraterm on a PC/blueterm on an Android phone. Full 2 way communication. $$$ throws it into configuration mode.

When not in configuration mode, I can run the sample sketch, which (is supposed to) mirrors anything on bluetooth terminal to the USB/serial monitor and vice versa.

I can type anything I want on the USB/serial monitor side of things and it'll show up on the bluetooth terminal as received.

If I type anything in the bluetooth terminal, it does not show up, nor does it seem to ever be received by the arduino.

What I've done:

I started with cheap HC-06 bluetooth modules from elsewhere. Bought one, had this same issue, bought another assuming it was faulty... same issue again. I even found a page with a solution to the problem I was experiencing, but it did not solve my issue.

I decided to pay the extra couple dollars for a Sparkfun branded module, expecting different results. Similar pin-out: vcc, gnd, tx and rx.

Same exact problem.

With the current attempt, using the Bluesmirf from Sparkfun, I'm running their example code: https://learn.sparkfun.com/tutorials/us ... esmirf/all

With the previous HC-06 modules, I was running very similar code, in each instance using SoftwareSerial.h to move the bluetooth devices off of pins 0, 1, to 2, 3 (or even other pins, but still no joy).

I have reconfigured the speeds the various bluetooth modules have connected at all down to 9600, to avoid issues with software serial, though that also did not produce any joy. I've modified my code as needed for this change:
Code: Select all
void setup()
{
  Serial.begin(9600);  // Begin the serial monitor at 9600bps
  bluetooth.begin(9600);  // Begin bluetooth serial connection at 9600bps
}
I have tried a different Arduino Pro Micro, no change.

I have tried swapping the pins for RX and TX (yes, I know they're cross connected) to see if perhaps something was amiss with some of the digital pins on my model arduino. I can still send from the USB/serial monitor to bluetooth, but can not send from bluetooth to the arduino.

I added a link to print to the USB/serial monitor terminal if anything was received, but never had that fire off:
Code: Select all
  if(bluetooth.available())  // If the bluetooth sent any characters
  {
    // Send any characters the bluetooth prints to the serial monitor
    Serial.print((char)bluetooth.read());  
    Serial.println("Data received finally!");
  }
The indicator LEDs all behave as expected. Solid green when my BT terminal is connected. Red flashes quickly when in programming mode, etc.

Solder points all test out for continuity, as does connection across my prototyping board to the actual pins on the arduino I'm trying to connect to.

I'm certain in the last few weeks of fighting with this off and on I've tried other things as well that aren't coming to mind right now.

Any suggestions would be very much appreciated!