Arduino & Bluetooth Troubleshooting

The bluetooth module has a PIN protection

The bluetooth module seems not to transfer any data

      • If the red LED blinks, you’re not connected
      • Make sure there is absolutely no data transfer with the bluetooth console
      • You can use Arduino’s Serial monitor to test if the Arduino is responding to BT inputs
      • RX goes to TX and vice versa. If the LED periodically gets weaker, you confused the RX and TX pins.
      • Use the correct baud rate in the Serial.begin() function. For my module, it’s 9600 by default. This guide explains how to check / set the baud rate.

I can’t upload anything to the Arduino

  • Many Arduino boards, including the Uno, use the Serial interface for programming. If your bluetooth module has a connection, it might occupy the Serial interface. You have to disconnect it temporarily. You can also use the SPI interface to program your Arduino. This requires a programmer, such as the USBasp or another Arduino board. Alternativley, you can try using the Software Serial library.

The Arduino seems not to react to BT commands

  • Make sure your checkserial() function is called frequently enough.
  • Check if the Arduino didn’t crash by implementing some kind of heartbeat (such as a blinking LED).
  • You can add these lines to your receiveline function for debugging purposes: 
    Serial.print("name:" + name + "\n");
    Serial.print("value:" + value + "\n");
  • For testing, you can also send “mirror:test” to the Arduino. If you use the Arduino sketch that comes with BTduino, the part after the colon should be sent right back.

The Arduino randomly fails to react to BT commands

  • The concept of BTduino is to use a lot of strings, wich are a hard task for the Arduino. It could have run out of RAM. You can save RAM by making the two buffers smaller (100 characters by default) or you have to lower the complexity of your project or use a more powerful board such as the Arduino Mega or even something like the Raspberry Pi.

The BTduino app seems not to react to BT commands

  • Make sure you add an “\n” character after every line. The Serial.println() command will not work with BTduino.
  • Make sure the App is accepting new events. Tap the menu button and tick “Discover new events”.
  • Check if your command was handled by another event. This might happen if you have multiple events with the same name. Also, if you send “Status:0”, it will recognize “Status” as an integer receiver. If you then send “Status:OK”, it will not be recognized.