I want to hack a device which connects via USB, and plug a bluetooth USB dongle to the end of the USB cable (using a female to female adapter), and then connect to that device from another USB bluetooth dongle connected to my computer.

How can I do this? It is straightforward? I don’t want to spend $30 on parts before I know how to do this.

Also I think another concern is that the USB cable is providing power to the device. So I think that means I would also have to hack it for power.

I have created this diagram in Photoshop to illustrate my intent:


Note: it won't be a USB mouse, as that would be pointless because there are already wireless mice in existence. The mouse is displayed for illustrative purposes.

Think for example, PS3 controller. That works, and in fact I was able to get it working with my laptop, over Bluetooth.

I just want to know HOW to make it work.


Basically, this is what I need:

  • Wireless transmitter (Bluetooth dongle)
  • A microcontroller
  • Internal battery
  • Wireless receiver module (Another Bluetooth dongle)

So now I just need someone to help with the specifics.

  • 1
    Almost 2 years later (WOW!!!) I still think it would be cool to do this. Too bad no one came up with an answer yet. – superuser Apr 6 '14 at 4:50
  • 7 years later and I still want to do this. I found other ways around it (long usb extension cord, etc) but turning a wired usb device wireless would be amazingly useful. – superuser Feb 14 '19 at 2:07
  • and it's 2019 and all I found is YHK-80M module. Too bad, you have to mod your mouse. – Nullstr1ng Jul 21 '19 at 23:13

Well, this answer might be 9 months late, but in case anyone else wants to do the same thing.

Check out the hidclient project (Virtual Bluetooth® keyboard and mouse) by A. Hoffmeister.

I haven’t tried it, but you should be able to take a Raspberry Pi, plug in a Bluetooth dongle, run this software and now should be all set to retransmit USB HID devices.

However, I think this is limited to keyboard and mice HID profiles.

If you have USB device that impliments some other profile, you would have to modify the code to handle that profile. It looks like he includes the source code, so you should be all set.

| improve this answer | |

USB peripherals do not implement USB host functionality. Therefore, the only possible consequence of this exact setup is that nothing will happen.

Think about it this way: bluetooth isn't wireless USB. It is a protocol of its own. There isn't any bluetooth profile for passing USB through, and the mouse (or whatever) doesn't implement any bluetooth profile. What you are missing from this setup is a component which unwraps the HID protocol data from USB, wraps it in the bluetooth protocol using the HID profile (which is similar to what a PS3 controller transmits), and does the same in reverse on the other end. USB bluetooth adapters will do the HID unwrapping for the OS, and sometimes encapsulate it in a virtual USB, but they won't do the encoding.

To make a thing like that happen, you would need to create a device (I know of nothing currently produced that does this) to act as a USB host adapter, extract the HID protocol data, re-encode it in bluetooth, and transmit it.

If the device isn't a HID (like a keyboard or mouse), this becomes a lot more complicated. For instance, there are a few bluetooth audio protocols, but none of them correspond directly to how you would transmit audio over USB. It is similar for printers. You could probably leverage the HCRP profile to implement a generic transport.

| improve this answer | |
  • that's why we need a controller board. Thin about it: if a PS3 controller or cell phone can be a host, then so can any other device. – superuser Jul 7 '12 at 16:04
  • Here, take a look at this. I found someone who did something similar and gave detailed instructions. This guy did it with an NES and SNES controller. ppl-pilot.com/SnesHack/index.htm and the assembly for that project: ppl-pilot.com/SnesHack/nes_asm.htm – superuser Jul 7 '12 at 16:08
  • 1
    Yeah, you can do that with a PIC. Using USB and bluetooth instead of PS/2 and an arbitrary special-purpose radio protocol would complicate your PIC immensely. – Falcon Momot Jul 7 '12 at 16:11
  • Yes, well I don't need all that that is complicating things, as I am not connecting a device to Wii, just a laptop. I suppose the main things I need are the PIC and battery. – superuser Jul 7 '12 at 16:22
  • Ok so let's say I want to connect an NES controller to PC. Wirelessly. Also let's say I was using a USB version of the NES controller (they are available on ebay). This would eliminate any difficulties regarding converting the old technology of Nintendo. All I'd need to do is convert the USB to wireless and give the controller a power source, such as ipod mini battery used in the example at the link. – superuser Jul 7 '12 at 16:23

I don't think its that simple - USB host and guest modes for usb are different, the 'device' would need drivers for the usb device if it supported host mode, and from what you're saying the device in question gets power from usb, which means its a guest type device.

It is not workable in any shape and form, without quite a bit of electronic engineering. A PS3 controller is designed to communicate over bluetooth as a HID device by design. It probably has a BT chip and embedded controller designed specifically for the task. You are unlikely to get a arbitrary device to work the same way.

The closest thing to what you're thinking of MIGHT be wireless usb, with a WUSB hub and a WUSB host adaptor

EDIT: Ok, i'll bite. Throw in a raspberry pi, gooseberry or other SBC between the device and the bt hub. Done. Its the simplest way to do it.

| improve this answer | |
  • I have added a diagram to illustrate my purpose. – superuser Jul 7 '12 at 15:02
  • I still think it will not work, unless your USB device either did OTG or host mode and had a full bluetooth stack. – Journeyman Geek Jul 7 '12 at 15:03
  • It WILL work. I want to know HOW to make it work. You're saying it won't work plug-and-play. Well I want to know HOW to make it work. I already knew that it won't just plug-and-play. I want to know how to make it work. Think for example, PS3 controller. That works, and in fact I was able to get it working with my laptop, over bluetooth. – superuser Jul 7 '12 at 15:05
  • It won't work short of the device being able to act as a USB host, or a lot of hard, clever embedded systems work - either building the BT chip straight into the device (maybe with a bridge chip of some sort) or having a external chip to talk to either side. What you've suggested has absolutely NO chance of working otherwise. I've suggested a solution that does most of what you want (granted its not a popular solution). Your PS3 controller already has the BT chip and necessary logic built in. You want to do the same with an arbitrary device. – Journeyman Geek Jul 7 '12 at 15:11
  • 2
    See, i made ONE smart alec comment, which i chose to delete when i reread it. I just keep seeing it has to work with no real obvious understanding of the issue. One does not simply add a chip into a system and expect it to work. IQ aside, what do you know about microcontrollers, USB protocols and bluetooth chips? Do you have any idea of how and where to add these componenets or to glue them together? Happen to have an EE degree, preferably from somewhere like MIT ? If the answers are no, chances are its going to be VERY hard. If you succeed, more power to you. – Journeyman Geek Jul 7 '12 at 15:49

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