Replacement:WRL-10268. The latest revision of this board breaks out the PIO4 pin and has a minor effect on the PCB size. This page is for reference only.
The BlueSMiRF is the latest Bluetooth****wireless serial cable replacement from SparkFun Electronics! These modems work as a serial (RX/TX) pipe. Any serial stream from 9600 to 115200bps can be passed seamlessly from your computer to your target. We've tested these units successfully over open air at 350ft (106m)!
The remote unit can be powered from 3.3V up to 6V for easy battery attachment. All signal pins on the remote unit are 3V-6V tolerant. No level shifting is required. Do not attach this device directly to a serial port. You will need an RS232 to TTL converter circuit if you need to attach this to a computer.
Unit comes without a connector. Please see related male and female pins below.
Note: This is an older rev that doesn't break out the PIO4 pin. We have a few in stock so we're selling them at a reduced price for a limited time. Get them while you can!
® module datasheet](http://www.rovingnetworks.com/documents/RN-41.pdf)
* Check out our Bluetooth Tutorial * Wiring Example * Connecting to a SSC-32 Robot
This is a single unit only. We recommend the purchase a USB dongle to interface to a computer if you do not already have access to a computer with Bluetooth connectivity.
No reviews yet.
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.
Log in or register to post comments.
There are two versions of this BlueSMiRF v1 with different versions. You can see the difference by looking at the ceramic antenna on the end of the board and the modem itself.
The datasheet for the old WML-C40AH modem manufactured by BlueRadio can be found here:
WML-C40AH Modem Datasheet - http://www.seekdatasheets.com/datasheet/WML-C40AH/pdf/196754.html BlueSMiRF v1 https://www.sparkfun.com/datasheets/RF/BlueSMiRF_v1.pdf BlueSMiRF v1 Revision 2- https://www.sparkfun.com/datasheets/Wireless/Bluetooth/BlueSMiRF-v1_1_rev2.PDF
The AT Command set for the old WML-C40AH modem can be found here => https://www.sparkfun.com/datasheets/RF/BlueRadios_AT_Commands_Rev_220.127.116.11.0.pdf.
Besides the tutorial listed above, here is an additional one => http://inst.eecs.berkeley.edu/~ee192/sp13/pdf/abe_setup_bluesmirf.pdf. Also, here is the old tutorial that was posted by James Frye => http://www.lynxmotion.com/images/html/build117.htm.
The retired Bluetooth DIP Module - Mitsumi also used the WML-C40AH modem on the breakout board => https://www.sparkfun.com/products/retired/148 .
We found the BlueSMiRF after using Ambers BlueNiceComIII module in our first generation Bluetooth enabled amateur radio control products. The BlueSMiRF is easier to setup and is much more capable. It is great for the hobbiest that wants to experiment with Bluetooth technology. Our next generation of kits and completed products are based on the BlueSMiRF and will be available shortly. See http://www.lynovation.com for more information.
If you're getting this, consider if you will also need some pins, such as the 6 Pin Right Angle Male SMD Header (PRT-09015). Think about how you plan on connecting this so you order all the stuff you need.
After soldering pins to the BlueSMiRF I had this unit paired with and talking to the Mac in a matter of minutes. So far very easy to use - and if it provides a true serial port like experience (like other commenters confirm) I'll be looking at a BT bootloader (PIC 18F2550). The reference doc contains the unit's default settings and I was able to connect/control the first time with the screen command:
$ screen /dev/tty.FireFly 115200
Will be replacing screen soon with the bootloader/project control software; drop me a note if you want a Mac command line app to talk to this unit over the BT wireless link.
Great device! Impressed!
I use the low power Bluesmirf on my Mac with a modified Arduino bootloader on a MEGA168 with no problems. Yes, there is a latency, your bootloader should be able to deal with it. I use Zterm or the Arduino IDE to talk back and forth via the virtual serial port connection.
This is a great device.
To use the BlueSMiRF with the mac, pop open a terminal, and use the 'screen' command. Do a 'man screen' if you need help.
My question is, I am trying to do wireless MCU programming, but there seems to be some latency that is tripping this up with the BlueSMiRF. I was told that the only way to accomplish this is to have an unencrypted full-duplex bi-directional connection. Is there any way to setup this sort of connection with this product?
I am already an owner of this product, and have used it successfully for regular UART RX/TX, but can not seem to get it to work for wireless programming.
This is a great product, but if you want to get it started, Do not use Hyperterm - it does not seem to work on all systems.
Instead, use the free Teraterm terminal program from
After using that, everything worked great.
Coolterm is another alternative to Hyperterminal.
Where do I get this online ???
Is it possible to power the BlueSMiRF using an I/O pin of the arduino pro mini? (In my project, I must have a very low power sleep mode while I do not need bluetooth in sleep mode) The pro mini wakes up using an external interrupt on d2.
I was thinking of wiring the VCC of the BlueSMiRF to an I/O so that I can enable/disable the module when coming out of sleep/going into sleep mode.
Last time I looked, the BT module used between 60 and 80mA, which is more than an I/O pin can generally provide. You could have a transistor turn it on and off, but the module does have deep sleep modes you can enter via command (see the datasheet). Also take a look at the fully broken-out version; being able to get at all the pins may help you achieve lower-power operation.
Roving Networks Bluetooth® module datasheet link seems to be down!
Is there a way to remove the "Pairing Code" so I don't have to retype it every time I try to connect to the unit?
what are the cts and rts pins for?
I have recently received the BlueSmirf from SparkFun. I am able to pair the device with a computer having bluetooth. I have an oscilloscope connected at TX and RX of the device, to detect the signal transmitted.. The problem is that even though the device shows a green light, I am not able to transmit any data and see anything on the scope.
I am planning on connecting it to arduino over 9600 bps.
Help would be appreciated.
I'm really in doubt about this "range" thing: is it enough for one of the bluetooth devices communicating to have a long range, or should both or them have a long range for the communication to work at a considerable distance (i.e. 350ft)?
They must both have long ranges. The range tells you how far the device can transmit and you need data going both ways. You can't have one setup as just a receiver and one set up as just a transmitter.
I believe the length dimension listed is wrong :)
is it possible for me to get a sample of your bluesmirf wrl-00582 gold.pls reply soon.i m in a pathetic situation.
Unfortunately, we do not currently offer samples of products.
I'm wondering if by using one of theses units one could connect an android phone using a custom app (say processing-made) to remote control the arduino?
My Planet Express Team used this Bluesmirf module this year for the Sparkfun AVC competiton.
I've created a demo app which shows how connect an Android phone to an Arduino with the Bluesmirf module. The demo can control an led and read a potentiometer. It should work with Android 2.0 (ecliar) and above.
Here is the demo.
FYI, if you use Windows 7 BT manager and it prompts you for a pairing code. Try 1234 first.
I am using this BlueSMiRF module and trying to discover it from my HTC myTouch-4G android phone but it is not visible to phone. I tried other android phones and it becomes visible to them as soon as I power it up. My phone uses Bluetooth 2.1 EDR while this device uses 2.0 which shouldn't be a problem as 2.1 should be backward compatible. Can any body help me on why this is not visible to my phone?
hi, <br />
i've been unable to change my baud rate, I've powered up the device, and paired it to my PC, and used HyperTerminal and also LynxTerm and got connected (green light), but cant enter command mode during the first 60sec.<br />
by default the baud rate should be 115000, but when i check the settings for the bluetooth device it shows 9600, so i changed it from Device manager and tried again but still nothing.<br />
since i cant enter the command mode im unable to change the baud rate or do any settings. <br />
any idea guys???
Hi, I had the same problems as you. AT-commands doesnt work for me?!
-Power up BlueSmirf
-Make connection through your Terminal (I used SimpleTerm Gold trial version) and get the green led
-Type "$$$" before 60 secs from the power up, and it should respond with "CMD" and the red LED will flash
-Type "H" -> Set commands
-Type "SU,57600" -> to change the baudrate and respond "AOK"
-Type "D" -> Display settings to see the new baudrate.
-Reboot the BlueSmirf to make the change happen.
Is it possible to directly connect to an Arduino Pro, Pro Mini, or LilyPad Mainboard ?<br />
(like Bluetooth Mate which has the same pin out as the FTDI Basic)
Darn. I got a bad unit, three of the pins didnt get soldered... and cant get it to TX. Already sent mail to technical support with photos but so far no answer trough mail.
Great, i've been contacted by sparkfun staff. Seems everything will be ok.
Is it possible to have two BlueSMiRFs connected to computer (to have two wireless rs232 links) at the same time?
Yeah absolutely. The USB enabled dongle is probably more suited for something like that:
The regular bluesmirf will need a MAX232 between it and the DB9 of a computer.
This little thing looks to be exactly what I'm looking for. I am in the preplanning stage for a MegaSquirt DIY EFI unit, and I'd like to use BlueTooth instead of the stock RS-232 port.
My only concern is the fact that this unit would be housed in a sealed aluminum case. What is this going to do to the range? I could live with even a few feet (this is going to be on a motorcycle), but longer range would be nice too. This is the link for the case - http://www.lmbheeger.com/products.asp?catid=68
I have one of these and its working great. By default it's configure for SPP (serial port protocol) service. I would like to pair this up with a GPS and use it as a real time GPS-blueooth module. Does any1 know how to configure it so it appear to be a GPS-blueooth module to computers/handheld devices?
Great product! My first bluetooth wireless project and this module works out of the box like a charm. Did not have to worry about anything apart from brewing the late night coffee. Just had to make sure to connect the RTS and CTS pins (or short them together) as the default is in hardware control mode (my arduino was programmed for no hardware control). HyperTerm is a bit weird as I had to use '$$$$$$' instead of '$$$' to get it in command mode, but after that things worked out fine. Bought the mini-bluetooth dongle with this module and love it!
Took me ages to set up this little monster with Arduino (snow leopard, max os x). Wrote a tutorial for those with mac:
The BlueSMiRF Gold in the stock has the 4.77 firmware version now? Does anybody can answer it?
I lost two days to a stupid error which I thought I'd share, in the hopes that no one else need do the same thing.
Punchline - 115 kBaud does not equal 115000 baud, it equals 115200 baud.
When connecting to the BlueSmirf & a USB -> Serial adapter (to test wireless communications) use screen as so:
$> screen /dev/tty.usbserial-A0blahblah 115200
$> screen /dev/tty.FireFly-blahblah 115200
Using 115000 instead of 115200 will make things appear to work, but no communication.
I see this does not have the DTR pin to use with Arduinos for auto reset. But can I somehow use the RTS or CTS pin?
With my own "hex uploader" I can tell it to use the RTS pin to reset instead of the DTR pin so I should be able to remotely program any Arduino with this. If anyone need this feature just tell me and I might share it.
if i understood you right, you found a way to reprogram the any arduino via bluesmirf module? i would be very interested to learn how this works!
Hey, any chance of releasing the eagle files? Since I'm just about to buy the smd module (waited too much for this to came to stock) and I want hookup this with an arduino.
I received a blueSMiRF as a gift and bought the bluetooth dongle from SparkFun. I loaded the BlueSoleii software but would never connect to the blueSMiRF. I uninstalled the BlueSoleii, plugged in the bluetooth dongle and seem to be connecting now with only XP drivers. When I first power up the blueSMiRF there is a red 'stat' light which blinks fast for about a minute and then slows to about 1 per second. My Bluetooth Devices screen says I have FireFly outgoing 'SPP' on COM8 and FireFly incomming on COM10. Using HyperTerminal, no combination of $$$ or +++ has resulted in a reply. Can't connect COM 8 either.
Greetings, I wonder If I can connect a mobile phone using this unit, I mean, send data thought the unit to the mobile
I have done this using a nokia series 60 smartphone running python scripting language, where the phone is the master and BlueSMirf slave. This configuration enables the phone to query the BlueSMirf module, which I have connected to an ATtiny2313 microcontroller. Python is great for programming Bluetooth applications, much easier than Java or C.
Can this connect directly to my laptops bluetooth module and work in hyper terminal, or do I need 2 of these units? Does it use the standard bluetooth stack?
Unless you have some tricky code, it's difficult or impossible to use this with another one. You have to use a computer.
After many failed attempts, succeeded in pairing two of these together by setting the master to auto-connect to a stored remote address (i programmed in the address of the slave) and configuring the other modem as a slave. However, now on power up they auto-connect and i can no longer connect through my Mac to the master to reconfigure it. Tried reprogramming the slave to perform a role switch and force the master to become a slave so i could reconfigure the master, didnt work.
Anyone face something like this? Or at least know of a way to factory reset without damaging the modem. If it matters im using my Macs bluetooth connection and the terminal to program both units.
When the unit is in Auto mode, you can access Command mode using a serial port connection. Don't try to connect to it over Bluetooth from a computer; in Auto mode, the device is a master and won't respond.
Having them hook up automatically is not difficult. Set one to Auto mode and store the address of the second unit using the menu. This makes for a solid data pipeline between the two.
Does this modem only work with Serial Port profile? Can I not say connect it to a J2ME application on a cellphone? Or use it in any other profile with a computer?
I have the same question I guess. Send instructions with a J2ME app to the unit. Have you found out if its possible?
thanks for the reply. to avoid cluttering this page, continue discussion here: http://forum.sparkfun.com/viewtopic.php?t=15999
got one of these recently. works fine out of the box. default to 9600.
tried it with arduino mini - talks fine to the computer.
tried it with FTDI usb-serial adapter - works fine too. i use one terminal program to connect to the usb end; another one to the bluetooth serial port. they can talk back and forth.
HOWEVER... i've been battling to get the thing into CONFIG mode - tried sending "$$$" to it... no response. (it does however push the data through to the other end) - so I can receive the $$$ on the other end of the connection... but I can't seem to config the device itself.
Any suggestions? thanks in advance.
There is a 'config timer' on these Bluetooth modules. Usually it is set at, say, 60. This means that there is a window of opportunity at which to send the $$$ command of 60 seconds from power-up/reset. After this time the unit ignores the $$$ command.
Turn off the device (remove power), then turn it on, and quickly send the $$$ command (i.e. within, say, 30 seconds). If successful, you should see 'CMD'.
From here you can increase the 'config timer' value if required.
Alternatively, if this doesn't work - reset the device to factory default - this will reset the config timer to a suitable length of time (~60).
It says not to connect this directly to a serial port. Is the 12 volts too much, and is that the only issue?
There are several differences between the UART provided in many devices and an RS-232 port (computer serial port). http://en.wikipedia.org/wiki/RS232 is useful, but in addition to voltage levels being different as you mention, RS232 uses a negative voltage for a logic 1, and a positive for logic 0. The link in the article to the TTL UART (embedded device) -> RS232 converter is incorrect and takes you to the beginning embedded electronics tutorial. But if you get PRT-00133 or comparable (search for rs232 shifter comes up with a couple) - you can put that in between the device and the computer and you should be all set.
Is there a way to connect this module with a MAC OS? I'm trying using an SPP connection over minicom but I have not answer from the module.
I use 2 of these plus a Lantronix Xport ( $50 from http://www.semiconductorstore.com/ ) for controlling my Robot wirelessly from my Linux workstation ( Ethernet-_Serial-_Wireless-_Serial ). These modems are incredibly easy to use. Truly a "wireless RS232" pipe. Very pleased. The USB-Dongle + SW I thought was garbage, but using 2 of the BlueSMiRFs to talk to each other has worked out great. My only recommendation would be for Sparkfun to sell them as sets of 2, preconfigured for creating a wireless link to each other.