Query about Arduino BT as HID


I am trying to build an Arduino BT based device that will act as a combined keyboard and mouse. It occurs to me that there are two different ways of doing this:

  1. Have the Arduino communicate with the computer over a BT COM port and transmit the data in some arbitrary way. On the computer, implement a keyboard and mouse driver that reads the data from the COM port, interprets it and invokes the appropriate calls on the operating system.

  2. Implement a proper BT HID protocol on the Arduino so that any computer can detect it and recognise it as a BT keyboard and mouse. No special software will be required on the computer to use the thing.

I'm hoping some knowledgeable folk or folks on here can help me decide which is the best approach. I know absolutely nothing about how to go about implementing the BT HID protocol, nor what support for this is available from the hardware. If someone could point me in the right direction for how to do this, I would be grateful.

One other consideration is that at a later time I may want the device to transmit other data to the computer (e.g. GPS data) since this will not fit in with the HID stuff, perhaps this indicates that option 1 is my best bet -- unless it is possible to use the bluetooth module for both HID and serial comms at the same time. Does anyone know if this is possible?

Thanks for any help you can offer.


Hmmm... I've just heard from BlueGiga that HID will be supported in the next version of iWrap. I suppose that explains the lack of response to my query. It looks like I'll have no choice but to go for the first option. :-/