Creative Commons images are CC BY-NC-SA 3.0

44.95

added to your
shopping cart

quantity
19 available 19 in stock
44.95 1+ units
40.46 10+ units
35.96 100+ units

Description: The BlueSMiRF HID is essentially the same board as the BlueSMiRF Silver but the populated RN-42 comes loaded with the HID firmware. HID, or "Human Interface Device," is the communication protocol used for computer peripherals such as keyboards, mice and joysticks. This makes the RN-42-HID a simple and powerful tool for creating wireless peripheral devices which can be universally recognized and used without the installation of special drivers. The manual included in the documentation below goes into more detail about the Bluetooth HID profile.

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.

Note: 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.

Specifications:

  • FCC Approved Class 2 Bluetooth Radio Modem
  • Extremely small radio - 0.15x0.6x1.9"
  • Very robust link both in integrity and transmission distance (18m)
  • Hardy frequency hopping scheme - operates in harsh RF environments like WiFi, 802.11g, and Zigbee
  • Encrypted connection
  • Frequency: 2.4~2.524 GHz
  • Operating Voltage: 3.3V-6V
  • Operating Temperature: -40 ~ +70C
  • Built-in antenna

Dimensions: 45x16.6x3.9mm

Documents:

Comments 65 comments

    1. I wired CTS-I to RTS-O because I wasn’t going to use any flow control. Then I gave the board 5V. Found the device with the Windows XP Bluetooth utility in control panel just to see if it was alive. “1234” is the passkey. Cool. Disconnected it.
    2. Using a SparkFun FTDI Basic Breakout, I wired the connections for ground, TX and RX. Opened Hyperterminal. Connected to it at the default 115200. Typed $$$ and CMD appeared, red light flashed fast instead of slowly. Typed “SU,96” to change the baud rate to something my PIC could communicate at. AOK was response.
    3. Wired up a PIC and programmed it to pause 5 seconds, then serially output “Hello World” followed by a return and line feed. Goto start of program.
    4. Restarted, paired, opened Notepad. Pause. “Hello World” CR “Hello World” CR “Hello World.” Success.
      This device will become the transmitter of a transport for a digital audio workstation. Record, undo, play, return-to-zero. Transmit all keyboard shortcuts and macros with hardware buttons. Record guitar and vocals in acoustically good rooms of the house, away from computer noise. Longer range than a wireless keyboard. This is a good product, just read all the stuff. I hope this conceptual framework gives somebody a start.
    • Thank you for this insight, without connecting cts to rts, I could not connect via ftdi (I assumed it was my uart dyslexia) now the module is quickly blinking and talking like it should :)

  • Where are the arduino examples?

  • Any chance you guys could show an example on how to interface this to an Arduino?

    • This device is just plain dumb. People who are looking for a serial cable replacement : DONT BUY THIS. It comes with the HID option set as factory default and your bluetooth will recognize this always as a keyboard and would not install a Serial Port for this. So you wont have any COM port set up to talk to the module, which you need to do to change it from HID to SPP. I was lucky enough to have a RS232 - TTL converter in my lab which I connected from my PC directly to the module and set it to SPP. Another possible way to configure correctly would be to wire the TX of your microcontroller to the RX of this module and send the text below at 115200 baud rate

      $$$ S~,0 R,1

      though I have not tested this!! I got this module as it somehow looked 20bucks cheaper than other alternatives but it cost me 1 week of my time.

      • You want the BlueSMiRF Silver or BlueSMiRF Gold – those are setup to be SPP bluetooth devices. This is the /only/ device on SFE that supports HID profiles, so there is a point to this.

        Personally, I’ve used this to make a bluetooth SNES controller for games and it works perfectly for that. So nyah. :-p

      • The manual says you can send $$$ commands using a terminal to this chip via virtual com port for the bluetooth device, within 60 seconds of power up - pretty scary if you ask me.

  • Hello, is there a way to check whether a device is connected to my BlueSMiRF HID? I’m trying to realize a Bluetooth Presence Detection. I want to trigger events when a smartphone automatically connects to the BlueSMiRF HID. Using the HID profile was the only possibility to enable the automatically connection of an iPhone. Now I just need to check if a device is connected to the module. Unfortunately the module is switching from command mode to data mode when my smartphone is connected. Is there any way to send a status string over the serial port to my Arduino when the connection state is changing? Many thanks in advance for your help.

  • Is there any way to get this working as a MIDI HID? Or are there any other products that could assist with plug-and-play MIDI over bluetooth?

  • Got the device to connect with a pc as a keyboard but no keystrokes get to an app i.e. notepad. Using HID raw reports. but no keystrokes at PC end. Any ideas about what might be happening.

  • hii sir i have bluesmirf silver bluetooth and i configured in arduino uno board but after changes in command it wont b discoverable it cant b seen in my bluetooth devices the red light is on but it cant connect or shown in my bluetooth scan list so how can i do waiting for ur reply

  • Anyone know what could be wrong with my configuration if I’m getting an interrupted signal every five seconds? Everything else is functioning properly and it immediately re-pairs. Here’s how I configured the BlueSMiRF: S~,6 (HID profile) SH,0220 (Mouse) SU,38 (correct baud rate for program 38400) SA,4 (authentication mode, all seem to work fine) SM,6 (Pair)

    Also can’t seem to make the F,1 command work (fast data mode). I have a feeling this might be my problem, but I’m stuck.

  • Hi, I purchased this module (firmware 6.15 if I’m not mistaken) and was unable to keep a steady link to my Mac, having it setup as Mouse (SH,0220), it would start communicating correctly, but at around 7 seconds would stop communicating, as if the link went down, but it showed as it was still up.

    I tried a couple of different settings and ended up setting the timer to 0 with ST,0 and Trigger Mode with SM,2 . Well, this didn’t work either, but now I was unable to change the settings as the timer was set to 0. But at the time I din’t worry because I could always use PIO4 to make a factory reset.

    Well, this is where I’m stuck right now, seems like PIO4 isn’t working for me, I tried starting PIO4 High and then low-high several times. Once I power it, it blinks really fast, but I can’t be sure if it is 2 or 3 times, seems like 3 times. According to the manual this should trigger the Factory Reset and now I would only need to go low-high-low-high and it would Factory Reset the module and I would just need to power-down and use it again with the default settings and start-over. But this isn’t working.

    I was wondering if someone could help me out on this.

    Thanks for the time.

    • SM,6 is what worked for me, but I get a signal drop (it then reacquires), every 5 seconds. Did you see this about a factory reset? https://www.youtube.com/watch?v=PU4TMeQSvWw

      I’m probably going to need to do this too since I’ve now locked myself in Even Parity and can’t get back to CMD mode. I’d be curious if you solved your issue.

  • Trying to get a serial msr to transmit to pc, got it to send something, “FFFFF”, have read manual over but cant figure out what i’m missing, hardware or settings…

  • Can’t make sense of toggling the virtual keyboard in the Users Manual. Does anyone have some code they could share? Looking to build a bluetooth barcode reader with an Arduino so I need to be able to toggle the keyboard. I can currently scan barcodes into the iPhone via HID but I can’t get the keyboard to toggle for the life of me!

  • I will say that I bought two of these a year ago and they now collect dust after many failed attempts to get them working. I would not expect to be able to create your own hid device with these. The manuals roving networks supplies are like reading hieroglyphics. They don’t give any examples anywhere on how to setup custom descriptors. You won’t find any tutorials on using them unless you want to use the factory setting of “wireless keyboard”. I think Sparkfun should supply tutorials for products like these if they are going to sell them. But from what I’ve seen of the USB hid stuff is, people just expect you to copy and past other people’s vague interpretations of HID tables. So unless you are going to become a HID/USB guru over the course of years, find something else. these boards offer very little in simplifying anything. It’s a shame.

  • Can the D+/D- of a USB device send data through the TX/RX pins of this device? I ask because the RN-42 has dedicated USB D+/D- pins that are not broken out. My project is to make a USB game controller into a wireless Bluetooth game controller.

  • For you that have problems with this module, I wrote a arduino library for the communication between this module and a arduino leonardo.. Try it out here: https://github.com/baselsw/BPLib

    //Basel

    • What is pin 7 connected to and why do you bring it low? (in the lib object creation). How do you load the program while using Serial port for the modem output? Also How does this lib compile when it uses Serial1.write but the SoftwareSerial object is not declared? (Unless it is a mega)

  • Hi,

    Good module but it seems to disconnect and never keep the connexion to my computer, I saw a few settings in the manual I’d like to activate but I can’t get to the config mode. ( also oddly I don’t have any PIN code on my unit )

    I tried what @ElectronicsNerd suggested to get to the config of the bluetooth module I’ve been using my lilypad FTDI to try to configure it but it won’t communicate as the FTDI is detected but using goSerial on Mac OS X doesn’t output anything. Also I’ve tried uploading a sketch to an arduino Uno in the hope of having the sketch configure the bluetooth module but for some reason I think that using Serial.print() doesn’t quite work to get to the config mode. And, I’m speculatingm but I thing that when I turn on the serial monitor the code from the sketch prints out instead of going to the bluetooth module.

    Has anyone been able to configure this module via a sketch or FTDI recently?

    PS : to upload sketches I have to take the bluetooth module offline otherwise I get upload errors.

  • hey i am new to this stuff how does this have only 6 contacts while the RN-42 has 32 how does it work? is it capable of everything the bluetooth module itself is?

    • The 6 (7, really) most important pins for most common use are broken out to pads on this board. This does mean some pins are not broken out, though if you wanted to you could solder to them directly.

      The pins broken out are VDD (VCC through voltage regulator), GND (4 pins total, broken out to 1 pin), UART (4 pins total) and PIO4 (factory reset, broken out further in on the board). So that’s 10 pins already, leaving another 22.

      Since it’s using UART for comms, the SPI (4 pins), PCM (4 pins) and USB* (2 pins) are not broken out. Another 10 down, 12 to go.

      PIO2 and PIO5 are the connection state/status LEDs.
      RESET is generally not needed - if you do, you should probably fix your power supply instead.
      PIO6 is to set as BT master - this runs the HID firmware, so not needed.
      PIO3 is the auto-discovery state - always discoverable, I’d imagine, so not needed.
      PIO7 allows you to override the baud rate to 9600 - again, not needed here.
      6 more pins down, 6 mysterious ones to go.

      PIO8, PIO9, PIO10 and PIO11 are general purpose I/O, but as far as I can understand from the disparate PDF documents some of them toggle behavior under certain circumstances, while all of them could be set as output that you could then control through a data sequence. Not too useful for the HID purpose, and given the UART option probably superfluous.
      4 down, leaves the last 2, the most mysterious of all…

      AIO0 and AIO1 - optional analog inputs, according to the datasheet. And that’s that. No further mention of them made is in the datasheet, the advanced user’s guide, the product brief, or a quick googling about. If you really want to know what they do, try contacting Roving Networks directly. Suffice to say that it looks like you wouldn’t really be using them.

      So, for the most part those 32 pins turn into 7 because a they’re really the same, offer the same functionality through a different standard, are generally not needed, are not needed within the context of a HID device, or are used on the board itself (e.g. the status LEDs).

      • thank you very much that was very helpful I suppose the rest of the circuit is for making the range of power supply possible as it says that normally the RN-42 only takes 3,3 to 3,6 V

        • Yep - one voltage regulator for the TN-42’s power supply requirements, and two MOSFETs used in basic level-shifting circuits.. well, and the LEDs of course :)

    • ok after reading the datasheets another 3 times i think only ground vcc and uart ports are connected can i do everything over uart?

      • Possibly not everything, but within HID context, you should be fine :)

  • I’m having trouble using the BlueSMiRF HID as a mouse. I’ve been able to enter command mode and switch the flag to the Mouse HID profile and have successfully paired with a computer as a mouse. However, I cannot find any documentation on how to send reports for mouse operation. The HID user’s manual only describes keyboard operation.

    I have attempted to use 0xFD, 0x5, 0x2, 0x1, 0x0, 0x0 to press the primary button and 0xFD, 0x5, 0x2, 0x0, 0x0, 0x0 to release.

    Has anyone been able to figure this out?

    • Figured it out

      0xFD, 0x05, 0x02, 0x01, 0x00, 0x00, 0x00 = left mouse button press

      0xFD, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00 = left mouse button release

      Also FYI, if you want it to repair automatically, go into command mode and enter SM,6

  • Just a heads up. I recently got the ‘HID611’ version of this board, and it needs some changes.

    From p3 of the manual it says: “In firmware version 6.10 and higher, the SPP profile is enabled by default” (http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/Bluetooth/RN-HID-User%20Guide-1.1r.pdf) Which is a bummer since people buy this module specifically to use the firmware as a keyboard, not a serial port.

    So you can either set it back to HID mode two ways: 1) using serial ‘$$$’ and entering CMD mode, and send some further commands to change to HID and reboot. This needs to be done each powerup, and is tricky as it’ll only enter CMD mode within a minute of the bluesmirf being powered up. I.e. if you use an arduino, which gets reset, the bluesmirf ignores config requests, and send those strings to your keyboard instead, which is either messy or disastrous depending on your application. 2) Wire from GPIO11 to high. This forced HID on startup, and you don’t need to do any software stuff. Downside is that the board has no breakout for it and you need to solder the tiny wire: http://imgur.com/wLfY7T7

    Hope this helps, Gav.

    • You configure the module by putting it into command mode and sending ASCII commands over a serial port or the Bluetooth link. Once you change the configuration parameters, “they persist until changed or you perform a factory reset”. You enter command mode by opening a terminal emulator and sending the string $$$ to the module. You can connect to the module remotely over Bluetooth or via a computer. When you send $$$ the module returns CMD, indicating that it is in command mode.

      Once put into keyboard hid mode I thought that was it. - PC host recognizes modem as keyboard. (My problem no key strokes get though to apps)

    • I also got the ‘HID611’, when you set hid mode via commands it is persisted between powerups. You dont need to wire anything.

  • The RN-42 HID comes setup as a keyboard by factory default. Is it possible to change the HID mode of the BlueSMiRF HID module to a mouse? I know there’s somethings in their manual you can’t do with this breakout board setup and other things can’t be done outside their factory.

    • Sure it is. You’ll need to get into command mode and then send the “SH” command. Bits 7-4 of that command’s value set the HID descriptor, so send something like “SH,0020” to turn it into a mouse. Check out page 6 of the user’s guide for more info.

  • Hi, I have been trying to use this module and I want to save power when I am not transmitting. Here is the user manual - http://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bluetooth-um.pdf

    Now My requirements are these 1. keep the module connected to my pc 2. transmit “Hello” to pc when a button pin 12 goes high on the arduino, this will happen by button press

    So when I am not transmitting, I want to be able to keep the device in sleep mode. The command for that is SW,8000 However my module is still consuming 25 miliamps when not transmitting. Has anyone tried this?

  • “Using Sparkfun’s Bluetooth Modem – BlueSMiRF HID to interface between an arduino Pro Mini and a desktop Computer as an Human Interface Device (HID).”

    http://www.kobakant.at/DIY/?p=3310

  • I hate to be that guy, but “We recommend the purchase a USB dongle to…” should be “We recommend the purchase of a USB dongle to…” and “Hardy frequency hopping scheme…” should be “Hearty frequency hopping scheme…”

  • Perfect chip! Check out howto on https://github.com/Nepherhotep/doomsday-button . It might be helpful for initial configuration. Also it includes sample codes for working with ATTiny2313

  • Has anyone else been unable to pair this with a PC? I’ve tried numerous configurations (authentication en/dis, all modes, etc.) and this thing will not pair with 2 popular BT modules I’ve tried. It never asks me to enter a pass code, it just fails and there’s no place for me to disable asking for one or pre-enter one in the software for either of my adapters.

  • Can I use this Bluetooth Modem to connect to a PS3 controller? I know a PS3 controller is an HID device.

    Thanks!

  • As a previous poster noted, it’s worth emphasizing that Sparkfun’s “Bluetooth Modem - BlueSMiRF” products have a different pinout from the “Bluetooth Mate” products, even though they look similar and have the same number of pins. I got caught out by that one…

  • Would this work as the BT modem for my custom android game pad? Using arduino to make the game pad and wanting to interface it with my phone as a Keyboard.

  • Did the header pinout for this device change? The pinout picture here matches the BlueSMiRF header on the Arduino Protoshield, but the actual device (shipped 2-10-2012) has a different pinout.

    • Scratch this one. I think I found my answer. Looks like a package labeling error. FYI: The BlueSMiRF and Mate modems have different header pinouts.

  • Here is the update manual, its much more useful. Also read the Advanced Guide

    http://www.rovingnetworks.com/files/resources/RN-HID-User-Guide-v1.0r.pdf

    http://www.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bluetooth-um.pdf

    • They moved the new manual, I found it after some searching:p http://www.rovingnetworks.com/resources/download/120/HID_User_Manual

  • This site appears to have all the documentation for the module shown in the picture.

  • I don’t get why this is ~$5 more for a firmware difference? Unless there is more than just a firmware difference? I’m looking at making a bluetooth controller to use with my Android phone, altho If I get bored of that I’d probably like to reuse it for other things that I’d have to communicate over bluetooth.. So what would people suggest? This or the Bluetooth Mate Silver?

    Can the non HID version of silver be turned into HID or used as HID through a firmware change/update?

    • Info about firmware here: http://www.rovingnetworks.com/Current_Firmware

      1. Roving network says firmware cannot be flashed after factory.

      2. This HID profile firmware can switch between SPP and HID, while the other firmware doesn’t have the HID profile firmware, and So you’re getting more feature for this firmware.

      3. If you want to make HID devices, this would be the one.

  • I’ve noticed there are a number of iPhone apps for controlling Arduino based devices for movement (cars, bots, etc.) Will this work with any of them?

  • can we flash this back to non -HID I bought this and found out that the HID is not what I needed for arduino to receive serial commands from computer. This is more of a arduino sends serial commands to computer. That is what I have read so far. As far as receiving cmds I have tried everything except a small sacrifice to get it to work both ways.

    • Section 1.6 of the HID Users Manual (above) shows how to switch between HID and SPP.

      • Can anybody tell me how to get spp back on this thing on xp or windows 7. It connects to my pc as a keyboard and I cannot associate a COM port with it, so I cannot send any commands. I am working with a PIC16f690, have +5V power supply for the module and my PC with inbuilt bluetooth running win 7

  • What’s with the users manual pdf? It is all full of black bars where text should be when using OS X “Preview” program as a pdf viewer. Totally useless.
    Can this unit be set up for “force feedback” HID applications?

    • am also interested to know if there is a protocol for sending TO the bluetooth modem as an HID device? is this possible?

  • Is it able to pair with iOS devices?

    • The manual references some iOS specific functionality regarding hiding and showing the virtual keyboard, so I think it’s safe to assume that yes, it would.


Related Products