Bluetooth SMD Module - RN-42-HID

This is the same Roving Networks Bluetooth module that you already know and love, but it comes firmware-configured for the HID protocol. 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 RN-42 is perfect for short range, battery powered applications. The RN-42 uses only 26uA in sleep mode while still being discoverable and connectable. Multiple user configurable power modes allow the user to dial in the lowest power profile for a given application.The RN-42 is even FCC and Bluetooth SIG certified making it a complete embedded Bluetooth solution.


  • Fully qualified Bluetooth module
  • FCC Certified
  • Over air data rate of 721kbps to 2.0Mbps
  • Low power sleep mode
  • 3.3V operation
  • Status pin
  • Bluetooth Technology v2.0 compatible
  • Class 2 power output

Bluetooth SMD Module - RN-42-HID Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

3 Soldering

Skill Level: Competent - You will encounter surface mount components and basic SMD soldering techniques are required.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


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.

  • Jeff Rowberg / about 13 years ago / 4

    I'm really glad to see a HID BT module finally for sale! It's also nice that you can (apparently) use UART commands to swap back and forth between HID and SPP profiles, depending on your needs.
    I'm curious though, why not use the Bluegiga WT12 instead?
    WT12 Manufacturer Page
    It's absolutely awesome for microcontrollers, has ample free documentation, and has great user-upgradable (free) iWRAP firmware that can do all kinds of profiles, including HID, simultaneously. The company has great support and customer service, and you can buy the modules in small quantities easily from Mouser or SemiconductorStore.

    • Sleepwalker3 / about 11 years ago / 1

      I don't see anywhere in the manufacturers info where it says the WT12 will do HID, though the WT32 does - am I missing something?

      • Jeff Rowberg / about 11 years ago / 1

        I think they may have changed their page structure a bit. However, the WT12 page says this:

        • Up to 14 supported Bluetooth profiles in iWRAP firmware

        ...which links to this page. The profiles supported out of the box by the iWRAP5 firmware running on the WT12 are these:

        • Serial Port Profile (SPP): DevA and DevB
        • Bluetooth Health Device Profile (HDP): Sink and source modes
        • Dial-up Networking Profile (DUN): Terminal emulation
        • Object Push Profile (OPP): OPP server and client
        • File Transfer Profile (FTP): FTP client
        • Human Interface Device (HID): HID device
        • Hands-Free Profile (HFP) v1.6: HPF mode
        • Headset Profile v1.2 (HSP): HSP mode
        • Phone Book Access Profile (PBAP): PBAP client
        • Message Access Profile (MAP): Client
        • Device Identification Profile (DI)

        The WT32 (not WT12) additionally supports these:

        • Advanced Audio Distribution Profile (A2DP): Sink and source modes
        • A/V Remote Control Profile (AVRCP): AVRCP controller and target
        • Hands-Free Profile (HFP) v1.6: HFP-AG (audio gateway) mode
        • Headset Profile v1.2 (HSP): HSP-AG (audio gateway) mode

        ...and all WT* modules can support the Apple iAP profile with special firmware available free upon providing proof of MFI program membership. It isn't the cheapest module out there, admittedly, but you'll be hard-pressed to find one that can do as much.

    • Yeah, and they are $33 each, so that's over 50% more expensive than these.

      • Jeff Rowberg / about 13 years ago / 4

        They are more expensive, but you can get them for $25 from Mouser if you buy 100+ of them. Mouser's single-quantity price is only $26.66, actually.
        For the added functionality and open, supportive nature of Bluegiga, I know the premium would be worth it to some people (especially if it was on a breakout board).

        • melstav / about 13 years ago / 1

          I gotta say, I concur with Jeff.
          If all I want to do over the bluetooth link is serial data, (via SPP) I'll use an RN-41.
          If I just want to build a bluetooth HID device, this'll probably be the module I look at.
          But after reading about the WT12, I've just added another handful of projects to my todo list which would have been impossible without support for the other profiles.

        • Hum, we'll check into it.

          • TLAlexander / about 12 years ago / 1

   $22.50 from there QTY 100

  • Hobbytronics / about 11 years ago / 2

    What is the current firmware version on these modules? It would be nice if you showed this in the description so we know what we are getting as the firmware cannot be upgraded. The last few i bought (only a few months ago) had firmware version 6.03 whereas the latest firmware is 6.15. The previous release to 6.15 was version 6.11 and this was in 2011. There are features missing in the 6.03 release.

  • Member #459471 / about 10 years ago / 1

    If I soldered pins directly onto this, will it fit a solderless breadboard?

  • Member #423034 / about 11 years ago / 1

    Here is another library for this module with the arduino leonardo.. It does everything from switching between HID/SPP to HID reports .. If you've used the arduino leonardo USB HID then this library won't be strange for you.. Here is the link:

  • Scooter2084 / about 11 years ago / 1

    Wrote some example code and a RN-42 library for Arduino that helps with sending raw reports for keyboards.

  • Member #6408 / about 11 years ago / 1

    Is the USB interface Client or Host ??

  • Member #417058 / about 11 years ago / 1

    While in RadioShack recently, I noticed they had a product called SchmartBoard which allows hand soldering SMD. Does anyone here know if something like this would work with this part? ( -- their demo video does make me think I could do this.

  • satan's_soldier / about 11 years ago / 1

    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 -

    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?

  • satan's_soldier / about 11 years ago / 1

    Hi, Would we require anything at the laptop end like a dongle? Or would we have to install something on the laptop to be able to send keystrokes? My question is if I want to send UP, DOWN, LEFT, RIGHT to the laptop to play a game, how would I do it?

  • Member #394269 / about 11 years ago * / 1

    Kind of a newbie question -
    In order to create an HID device that would connect to my PC, I would like to connect one of these to a USB connector.
    How exactly do I do this?
    Which additional parts do I need?

  • Member #376723 / about 12 years ago / 1

    Hi. Is there a 'breakout' board available for this module? I might be misunderstanding what a breakout board is. I'm a newbie and would like to "plug this in" to a breadboard project I am working on.

    • jimblom / about 12 years ago / 1

      Kind of. We've got the BlueSMiRF HID, which breaks out the commonly used pins, and is breadboard friendly. It should have everything you'd need to interface with this module (power and serial communication pins).

      A true "breakout board" - something that breaks out every single pin on the module - we don't have.

      • Member #376723 / about 12 years ago / 1

        Thanks! I guess I can use these solderless headers to quickly connect the BlueSMiRF to my breadboard? I intend to connect this to an ATMega168P via the serial pins to send keystrokes to the device.

        • jimblom / about 12 years ago / 1

          The solderless headers work OK; worth a try. If you can though, I'd recommend soldering some male headers in those holes.

  • Member #374415 / about 12 years ago / 1

    Hi I was wondering if I can use this module with pic16f877A I want to design a pen mouse and am using this pic micro-controller

  • Member #316927 / about 12 years ago / 1

    Hello, I bought a RN-42 bluetooth module with HID enabled firmware from sparkfun:

    Everything works fine with the default configuration, I can discover, pair, and send data to my android 2.3 phone. The UART port also works and I can enter command mode using arduino with a 9600 baud setting. The problem comes when I want to use the SPP profile (S~,0 followed by R,1), I can discover the device but can't pair with it anymore.

    Hardware settings: VCC/GND connected to arduino 3.3 VCC RX,TX connected to arduino ports (5v) using a voltage divider with 20k and 10k resistors for the RX pin as suggested in the documentation pdf. PIO7 set to HIGH (to force 9600 baud rate) PIO8,PIO5,PIO2, connected to several leds.

    Firmware settings (command followed by output):

    ==> D: Settings BTA=000666450B21 BTName=aparato-0B21 Baudrt(SW4)=9600 Parity=None Mode =DTR Authen=0 Encryp=0 PinCod=14Bd= mA9BF

    ==> E: ADVANCED Settings SrvName= SPP SrvClass=0000 DevClass=1F00 InqWindw=0060 PagWindw=0060 CfgTimer=25 turU da= Rm= ya=

    ==> M: 8000

    ==> O: OTHER Settings Profile= SPP CfgChar= $ SniffEna=0 LowPower=0 TX Power=0 IOPorts= 0 IOValues=0 bM= lc0

    ==> GK: 0,0,0

    ==> G&: 80

    ==> V: Ver 6.03 HID 06/06/11 (c) Roving Networks

    ==> G~: 0

    ==> GZ: ERR

    ==> GX: 0

    ==> GU: (0) raw

    ==> GT: 255

    ==> GM: DTR

    ==> GI: 0060

    ==> GJ: 0060

    ==> GE: 0

    ==> GA: 0

    Of the above settings I tried without luck the following: - Change authentication to 1 (SA,1) - Change mode to slave (SM,0) - Change configuration timer to 60 (ST,60) - Changing the device name - PIO7 left open (112500 baud rate)

    I also tried to connect to the phone from the module doing an Inquiry scan and then using the C command but It doesn't work:

    ==> I: Inquiry, COD=0 Found 2 64A7694EB13F,HTC Desire,5A020C 48DCFBD21978,Nokia E5-00eva,5A020C Inquiry Done

    ==> C, 64A7694EB13F TRYING CONNECT failed

    After all of this I did a configuration reset with SF,1 command.

    LEDS: when in HID mode the status led blinks at 1Hz at power up, 10Hz in command mode, and gets disconnected when paired (the other led lights up). when in SPP mode it blinks at 2hz forever except in command mode (10hz). When I change the configuration timer to 60s it does blink at 2hz for 60 seconds and then 1Hz. The rx/tx led seems to work right.

    Thanks for your help.

  • Member #15009 / about 12 years ago / 1

    Is it possible to connect up the Bluetooth RN-42 USB_D- and USB_D+ pins to the Pro Micro's USB_D- and USB_D+ pins for communications?

  • Member #98966 / about 12 years ago / 1

    Does this chip support A2DP or Audio? I'm working on a wireless audio project and would love to know if this would work!

  • Member #291599 / about 12 years ago / 1

    Has anyone had any success communicating with these in SPP mode? I can put the module into SPP mode, but then connection via PC and Android devices fail.

    • Member #316927 / about 12 years ago / 1

      I can connect from windows 7 with a virtual COM port, but I can't do anything with android, I tried with two different phones, one is rooted , the other isn't, and neither works, you can see my data in another comment below. I already filled a report in roving networks tech support page.. I'm waiting for them to answer. This is really annoying, considering that I managed to get everything working, but not with Android+SPP which was my original goal.. I just bought the HID version to have more flexibility.

  • Member #316403 / about 12 years ago / 1

    Is this connectable for Android ?

  • Member #300112 / about 12 years ago / 1

    I purchased this module for a school project and have been having some trouble getting it connected. I can pair with it, but I havenn't had any success at getting it to enter command mode to adjust any of the settings. I have read the data sheets and I believe that I have everything configured appropriately. I have tried doing this both over the Bluetooth connection and through the UART interface sending ASCII codes through a terminal connection with the connection settings provided in the data sheet. I didn't have much hope for trying it through the Bluetooth connection since by default the module is not configured for SPP. Any information or assistance in this matter would be greatly appreciated.

  • Member #108480 / about 12 years ago / 1

    Hi, i m very interested in this product to use with arduino. Do you have any info on how to set it up with arduino ( wiring)? thank you

  • arvidtp / about 13 years ago / 1

    Hey this looks really cool, but i have a couple questions.

    1. Since these are a special firmware, if they go out of stock, will they be replaced? Thinking of making multiple copies of a project down the line.

    2. I can't figure out from the documentation if i can use any of the available HID profiles to get data from 10 analog sensors (8 or 10-bit) and 4 switches to a computer at once. The profiles they show in the docs don’t look capable of having that many independently labeled parameters. Has anyone done something like this? Thanks!

  • Member #266679 / about 13 years ago * / 1


  • rbogle / about 13 years ago * / 1

    Is it just my pdf reader, or is all the text in the hid users manual redacted?


    Nevermind, It must be my browser plug-in since the download version displays text just fine in Adobe Reader.

    • WimL / about 13 years ago / 1

      I've tried a couple of programs but the PDF doesn't display in any of them (most of the text is replaced by fuzzy black bars).
      Could someone who can read the file tell me what kind of protocol the module communicates with the host with? Does it take BT-HID messages as they'd be transmitted on the bluetooth channel, or is it restricted to some subset of the protocol?

      • Frank8 / about 13 years ago / 2

        The documentation seems a bit light. You program the device to be one of a set of predefined HID device types...
        0000 = Keyboard
        0001 = Game Pad
        0010 = Mouse
        0011 = COMBO
        0100 = JOYSTICK
        0101 = DIGITIZER
        0110 = SENSOR
        0111 = USE CFG
        1XXX = reserved
        The document displays the report format for Keyboard, Mouse and Joystick, as well as an additional Consumer report. The rest of the document describes an example of creating a keyboard.
        Eg The report for Joystick mode...
        0xFD | 6 | Not used | Buttons | X1 | Y1 | X2 | Y2
        No documentation on the other device types. Is "USE CFG" a custom user device and report descriptor? I'm guessing the device using the RN-42-HID talks to it via the serial port.

        • Member #109770 / about 11 years ago / 1

          FYI: The joystick format in Roving Networks HID User Manual is incorrect (as of revision 1.1r) The correct format is: 0xFD|6|X1|Y1|X2|Y2|Buttons|Buttons

          This means you can actually do up to 16 buttons instead of 8.

  • fireraisr / about 13 years ago / 1

    Way to go SF. I was looking for exactly this for a project 2 weeks ago, now I can order it. Can't wait to get started!

  • dragonet80 / about 13 years ago / 1

    Can you make a sample application with Arduino (or any other micro) related to robotics with this module?

    • We may have that by the time the breakout board is released. Think of it as turning your micro into a wireless HID. The applications are endless really.

  • JoshFranz / about 13 years ago / 1

    Can the regular RN-42 be configured to do this as well? Or is this a necessary buy?

    • Yes and no. Yes, it can, but they don't give out the firmware.
      So, the hardware is identical, but the firmware is not, and there's not real easy way to get the firmware changed, so yes, you would need to buy this module if that's what you wanted to use it for.

      • JoshFranz / about 13 years ago / 1

        That doesn't really make any sense. They advertise it as HID compliant... Do they only give it out to companies? I'd rather not pay a $5 premium on software.
        Is it just me, or is Roving Networks nowhere near open enough for hobbyist use? Their website lacks downloads, proper/complete documentation, etc.
        Thanks Sparkfun for making this option available!

        • We get the modules pre-programmed. If we had the firmware, we'd give it out :-) So, yes, it's a $5 premium for the HID version.

          • JoshFranz / about 13 years ago / 1

            I just contacted Roving Networks... They said they're planning on implementing field programming in the future, with no time frame. Shame.
            Oh well, thank you, Sparkfun, for being the only provider of this part I can find!

Customer Reviews

No reviews yet.