I've got a BlueSMIRF Silver (RN-42) Bluetooth module. I am trying to create a basic keyboard I can play with on an iPad Air.

At the moment barely manage to get the module to pair with OSX but only through using Bluetooth Setup Assistant and using "Passcode Options...use a specific code".

With this option, the module pairs, but the connection resets about every 5 seconds.

On iPad it tries to use a generate number really fast and fails straight away, being unable to connect.

I noticed there is a BlueSMIRF HID version, but from what I can tell, the hardware is the same, just the firmware is different. I've gone through the whole Bluetooth Data Module Command Reference & Advanced Information User’s Guide(pdf link) manual and from what I can gather, even though I have Silver firmware burned onto my module, I should be able to set and use the HID profile (from the default SPP):

Roving Networks modules shipped with firmware version 6.11 and higher support the HID profile. You do not need special firmware if your module is running firmware 6.11 or higher.

and my module reports version as:

Ver 6.15 04/26/2013
(c) Roving Networks

I've also gone through the Bluetooth HID Profile(pdf link) guide from Roving Networks, but the same information is present in Chapter 5 of the advanced user's guide mentioned above.

I've setup the following settings (with commands used):

  • HID Profile (S~,6)
  • Device discovery and pairing is set to automatic, without using GPIO6(SM,6)
  • HID Flag is set to Keyboard (SH,0000)
  • Authentication is set to open (SA,0)

I've also tried the inquiry scan(SI,0800) and page scan(SJ,0800) windows to maximum in the hope it would increase the odds of successful pairing and made sure I rebooted the module and checked the settings again.

I have used the same module with the SPP profile just fine, but I'm still fairly new to Bluetooth and this is the first time I try to use the HID profile.

How can I use the BlueSMIRF Silver as a basic Bluetooth Keyboard for an iPad Air ?

3 Answers 3


I should be able to set and use the HID profile (from the default SPP)

Unfortunately, your assumption is incorrect. From the same documentation you quoted, the previous sentence says:

To use Roving Networks’ Bluetooth HID profile, you must use a special build of firmware, version 6.03 or later.

Poorly phrased, this does mean that you need to have two things:

  1. A special HID firmware
  2. Version 6.03 or later

Your BlueSmirf Silver only complies with the second condition; it does not have the special HID firmware (also note that the Rovnix command reference does not address a specific variant of the BlueSmirf, but speaks generally about all of the variants).

The SPP protocol (Serial Port Profile) is used for emulating a serial cable, and functions as a substitute for the physical RS-232 connection, but cannot stack pure HID profile on top of it. In order for you do talk HID, you will need the HID firmware.

As a side note, the HID version comes with SPP and you can switch between the two modes interchangeably, I have been using the HID version for a while now and it works fine (including the pairing with iOS).

Another misfortune is that it does not appear that Roving Networks officially support any re-flashing of the BlueSmirf firmware, so unless you are willing to reverse the hardware, this is off the table as well.

  • 1
    Thanks Omer, very helpful(+1). I thought that I can get away just because the firmware is version 6.15, which is greater than 6.11 although I don't have the HID firmware. I found a blog post explaining how to capture and rewrite firmware, but I'm not experienced enough to risk it. I'm returning the Silver and getting an HID replacement (same price, same hardware, different firmware) Commented Apr 2, 2015 at 11:49
  • Happy to hear. Can you please post the link? might help others.
    – Omer
    Commented Apr 2, 2015 at 13:08
  • No worries, here what I found on Byron's Blog on flashing a new firmware and I got there from this post. I haven't tried this myself though, but it looks good Commented Apr 2, 2015 at 13:32

In the comments on SparkFun's product page for RN-42, gskelly indicates there is a flag in the v6.15 firmware that allows you to switch back and forth easily:

Actually, since this includes the v6.15 firmware, you don’t need to re-flash the module to switch between HID and SPP. It can now be done using AT commands as follows:

S~,6    // Enable HID on reboot
R,1     // Reboot
S~,0    // Enable SPP on reboot
R,1     // Reboot
  • I will try this again when I get my hands on another module. I do clearly remember trying the HID flag (S~,6) as I mentioned in question and it didn't work in my case. Commented Dec 6, 2015 at 10:35
  • I would be interested to know if it works. I found your question and this answer while I was looking for someone else, so I thought I'd try to connect the dots.
    – Zak
    Commented Dec 7, 2015 at 3:57

I know I am late to the party but for others searching this topic:

"S~,6" command does work for switching to HID profile but it requires the reboot command "R,1" otherwise it won't take.

I send these commands from the microcontroller to RN42 whilst the RN42 is in command mode, just to be clear.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.