I have an Arduino Uno. Pins 2 and 3 are connected to pins UART_TX and UART_RX, respectively, on a bluetooth SMD module. I have the following sketch running on the Uno.

#include <NewSoftSerial.h>

NewSoftSerial bluetooth(2, 3);
byte b;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);   // opens serial port, sets data rate to 9600 bps
  //enter command mode
  Serial.println("setup complete.");

void loop() {
  // if theres data from the bluetooth module
  if (bluetooth.available()) {
    //echo it to the serial monitor
    Serial.print("bt module said:");
  //if theres data from the serial monitor
  if (Serial.available()>0) {
    //echo it back to the serial monitor
    Serial.print("serial said:");

    //send it to the bluetooth module

I see the following on the serial monitor.

setup complete.

I expected to see

setup complete.
bt module said:C
bt module said:M
bt module said:D

Why am I not getting a response from the bluetooth module? Am I using NewSoftSerial incorrectly? Is the bluetooth module wired backwards? Are there examples communicating with a bluetooth module from an Arduino board?

  • \$\begingroup\$ have you tried "NewSoftSerial bluetooth(3, 2);" ? \$\endgroup\$
    – vicatcu
    Commented Apr 14, 2011 at 3:54
  • \$\begingroup\$ @vicatcu I did try swapping them, same results, though for different reasons most likely. \$\endgroup\$ Commented Apr 14, 2011 at 18:10

1 Answer 1


Did you see in the datasheet page 5 that you need some resistors on the RX line in the note "R1, R2 required if MCU logic=5V" the maximum rating on inputs to the devide is 3.4V. It's not inconceivable you fried the receiver... the Arduino is a 5V logic device.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.