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.
Replaces:WRL-10253
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.
Skill Level: Competent - You will encounter surface mount components and basic SMD soldering techniques are required.
See all skill levels
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.
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
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
No reviews yet.
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.
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?
I think they may have changed their page structure a bit. However, the WT12 page says this:
...which links to this page. The profiles supported out of the box by the iWRAP5 firmware running on the WT12 are these:
The WT32 (not WT12) additionally supports these:
...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.
Thanks Jeff, I did see the stuff about the iWRAP, but the list of protocols for the WT12 itself didn't mention HID whereas the WT32 page did, so I figured it likely didn't do it. I'd be interested to know if anybody has actually used it for HID.
Yes indeed:
Excellent! Thanks for that, very informative. I was looking mostly for somebody else on another forum, but also for my own reference for future use, so I'm sure those links will come in handy :)
Yeah, and they are $33 each, so that's over 50% more expensive than these.
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).
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.
http://www.semiconductorstore.com/cart/pc/viewPrd.asp?idproduct=44689 $22.50 from there QTY 100
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.
If I soldered pins directly onto this, will it fit a solderless breadboard?
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: https://github.com/baselsw/BPLib
Wrote some example code and a RN-42 library for Arduino that helps with sending raw reports for keyboards. https://github.com/silverball
Is the USB interface Client or Host ??
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? (www.schmartboard.com) -- their demo video does make me think I could do this.
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?
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?
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?
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.
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.
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.
The solderless headers work OK; worth a try. If you can though, I'd recommend soldering some male headers in those holes.
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
Hello, I bought a RN-42 bluetooth module with HID enabled firmware from sparkfun: http://www.sparkfun.com/products/10823
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.
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?
Does this chip support A2DP or Audio? I'm working on a wireless audio project and would love to know if this would work!
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.
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.
Is this connectable for Android ?
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.
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
Hey this looks really cool, but i have a couple questions.
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.
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!
deleted
Is it just my pdf reader, or is all the text in the hid users manual redacted?
Edit
Nevermind, It must be my browser plug-in since the download version displays text just fine in Adobe Reader.
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?
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.
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.
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!
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.
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.
...What?
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.
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!