Would like to use IOIO as a bluetooth connected HID keyboard for my Android device.

39 views
Skip to first unread message

st2000

unread,
Dec 16, 2014, 2:44:28 PM12/16/14
to ioio-...@googlegroups.com
Hi,

I have a keyboard with a proprietary serial output.  I would like to interpret that to normal keyboard codes and further send that by Bluetooth to an Android device.  The IOIO board has everything I need (I'm using the adafruit.com IOIO Mint).  But I do not know if the IOIO embedded software running on the PIC can do this.

First, I think the IOIO device is normally a USB Host.  For a HID Keyboard, the IOIO needs to run as a USB Device.  Further, I'm not sure if the Bluetooth feature needs to be modified or if I can treat the Bluetooth feature as a physical container and just think of it as a pipe to put USB HID data through.

-thanks

Ytai Ben-Tsvi

unread,
Dec 16, 2014, 11:39:31 PM12/16/14
to ioio-...@googlegroups.com
If you want the IOIO to pretend to be a Bluetooth keyboard, it does not need to act as a USB device, but rather as a USB host (hosting a Bluetooth dongle). Over Bluetooth, it will act as a HID device. The current firmware doesn't support this profile, but I don't see any reason why this shouldn't be possible if you're willing to spend the time and learn how this is done.
Your final firmware is going to be very different from the stock firmware, possibly reusing the existing USB and Bluetooth stack (and maybe the UART driver).

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To post to this group, send email to ioio-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

st2000

unread,
Apr 25, 2015, 3:42:13 PM4/25/15
to ioio-...@googlegroups.com
I think I understand.  You are saying the IOIO board will have to continue to be a USB host to the Bluetooth dongle.  But inside the Bluetooth layer I might be able to add a USB/HID-Keyboard Device. I am thinking there may already exists a Microchip example of a USB/HID Keyboard to do this!

The tricky part then is to understand how the USB/HID-Keyboard Device is "put into" the Bluetooth layer.  I think.  From what I have read here:
https://developer.bluetooth.org/TechnologyOverview/Pages/HID.aspx
...I need to use the L2CAP Bluetooth profile.  This is supported (I think) in the btstack project used by IOIO.

So, what is the current Bluetooth protocol used for the IOIO code to talk to the Android?


-thanks

Ytai Ben-Tsvi

unread,
Apr 27, 2015, 12:41:07 PM4/27/15
to ioio-...@googlegroups.com
This IOIO is currently using the SPP (serial) protocol.
This is the relevant part (the piece of IOIO firmware that interacts with btstack):
Reply all
Reply to author
Forward
0 new messages