Comments: Using the BlueSMiRF

Pages

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • -------------------- Tech Support Tips/Troubleshooting/Common Issues --------------------

    Setting the Bluetooth as an HID device

    Assuming that the bluetooth module has a firmware of v6.15 and above, you can set the device as an HID. You just need to go into command mode, set the profile, and reboot the device (pg 60 of the datasheet - http://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/bluetooth_cr_UG-v1.0r.pdf ):

    $$$
    S~,6
    R,1
    

    Basic Test Sending ASCII Characters between RN-41 to Mac iOS X

    1.) Connect RN-41 (populated on Bluetooth Mate or BlueSMiRF) to an Arduino uploaded with the "Bluetooth Serial Passthrough Sketch" https://learn.sparkfun.com/tutorials/using-the-bluesmirf/example-code-using-command-mode .

    2.) Open the serial monitor associated with the Arduino microcontroller after the code is uploaded.

    3.) Download CoolTerm

    4.) Connect your Mac's bluetooth (assuming that the computer's compatible with the bluetooth protocol version 1.1, 1.2, and 2.0/2.1 ) using the "Bluetooth Setup Assistant." Select the bluetooth device ID that is associated with the RN-41 .

    5.) Most likely it will not connect with the passcode so you need to use a specific passcode for the Roving Networks bluetooth module. Click on "the Passcode Options...".

    6.) "Select the Use a specific passcode:"

    7.) Type "1234" in the field. This is the default passcode pin as stated on page 69 of the user manual.

    8.) Click on "Ok".

    9.) Click on Continue in the "Bluetooth Setup Assistant" to connect.

    10.) You will have a 60 second window to connect your serial terminal to the bluetooth. Make sure that the setting is connected to the RN-41's enumerated COM port (set to 9600, 8-none-1-none). Otherwise, you will need to reconnect to the RN-41 again after step 3.

    11.) The green "STAT" LED should light up when the bluetooth is connected to the Mac's bluetooth. This is assuming that the bluetooths are using the same bluetooth protocol.

    12.). Send a character using the keyboard through the serial terminal should echo back on the Arduino's serial monitor and vice versa.

    Resources for Mac iOS and Bluetooth Connection

    To connect to the RN-42 to an iOS check out this tutorial => http://samirlovgren.se/?page_id=1299. Looks like others have used the same settings => http://stackoverflow.com/questions/16969633/apple-mfi-bluetooth-using-rn-42-from-roving-networks

    Check this forum for connecting a BlueSMiRF Gold ( RN-41 ) to a Max iOS X with a bluetooth => https://forum.sparkfun.com/viewtopic.php?f=13&t=20344&p=97668

    There is a project that use the RN-41 and RN-42 in a few of these books that might be of some use:

    Make:Arduino Bots and Gadgets https://www.sparkfun.com/products/10626

    Practical Arduino https://www.sparkfun.com/products/9613

    Factory Reset the RN-41 or RN-42

    You can try to reset the bluetooth to its default settings if there is problems keeping the connection and sending serial data through the Bluetooth module. The "RN-41 AT Command Set v6.15" manual from the manufacturer should explain this for the RN-41 and RN-42. To reset the bluetooth to its factory settings:

    Bluetooth Factory Soft Reset

    You could connect to it using an FTDI. By setting the baud of the serial terminal to the baud rate of the bluetooth, you should be able to connect to the FTDI and go into command mode to change the settings. You would need to use the "S~,0" AT command to enable the SPP profile and power cycle the board to get back into command mode. There is also an AT command mode to factory reset the board as stated in the datasheet.

    Bluetooth Factory Hard Reset

    Following this method should reset all the settings to the factory defaults except for the Bluetooth's name if something happened which caused the Bluetooth to brick. It should still be the same procedure as the old firmware that was on the Bluetooths.

    Resetting the Bluetooth (based on page 11 of the manual)

    1. You need to place a jumper between 3.3V and the PIO4 to arm the reset function when the bluetooth is not powered.
    2. Then by turning on the bluetooth, the status LED will flash a few times.indicating that the rest is armed.
    3. Toggle the PIO4 pin around 3-4 times with the jumper wire by touching the pin and not touching it back and forth to reset the module. I didn't have that many hands so I was using 3.3V from an Arduino so that I can apply it to the PIO4 pin when resetting the bluetooth.
    4. Power cycle the bluetooth before the new settings take effect.

  • Member #1565573 / about 4 years ago / 1

    I realize that this tutorial is a bit old, but I am trying to follow it verbatim and am having issues at the "Using GET Commands" Step. I am able to set it into command mode from the Arduino Serial Monitor by typing in the '$$$' command, but the monitor doesn't return a response from the module. Wiring is very simple and I have checked it several times to make sure Rx and Tx pins are mapped properly. I am using an Arduino Leonardo. Any reason why the monitor will not return any values? Thanks for the help.

    • santaimpersonator / about 4 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.

  • Member #371581 / about 8 years ago / 1

    I'm using two BlueSmirfs to connect my Photon Weather Shield to a serial LCD. Whenever power is lost to either unit, the connection drops and I have to restore it manually using my PC. Is there some way to programmatically do this from the code running on the Photon? So if the connection is lost, it will be restored automatically when power is restored?

    There seems to be a smiliar question above but it doesn't look like it was really addressed.

  • Member #394280 / about 8 years ago * / 1

    I have a blueSmirf that (apparently) has a config timer that is always run out. When I plug it in the led blinks slowly, indicating timer has run out. Cycling power does not change the blink rate. Any way to fix this? I am using a Leonardo with RX and TX on D 10 and D11.

  • Member #394280 / about 8 years ago / 1

    I am having trouble with connecting. I can us "I" to see what is around. Found my phone. Tried to connect to phone with C, <address> and the terminal reported "err" - not "trying" or "connection failed". Is there some setting or something else I can check? And, yes, I am sure the address was correct including no <>.

    Thanks

  • Member #723106 / about 8 years ago / 1

    Hi, I am having some problems entering in the setup mode: When I write the $$$ comand the red led starts blinking as I expect but I don´t recieve any feedback from the Serial Monitor. Can someone help me, please?

    • Member #772662 / about 8 years ago / 2

      Just ran into this. If you are using a board aside from the Uno, software serial may not be available on pins 2 and 3. If your using a mega use 10 and 11. If not see the arduino website for usable software serial pins.

  • Member #752085 / about 8 years ago * / 1

    I somehow cant enter command mode again with my RN-42. It literally does nothing in my console when i type $$$ or whatsoever. Even from uploading the Sketch the RN doesn't co CMD Mode. It worked when i first did it, but now i cant see it anymore neither get any infos from it or onto it.

    Help?

    UPDATE I used another port now and it send me this:

    "CMD �No Remote Address!"

  • Member #13902 / about 8 years ago / 1

    I have an application where this board will be inside a metal box, unavoidably. Would it be possible to remote the chip antenna, by un-soldering it and extending it with wires, say 6" or so through a hole in the box? Has anyone played around with remoting bluetooth antennae?

  • Member #216075 / about 9 years ago / 1

    Suppose you're wiring the BlueSMiRF (or, more precisely, an RN-42) directly to a serial pair, and there's no computer on the serial pair--just a weather station, for example, or a camera with a serial port for PTZ. There's no way to configure the RN-42 from the serial port side (and, obviously, until it connects, there's no way to configure it from the BlueTooth side, either.) There are four GPIO inputs that set the RN-42's power-up mode. Anyone get these to work in Auto-Master mode? So it automatically goes into pairing mode until its first connect, and after that automatically tries to connect to the saved MAC address of the other side? Just like, for example, your bluetooth phone earpiece?

  • Member #278207 / about 9 years ago / 1

    Regarding BlueSmirf setup guide: If the user is connecting bluesmirf via the protoboard provided by sparkfun (DEV-07914) and attempts to use software serial as in this example, changing the TX and RX to digital pins 0 and 1 the bluetooth module interferes with serial communication and gibberish is obtained. The tutorial should specify that digital pins 0 and 1 are reserved for serial communication and if bluesmirf is connected to those pins software serial is not needed and the example code can be simplified

  • Member #529429 / about 10 years ago / 1

    I'm having a difficult time getting this to work. It keeps saying the com5 port is already in use. why does it say this?

  • wasted / about 10 years ago / 1

    Hey guys,

    I don't know if this is the right place to ask, but here it goes. When you have a RN42 module in slave mode connected to some other bluetooth module is any method to retrieve the MAC or BTname of the connected device.

    For example, I have a bluetooth device in slave mode another module gets in range and connects to my module (pairing was done before hand), how can I retrive its MAC.

    Thanks for your tutorials, you guys rock.


If you've found an issue with this tutorial content, please send us your feedback!